【问题标题】:Manipulate Windows Services with .NET / C# like Powershell使用 .NET / C#(如 Powershell)操作 Windows 服务
【发布时间】:2014-04-21 19:42:37
【问题描述】:

.NET 中的哪个库允许您从 .NET 停止、卸载、取消注册、安装和启动 Windows 服务?我正在使用 .NET 4/4.5。

Powershell 的 get-service 在幕后调用了什么?如何从 .NET 访问相同的对象/API?

【问题讨论】:

    标签: c# .net powershell windows-services


    【解决方案1】:

    您可以使用ServiceController 来完成大部分操作(开始、停止、暂停等)。它要求您添加ServiceProcess.dll。但它不能做所有事情,所以我使用命令提示符调用,如sc create

    此处的示例:https://stackoverflow.com/a/21187278/885318

    【讨论】:

      【解决方案2】:

      您可以使用ServiceController-class 操作现有服务。要创建服务,您需要使用使用 P/Invoke 的本机方法。见CreateService (advapi32)DeleteService (advapi32):

      PowerShell cmdlet 就是这样做的。

      您可以在 C# here 中找到使用 CreateServiceDeleteService 的示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 2015-01-19
        • 2012-04-01
        • 1970-01-01
        • 2012-01-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多