我们有几台使用psexec运行实用程序的Windows 2003服务器。 最近,它停止了其中一个工作。 对于那些不熟悉它的人来说,这个过程通常是如何工作的:
PSEXEC:
\\target\admin$ (通常为C:\ WINDOWS) 在受影响的服务器上,我已经validation了除步骤3以外的所有事情。无论我要求psexec运行哪个程序(cmd,ping,ipconfig等),它都会给出消息“ 命令在目标上退出,错误代码为128。 “
这已经在sysinternals论坛上看过几次了:
有些人声称这个错误是被调用的命令返回的,但是我认为这只是它试图获得退出代码的一个人工产物。 net helpmsg 128给出了“没有任何subprocess需要等待”,所以这使得我认为它没有等待孩子,因为没有孩subprocess。
我已经validation过,服务实际上是正确启动的,对所请求的程序的权限在工作服务器和非工作服务器之间是相同的,并且psexec在从受影响的服务器以本地方式运行时工作(例如,使用psexec cmd而不是psexec \\target cmd )。
我看到的唯一确认的解决scheme是重新启动机器。 虽然这是一个生产服务器,但白天重启是一个select,因为它的主要工作负载是夜间批处理样式处理。 然而,我很犹豫重新启动,因为我真的想确定psexec问题的原因,现在psexec进程正在用于开发目的,所以没有生产影响,以阻止重新启动。