我只是试图在远程机器上打开计算器,以便在编写更大的脚本之前测试连接。我还不是 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 通过私人和域连接上的防火墙。