Я пытаюсь использовать командлет GCI для получения информации на многих удаленных компьютерах, некоторые из которых иногда отключены или не отвечают. Есть ли способ указать свойство timeout для get-childitem, чтобы скрипт не зависал в течение 15-20 секунд каждый раз, когда попадает на не отвечающий компьютер?
Спасибо
Томек
Выполняйте свою работу в задании, затем ожидайте его, используя wait-job (который имеет аргумент времени ожидания):
$job = Start-Job {Sleep -seconds 60} $res = Wait-Job $job -timeout 5 if(-not $res) { write-Host "Timeout"}
Или оберните ваш gci в test-connection
if (test-connection $ server -quiet) {gci} else {"Не удалось подключиться к $ server"}