【问题标题】:Using PsExec in a Windows Service在 Windows 服务中使用 PsExec
【发布时间】:2013-01-03 14:27:34
【问题描述】:

我使用 C# 创建了一个 Windows 服务,它为我执行变体网络维护任务。其中一项任务是远程对机器进行碎片整理,对于我的一些旧机器,我发现唯一的方法是使用 psexec 和 defrag.exe。当我简单地运行我的 C# 代码时,该代码运行良好,但是当我将其转换为 Windows 服务时,它使用 Win32_Volume 表进行碎片整理,但在尝试使用 PsExec 对 XP 机器进行碎片整理时似乎挂断了。

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

谢谢。

【问题讨论】:

    标签: c# windows-services psexec


    【解决方案1】:

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

    你可以通过添加参数来抑制它

    /accepteula
    

    这可能是你的问题,但显然我不能确定!

    【讨论】:

    • 我仍然有这个问题,我现在在代码中走得更远,但似乎在使用 PsExec 的远程计算机上运行 defrag.exe 存在某种权限问题。我尝试输入具有足够权限的帐户的用户名和密码,但似乎没有帮助。有什么想法吗??
    • 看来我的持续问题与 PsExec 的关系不大,而与 Windows 服务的关系更大,因为该任务在我的 C# 代码中运行,但在我的 Windows 服务...我正在使用在相关机器上具有管理员权限的帐户运行该进程...有什么想法吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多