Я не могу понять, как получить числа, которые не отвечали при использовании -asjob
, мог ли кто-нибудь посоветовать?Powershell: обработка ошибок при использовании параметра -asjob
try{
gwmi "Win32_OperatingSystem" -ComputerName $ordis -asjob
$resu=get-job | ? {$_.psjobtypename -eq "wmijob" } |wait-job |receive-job
}
catch{"error"}
$resu | select PSCOMPUTERNAME, @{name="lastboottime";expression={$_.converttodatetime($_.lastbootuptime)}} |sort lastboottime |ft
remove-job * -force
некоторые хосты не удалось из-за ошибки, но я не знаю, те, которым
Le Serveur RPC n'est па Disponible. (Исключение от HRESULT: 0x800706BA)
+ CategoryInfo: InvalidResult: (:) [], COMException
+ FullyQualifiedErrorId: JobStateFailed
Для таких скриптов я использую CSV-файл с именами компьютеров. 'Import-CSV' дает сборку для итерации. Я сохраняю результаты запроса в другой коллекции, а затем обновляю поля CSV (для ответивших хостов) и сохраняю их с помощью Export-CSV. –
@AlexanderObersht вы не пользуетесь преимуществами параллельной обработки, как это –
Я использую параллельную обработку запросов. Обработка результатов занимает незначительное время. Если вам интересно, я могу опубликовать свой код. –