Я написал скрипт для получения OSVersion из списка серверов. Некоторые серверы не отвечают на команду "Get-WmiObject
".
Я хочу получить список всех имен хостов, где возникает эта ошибка.
Это дает мне список первых нескольких Серверов с этой ошибкой.
Когда первый Сервер отвечает без ошибок, сценарий останавливается.
Я хочу, чтобы скрипт ничего не делал и продолжал работать, когда Сервер не отправляет ошибку.
Кто-нибудь знает, как решить эту проблему.
Заранее спасибо.
Я попытался установить «-ErrorAction continue», но тогда весь скрипт не запустился.
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force
$arraylist_OSInfo = New-Object System.Collections.ArrayList
$file=Get-Content -Path "C:\Temp\PS-Skripte\server2.txt"
foreach ($Hostname in $file)
{
try
{
Get-WmiObject Win32_OperatingSystem -ComputerName $Hostname -ErrorAction Stop
}
catch [Exception]
{
if ($_.Exception.GetType().Name -eq "COMException")
{
echo "$Hostname - RPC Error" | Out-File -FilePath "C:\temp\PS-Skripte\RPCerror.log" -Append -encoding unicode
}
}
}
Я ожидаю получить список имен хостов со всех серверов, которые отправляют сообщение об ошибке:
"Get-WmiObject : Der RPC-Server ist nicht verfügbar. (Ausnahme von HRESULT: 0x800706BA)"
как ответ на командлет "Get-WmiObject"