我想编写一个控制台或Click Once WinForms应用程序,它将以编程方式停止和/或启动远程机器上的Windows服务.
这两个框都运行.NET 3.5 - 有哪些.NET API可用于实现此目的?
gal*_*ets 42
在C#中:
var sc = new System.ServiceProcess.ServiceController("MyService", "MyRemoteMachine");
sc.Start();
sc.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Running);
sc.Stop();
sc.WaitForStatus(System.ServiceProcess.ServiceControllerStatus.Stopped);
Run Code Online (Sandbox Code Playgroud)
您也可以使用以下sc
命令从命令控制台执行此操作:
sc <server> start [service name]
sc <server> stop [service name]
Run Code Online (Sandbox Code Playgroud)
使用
sc <server> query | find "SERVICE_NAME"
Run Code Online (Sandbox Code Playgroud)
获取服务名称列表.
该选项<server>
具有表单\\ServerName
sc \\MyServer stop schedule
将停止Scheduler服务.
您需要具有管理远程控制台上的服务的权限.
正如Mehrdad所说,你也可以使用WMI.这两种方法都适用于启动和停止,但WMI需要更多编码,并且可以为您提供更多访问其他资源的权限
归档时间: |
|
查看次数: |
52802 次 |
最近记录: |