启动Windows服务远程访问

时间:2014-05-05 10:58:14

标签: c# asp.net

我正在尝试从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);
}

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

远程控制Windows服务我们需要管理员权限我只使用服务安全编辑器来编辑我的Windows服务的权限。http://www.coretechnologies.com/products/ServiceSecurityEditor它可能对您有帮助。