我正在尝试控制安装在远程计算机中的Windows服务。我正在使用ServiceController
类。
我有这个:
ServiceController svc = new ServiceController("MyWindowsService", "COMPUTER_NAME");
有了这个,我可以像这样得到Windows服务的状态:
string status = svc.Status.ToString();
但我无法控制Windows服务(通过执行svc.Start();
或svc.Stop();
)。
我得到以下异常:
无法打开Servicexxx服务 电脑“COMPUTER_NAME”
这是正常的,我想这与访问权限有关。但是怎么样? 我看过谷歌但没找到我想要的东西。但是我经常阅读与模仿相关的内容,但我不知道这意味着什么。
注意:本地和远程计算机都运行Win XP Pro。
答案 0 :(得分:9)
问题解决了。
模拟包括使用某个登录/密码运行一段代码。我找到了这个非常有用的项目:http://www.codeproject.com/KB/cs/svcmgr.aspx?display=Print给了我很多帮助!
答案 1 :(得分:7)
启动和停止服务是一种高权限操作,通常仅供管理员使用。确保您使用的用户帐户在目标计算机上具有足够的权限。在serverfault.com上提出更多相关问题
答案 2 :(得分:0)
为了解决这个问题,请在远程计算机/服务器上为您的名称提供管理员权限,例如域/用户名,您可以成功运行该程序包,因为我有同样的问题,当我授予自助服务的权限时可在远程服务器上访问