在我的工作场所,我们管理医院重症监护电脑(Windows 7桌面客户端),这些电脑意味着近乎永久地运行和运行特定程序。为此,我们开发了一些每5分钟运行一次的PowerShell脚本,并在PC下线或我们需要崩溃的进程/程序时提醒我们。
我们的程序监控脚本依赖于powershell cmdlet" get-process"由管理员凭证的帐户远程运行。该脚本适用于我们所有的PC,除了一个,我们还无法确定导致失败的原因。
最基本的,命令看起来像
get-process -computername [hostname]
当指向我们的问题PC时,我们会收到错误
Get-Process : Couldn't connect to remote machine
我们的研究表明,这可能是由权限,防火墙或远程注册服务问题引起的。我们已经三次检查并在这台PC和 监控帐户具有管理员权限,没有防火墙处于活动状态,并且远程注册表服务已启用并设置为自动启动。代码在本地计算机上运行时有效,但在远程运行时则无效。
类似的powershell cmdlet远程运行,例如" get-service",没有问题。如上所述" get-process"在我们的其他PC上成功运行。任何洞察这个奇怪的问题将不胜感激。
需要注意的一点是,响应其他类似问题而提供的Invoke-Command解决方法在此PC或我们的任何其他PC上都不起作用。
答案 0 :(得分:0)
您是否尝试过验证所有RPC服务都已启动?
1.Remote Procedure Call(RPC)
2.Remote Procecure Call(RPC) Locator
3.Remote Registry (You said it's up though)