为什么 psExec 无限期挂起并且没有给出任何错误?

为什么 psExec 无限期挂起并且没有给出任何错误?

我只是试图在远程机器上打开计算器,以便在编写更大的脚本之前测试连接。我还不是 psexec 的专业人士,但我从未见过发生了什么,也无法在任何地方找到这个问题的答案。

我正在尝试我所知道的每个版本的简单命令:psexec \\target calc

我的计算机运行的是 Windows 7 Enterprise。目标运行的是 Windows 2008 R2。

当我按下“Enter”键时,命令似乎按预期运行。我收到两条消息“正在连接...”和“正在启动 psexec...”,但之后什么也没发生。计算器没有在目标计算机上启动,psexesvc 没有启动,我没有收到任何错误或消息,也没有在运行命令的 cmd 窗口中重新获得控制权。我不得不关闭它。

以下是我尝试过的不同组合:

  • -i开关-d
  • -u-p使用我的普通帐户和管理员帐户
  • -accepteula,,/accepteula并使用accepteula两次这个帖子
  • 在目标机器上运行 psExec,手动接受首次使用时弹出的许可协议
  • 检查 Admin$ 共享是否已启用
  • 按照 karlchen 的大部分指示这个帖子并成功运行了建议的三行代码。
  • 搜索 Sysinternals 论坛上的 psExec FAQ 中所有看似相关的文章。
  • 执行除计算器之外的其他程序,例如cmd我放在目标桌面上的简单批处理文件
  • 将 cmd 窗口打开几个小时,只是为了看看它是否需要时间
  • 在其他目标机器上运行 psExec(成功),看看我的电脑是否有问题
  • psList 和 psService 在目标计算机上工作
  • 以管理员身份运行 cmd
  • 可以在具有相同防病毒设置的其他服务器上成功运行此命令
  • 尝试了给出的两个答案中建议的所有内容

这些方法都没有改变结果,也没有帮助我找到改变结果的方法。我还能尝试什么来解决这个问题?

答案1

如果目标计算机上启用了 UAC,则可能需要将其关闭。我刚刚在一台已禁用 UAC 的目标计算机上尝试了此操作,虽然结果有些奇怪,但操作成功了。

答案2

我构建了一个使用相同问题的应用程序PSExec。以下是我为确保其正常运行所采取的步骤:

可以尝试的事情:

  • 如果任何一台机器都装有防病毒软件,这可能会导致它挂起。

  • 确保服务器/共享的登录详细信息正确,因为这也可能会导致其挂起。

  • 确保您尝试连接的机器可访问(您可以在网络中看到它)。

答案3

防火墙可能是导致此问题的原因。尝试在目标计算机的命令提示符下运行此命令。

netsh AdvFirewall firewall add rule name=PSExec dir=In action=allow protocol=TCP localport=RPC profile=domain,private program=""%WinDir%\system32\services.exe"" service=any

这将允许 PSExec 通过私人和域连接上的防火墙。

相关内容