6

我正在使用 PsExec 对网络上的计算机进行远程碎片整理。这在我的 c# 代码中运行良好,但因为它还执行许多其他任务并且我希望它连续运行,所以我已将其转换为 Windows 服务。

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

这是我设置 PsExec 争论的那一行...

psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula -s defrag.exe " + volume + " -f";

我也试过...

psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula defrag.exe " + volume + " -f";
psexec.StartInfo.Arguments = @" \\" + machine + "/accepteula defrag.exe " + volume + "-u myuser -p mypass -f";

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

4

1 回答 1

1

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

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

我们从 C:\WINDOWS 中删除了 exe,并在提升的命令提示符下运行“sc delete PsExec”以摆脱服务。

于 2019-10-11T18:27:58.257 回答