C# 在Windows服务中使用PsExec

C# 在Windows服务中使用PsExec,c#,windows-services,psexec,C#,Windows Services,Psexec,我使用C#创建了一个Windows服务,它为我执行各种网络维护任务。其中一项任务是远程整理计算机碎片,对于我的一些旧盒子,我发现唯一的方法是使用psexec和defrag.exe。当我简单地运行我的C#代码时,代码工作正常,但是当我将其转换为Windows服务时,它会使用Win32#U卷表进行碎片整理,但当尝试使用PsExec对XP机器进行碎片整理时,它似乎挂断了 我想我的问题是,在Windows服务中使用PsExec是否存在已知错误?如果是这样的话,对于我可以使用的其他方法有什么建议吗 谢谢。

我使用C#创建了一个Windows服务,它为我执行各种网络维护任务。其中一项任务是远程整理计算机碎片,对于我的一些旧盒子,我发现唯一的方法是使用psexec和defrag.exe。当我简单地运行我的C#代码时,代码工作正常,但是当我将其转换为Windows服务时,它会使用Win32#U卷表进行碎片整理,但当尝试使用PsExec对XP机器进行碎片整理时,它似乎挂断了

我想我的问题是,在Windows服务中使用PsExec是否存在已知错误?如果是这样的话,对于我可以使用的其他方法有什么建议吗


谢谢。

psexec在第一次以给定用户身份运行时会发出一个软件许可协议对话框,因此如果该服务以其他用户身份运行,这可能是您的问题

可以通过添加参数来抑制这种情况

/accepteula

这可能是你的问题,虽然我不能肯定

psexec在第一次以给定用户身份运行时会发出一个软件许可协议对话框,因此如果该服务以其他用户身份运行,这可能是您的问题

可以通过添加参数来抑制这种情况

/accepteula

这可能是你的问题,虽然我不能肯定

我仍然对此有问题,我现在在代码方面取得了进展,但似乎在使用PsExec的远程计算机上运行defrag.exe时存在某种权限问题。我试着输入一个拥有足够权限的帐户的用户名和密码,但似乎没有帮助。有什么想法吗?看来我的持续问题与PsExec无关,而与Windows服务有关,因为任务在我的C代码中工作,但给我的退出代码是6(句柄无效)在我的windows服务中…我正在使用一个帐户运行该进程,该帐户在所讨论的机器上确实具有管理员权限…有什么想法吗?我仍然对此有问题,我现在在代码中取得了进一步的进展,但似乎在使用PsExec的远程机器上运行defrag.exe时存在某种权限问题。我试着输入一个拥有足够权限的帐户的用户名和密码,但似乎没有帮助。有什么想法吗?看来我的持续问题与PsExec无关,而更多的是与Windows服务有关,因为任务在我的C代码中工作,但在Windows服务中给我的退出代码为6(句柄无效)…我正在使用一个帐户运行该进程,该帐户在有问题的机器上具有管理员权限…有什么想法吗??