YuS 2
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору iNNOKENTIY21 Цитата: не, 100% - перебор, это уже не задача, а готовое решение Цитата: я про неё не знал просто и не только я | не то, чтобы не знал... не было необходимости, скорее... обычно бряками циклы останавливал, а здесь попробовал и не сработало, полез в документацию, а там фига с маслом... В общем, выбор, это хорошо, да. Можно флагом бряк запускать и необязательно глобальным (как выше в коде), а просто в begin его объявить... Код: function Test { param ( [Parameter(ValueFromPipeline)] [ValidateNotNullOrEmpty()] [string[]] $Servers = @("example10.com","google.com","bing.com","yandex.com"), [switch] $FirstOnline ) begin {$flag = $false} process { foreach ($serv in $Servers) { if($flag){break} $IsOnline = Test-Connection -ComputerName $serv -Count 1 -Quiet $var = [pscustomobject] @{ Server = $serv IsOnline = $IsOnline } if ($FirstOnline) { if ($IsOnline) { $flag = $true return $var } } else { $var } } } } $arr = "example10.com","bing.com","google.com" $arr | Test -FirstOnline #Test $arr -FirstOnline|ogv |
| Всего записей: 3218 | Зарегистр. 03-02-2009 | Отправлено: 19:03 06-02-2021 | Исправлено: YuS 2, 19:04 06-02-2021 |
|