如何使用ServiceController远程控制Windows服务?

我正在尝试控制安装在远程计算机中的Windows服务。 我正在使用ServiceController类。

我有这个:

 ServiceController svc = new ServiceController("MyWindowsService", "COMPUTER_NAME"); 

有了这个,我可以得到这样的Windows服务的状态:

 string status = svc.Status.ToString(); 

但我无法控制Windows服务(通过执行svc.Start();svc.Stop(); )。 我得到以下exception:

无法在计算机’COMPUTER_NAME’上打开Servicexxx服务

这是正常的,我想这与访问权限有关。 但是怎么样? 我看过谷歌但没找到我想要的东西。 但是我经常阅读与假冒相关的内容,但我不知道这意味着什么。

注意:本地和远程计算机都运行Win XP Pro。

问题解决了。

模拟包括使用特定登录/密码运行一段代码。 我发现这个非常有用的项目: http : //www.codeproject.com/KB/cs/svcmgr.aspx? display =打印给我很多帮助!

启动和停止服务是一种高权限操作,通常仅供管理员使用。 确保您使用的用户帐户在目标计算机上具有足够的权限。 在serverfault.com上提出更多相关问题

为了解决这个问题,请在远程计算机/服务器上为您的名称提供管理员权限,例如域/用户名,并且您可以成功运行该程序包,因为我遇到了同样的问题,并且当我向自助服务授予权限时,可以在远程访问服务器