iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: function Test { param ( [Parameter(Mandatory, ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Servers, # Если указан, оффлайн не возвращать, вернуть, первый же онлайн сервер, # дальше не проверять, выйти из функции. [switch] $FirstOnline ) process { $IsOnline = Test-Connection -ComputerName $_ -Count 1 -Quiet $result = [pscustomobject] @{ Server = $_ ; IsOnline = $IsOnline } if ($FirstOnline -and $IsOnline) { $result break } elseif (!$FirstOnline) { $result } } } # ничего не выводит.. # в дебаге работает правильно, видно, если точку на первом if поставить.. # $result есть, но не выводится, при попадани в if, break срабатывает "example10.com","bing.com","yandex.com","example10.com" | Test -FirstOnline |
|