我正在尝试从server2上已部署的asp.net应用程序启动并停止server1上的Windows服务。
我正在使用以下代码启动它,但抛出了“拒绝访问”异常,因为我是非管理员用户:
string serviceName = System.Configuration.ConfigurationSettings.AppSettings["ServiceName"];
string machineName = System.Configuration.ConfigurationSettings.AppSettings["MachineName"];
System.ServiceProcess.ServiceController service = new System.ServiceProcess.ServiceController(serviceName, machineName);
if (service.Status == ServiceControllerStatus.Running)
{
return Json("Service is running.", JsonRequestBehavior.AllowGet);
}
TimeSpan timeout = TimeSpan.FromMilliseconds(1000);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
if (service.Status == ServiceControllerStatus.Running)
{
return Json("Service started successfully.", JsonRequestBehavior.AllowGet);
}
else
{
return Json("Could not start the service.", JsonRequestBehavior.AllowGet);
}
有人可以帮助我吗?
答案 0 :(得分:2)
远程控制Windows服务我们需要管理员权限我只使用服务安全编辑器来编辑我的Windows服务的权限。http://www.coretechnologies.com/products/ServiceSecurityEditor它可能对您有帮助。