BOA_KAA
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору [string[]]$links = ` @( '192.168.0.101' '192.168.56.100' ) foreach ($link in $links) { # Т.к. команды Test-NetConnection и Invoke-WebRequest получились небольшими # с маленьким числом параметров, то читаются они легко и можно сразу # обратиться к нужному свойству. Но, как только они будут больше, то такая # запись станет быдло-кодом, что неприемлемо и нужно будет писать иначе. # Например так: # [object]$ping = Test-NetConnection -Computer $link ` # -ErrorAction SilentlyContinue # [object]$request = Invoke-WebRequest -Uri $link -DisableKeepAlive ` # -ErrorAction SilentlyContinue # Вместо Test-NetConnection можно использовать командлет Test-Connection . # С параметром -Quiet он сразу вернёт логическое значение. # Например: # Test-Connection -Count 1 -TargetName 192.168.56.100 -Quiet [bool]$pingState = (Test-NetConnection -Computer $link).PingSucceeded if ($pingState) { [bool]$requestState = (Invoke-WebRequest -Uri $link -DisableKeepAlive).StatusCode if($requestState) { Write-Host "Server ip:$link up. Website available. It's all right." } else { Write-Host "Server ip:$link up. Website unavailable. Something wrong." } } else { Write-Host "Server ip:$link down. Website unavailable. It's all over, man." } } | Всего записей: 310 | Зарегистр. 01-12-2004 | Отправлено: 11:51 20-01-2023 | Исправлено: BOA_KAA, 12:27 20-01-2023 |
|