我想在远程机器上执行一个bat文件,我尝试了WMI和PSEXEC。当我尝试运行下面的psexec命令时,我得到"没有进程在管道的另一端"错误。
C:Users>psexec \111.111.111.111 -u "sssuser1" -p "ss-12" "\111.111.111.111d$r.bat"
下面是整个输出:
PsExec v2.11 - Execute processes remotely
Copyright (C) 2001-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
Connecting to 111.111.111.111...
Starting PSEXESVC service on 111.111.111.111...
Connecting with PsExec service on 111.111.111.111...
Error reading public key length from PsExec services:
No process is on the other end of the pipe.
但是,下面的WMI命令工作正常。请帮助。
wmic /USER:"sssuser1" /PASSWORD:"ss-12" /NODE:111.111.111.111 process call create "D:r.bat"
尝试停止PSEXESVC服务。
pskill \HOSTNAME PSEXESVC
在您的情况下,您将运行:
pskill \111.111.111.111 -u "sssuser1" -p "ss-12" PSEXESVC
有同样的问题。
我已经找到了2种解决方法,如果你在生产中运行远程机器/服务器,这两种方法都是不可接受的。
第一个解决方法:重新启动机器。它解决了80%的问题。
第二个方法,在powershell中运行:
sc.exe stop PSEXESVC
Remove-Item –path 'C:WindowsPSEXESVC.exe'
Remove-Item -Path hklm:SYSTEMCurrentControlSetServicesPSEXESVC -Confirm:$false
然后重启。
我再运行一些PSEXEC命令后,问题又出现了。如果我找到解决办法,我会更新的。