相关疑难解决方法(0)

如何以编程方式停止/启动远程盒子上的Windows服务?

我想编写一个控制台或Click Once WinForms应用程序,它将以编程方式停止和/或启动远程机器上的Windows服务.

这两个框都运行.NET 3.5 - 有哪些.NET API可用于实现此目的?

windows-services

28
推荐指数
3
解决办法
5万
查看次数

Windows 7中的ServiceController权限

我有一个由服务和可执行文件组成的应用程序.本质上,它是一个表单应用程序,负责在特定情况下启动和停止服务.

在Windows XP上,应用程序使用以下代码管理此项:

ServiceController controller = new ServiceController();
controller.MachineName = ".";
controller.ServiceName = "XXXXXXXXXX";
controller.Stop();
controller.WaitForStatus(ServiceControllerStatus.Stopped, new TimeSpan(0, 0, 10));
controller.Start();
Run Code Online (Sandbox Code Playgroud)

但是在Windows 7上,即使我以管理员身份启动了应用程序,我也会遇到以下异常:

System.InvalidOperationException: Cannot open XXXXXXXXXXXXX service on computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied
   --- End of inner exception stack trace ---
   at System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess)
   at System.ServiceProcess.ServiceController.Start(String[] args)
   at System.ServiceProcess.ServiceController.Start()
Run Code Online (Sandbox Code Playgroud)

有什么我可以通过编程方式解决这个问题吗?

.net c# servicecontroller

12
推荐指数
1
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

servicecontroller ×1

windows-services ×1