Проверить доступность серверов или нет.Необходимо выполнить цикл в течение 15 минут - PullRequest
0 голосов
/ 15 ноября 2018

Нужна идея для этого.

У меня есть сценарий, в котором мне нужно проверить, доступен ли сервер или нет, и если он достижим, тогда обновите значение в Excel как достижимое = Y, иначе достижимое по умолчанию = N.для которого я создаю работу и проверяю состояние

Test-Connection -ComputerName $sHost -Count 1 -AsJob
Get-Job $JobID | Select State

все работает нормально в цикле foreach.Теперь мне нужно держать этот цикл foreach внутри другого цикла и проверять максимум в течение 15 минут.Через 15 минут, когда у любого сервера достижимость = N, я должен игнорировать их и выполнять дальнейшие действия на серверах с достижимостью = Y

Нужна некоторая идея по этому вопросу, как построить для этой логики

1 Ответ

0 голосов
/ 15 ноября 2018

Цикл, который заканчивается через 15 минут, может выглядеть так:

$startTime = Get-Date
while($startTime -gt (Get-Date).AddMinutes(-15)){

    # Your Test-Connection loop
}

# Move on with your script...

Чтобы ваша Test-Connection работала с указанным выше циклом while, вы не можете использовать параметр -AsJob. В противном случае будет большое количество рабочих мест.

Редактировать на основе комментариев

Изменение:

$RebootTime = Get-Date -Format "dd-MM-yyyy_hh:mm:ss"

вверху вашего скрипта:

$startTime = Get-Date
$RebootTime = $startTime.ToString("dd-MM-yyyy_hh:mm:ss")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...