首页 > 解决方案 > “get-process”的远程执行失败,无法连接到远程机器

问题描述

在我的工作场所,我们管理着医院重症监护 PC(Windows 7 桌面客户端),这些 PC 旨在近乎永久地开启和运行特定程序。为此,我们开发了一些 powershell 脚本,它们每 5 分钟运行一次,并在 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。

标签: powershellwindows-7

解决方案


您是否尝试过验证所有 RPC 服务都已启动?

1.Remote Procedure Call(RPC)
2.Remote Procecure Call(RPC) Locator
3.Remote Registry (You said it's up though)

推荐阅读