Powershell - 调用远程WMI对象 - RPC错误HRESULT:0x800706BA(RPC服务器不可用)

时间:2009-06-16 07:54:17

标签: powershell wmi rpc remote-administration win32-process

我遇到了Get-WmiObject和使用这个对象的麻烦。

如果我正在连接远程计算机 - 这不是AD,而是在互联网上。

我正在使用凭据,我可以通过命令检索WMI类列表或对象(具体来说,我想使用Win32_Process):

$credential = Get-Credential
$class = Get-WmiObject -list -computer "xyz" -credential $credential | Where-Object {$_.Name -eq "Win32_Process" }
$object = Get-WmiObject -class Win32_Process -computer "xyz" -credential $credential

当我更改主机名或凭据时,我得到了“RPC不可用”或未经授权的访问错误。因此,我假设,RPC服务器和WMI对象的检索&班级工作。

但是当我找回它们时,我无法使用它们。无论如何尝试它(调用方法或Get-Member)都会引发这个错误:

"Server RPC není k dispozici. (Výjimka na základě hodnoty HRESULT: 0x800706BA)"
(It's a czech localization of: Server RPC is not available. (Exception based on the value of HRESULT: 0x800706BA)

我还没有找到任何其他类似错误的例子。我在Vista Ent上使用PowerShell 1.0。机。目标机器是Win2003 R2(产品服务器将是Win.Serv。2008 - 尚未测试)。

我很感激任何建议。谢谢。

1 个答案:

答案 0 :(得分:1)

  

我得到了“RPC不可用”或未经授权的访问错误。因此,我假设,RPC服务器和WMI对象的检索&班级工作。

不幸的是,这不是一个安全的假设。 如果您尝试通过WMI连接到不存在的计算机上的命名空间,例如foo(“\ foo \ root \ cimv2”),你会得到这个错误:

0x800706BA ("The RPC server is unavailable.")

另外:

  

我正在连接远程计算机 - 这不是AD,而是在互联网上。

请注意,互联网上的WMI很难开始工作。 即使您可以ping目标计算机,这并不意味着您将能够通过WMI连接到它。 DCOM使用一堆端口,防火墙,NAT路由器等将很乐意阻止。如果您的完全相同的呼叫适用于本地主机但不适用于互联网,那么您就遇到了问题。

如果您控制防火墙,则可以考虑限制DCOM使用的端口,然后打开这些端口。 如果您只是使用狂野的互联网,也许您可​​能想要设置一个VPN,我认为应该消除“互联网”问题?