在Windows Service中使用PsExec退出代码6

mgr*_*ier 5 windows-services psexec

我正在使用PsExec对网络上的计算机进行远程碎片整理。这在我的C#代码中可以很好地工作,但是由于它还完成了许多其他任务,并且希望它连续运行,因此我将其转换为Windows服务。

当代码到达PsExec部分时,它以代码6退出,这似乎意味着“句柄无效”。我尝试输入具有足够特权的用户名和密码但没有成功,我还尝试添加-s来使用系统帐户这也没有帮助。

这是我设定PsExec争论的地方...

psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula -s defrag.exe " + volume + " -f";
Run Code Online (Sandbox Code Playgroud)

我也尝试过...

psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula defrag.exe " + volume + " -f";
psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula defrag.exe " + volume + "-u myuser -p mypass -f";
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!!但是似乎没有什么可以解决我的问题。

Ben*_*zer 1

我知道这个已经开放很长时间了,但是您是否发现远程计算机上的 psexec 服务卡住了?

\n\n

我们发现 PsExec 服务条目仍在 Services 中,PsExeSvc 仍在 C:\\WINDOWS 文件夹中。

\n\n

我们从 C:\\WINDOWS 中删除了 exe,并从提升的命令提示符中运行 \xe2\x80\x9csc delete PsExec\xe2\x80\x9d 以摆脱服务。

\n