PSEXEC 无法在本地 运行:与 PsExec 服务建立通信时出错

PSEXEC Fails to run locally: Error establishing communication with PsExec service

当本地 运行 PSEXEC 时,我只在我域中的一台 Windows 8.1 机器上遇到这个问题。在我的域密码过期并被更改之前,运行 PSEXEC 在本地使用此命令工作。

\fs\storage\QA\Mason\psexec\PSExec.exe \support02 /accepteula -u build -p password -e -s \fs\storage\QA\Mason\psexec\Cambria_RI.bat

现在,它产生了这个错误:

Error establishing communication with PsExec service on SUPPORT02: The system cannot find the file specified.

EDIT1:似乎 运行 PSEXEC 在本地使用本地目标 (.bat) 文件修复了此问题。为什么我突然被限制只能使用本地文件?

EDIT2:执行与上面相同的命令但使用不同的目标机器也可以。

好的,经过一些尝试和错误我找到了解决方案,看起来我只需要提供更高级别 username/password,即目标机器上的管理员并且对映射网络具有域级别访问权限驱动器(.bat 文件所在的位置)。

针对此确切错误的一个已知解决方案是终止目标计算机上的任何流氓 psexecsvc.exe 进程。虽然这适用于远程呼叫者,但我怀疑它也可以解决本地问题。

如果 psexecsvc.exe 在使用 psexec 后仍然存在,则可能是出现了问题,例如应用程序崩溃或版本不匹配的同时远程执行。

需要注意的几件事是;

  • 清除旧的 psexecsvc 实例。
  • 确保您拥有最新版本的 pstools。
  • 确保您在所有计算机上使用相同版本的 psexec。
  • 使用消除过程找出哪些事件正在离开 psexecsvc 进程 运行。 psexecsvc.exe 应该会自动退出并从它在执行期间临时放置的 %windir% 中删除。

清理恶意副本:

  • 检查 %windir% 目录并确保其中没有恶意程序。
  • 在某些报告的案例中,psexecsvc 被错误地复制到 %%windir%\system32 目录。如果是这种情况并且它 继续发生,查看您的环境变量,用户配置文件和 证书。路径基于 "Admin$",应该是 %windir%.

如果一切都失败了的解决方法:

  • 想出一种方法来终止 psexecsvc.exe 进程作为清理的一部分。