错误处理0x800706BA-找不到RPC服务器

时间:2019-01-02 12:51:43

标签: powershell exception rpc

我已经编写了一个脚本来从服务器列表中获取OSVersion。某些服务器不响应“ 1 < a && a < 5”命令。
我想要出现此错误的所有主机名的列表。

这为我列出了出现此错误的前几台服务器。
当第一台服务器无错误响应时,脚本停止。

我希望脚本不执行任何操作,并在服务器未发送错误时继续执行。

有人知道如何解决这个问题。

谢谢。

我尝试设置“ -ErrorAction继续”,但是整个脚本没有运行。

Get-WmiObject

我希望从发送错误的所有服务器获取主机名列表:

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  
        }
    }
}

作为cmdlet“ Get-WmiObject”的答案

1 个答案:

答案 0 :(得分:0)

我已经稍微修改了您的代码

$hostnames = 'NoSuchmachine', 'DoesNotExist'

foreach ($hostname in $hostnames){

try {
  Get-WmiObject -Class win32_operatingsystem  -ComputerName $hostname  -ErrorAction Stop
}
catch {

if ($_.Exception.GetType().Name -eq "COMException") {
   out-file -FilePath c:\test\rpcError.txt -InputObject "$hostname - RPC Error" -Append -Encoding unicode

}
}

}

文件内容为

NoSuchmachine - RPC Error
DoesNotExist - RPC Error

我想你想要的是什么。