我正在尝试控制安装在远程计算机上的Windows服务。我使用的是ServiceController
类。
我有这个:
ServiceController svc = new ServiceController("MyWindowsService", "COMPUTER_NAME");
这样,我就可以获得Windows服务的状态,如下所示:
string status = svc.Status.ToString();
但我不能控制Windows Service (通过执行svc.Start();
或svc.Stop();
)。我得到了以下异常:
无法在计算机'COMPUTER_NAME‘上打开Servicexxx服务
这是正常的,我想这与访问权限有关。但是怎么做呢?我搜索了一下谷歌,但没有找到我想要的东西。然而,我经常读到一些与模拟相关的东西,但我不知道这是什么意思。
注意:本地和远程计算机都运行Win XP Pro。
发布于 2010-06-08 21:10:28
问题解决了。
模拟包括使用特定的登录名/密码运行一段代码。我发现了一个非常有用的项目:http://www.codeproject.com/KB/cs/svcmgr.aspx?display=Print,它对我帮助很大!
发布于 2010-06-08 21:12:07
启动和停止服务是具有很高权限的操作,通常只有管理员才能使用。确保您使用的用户帐户在目标计算机上具有足够的权限。请在serverfault.com上提出更多问题
发布于 2013-10-22 19:21:59
为了解决这个问题,给你的名字赋予远程计算机/服务器上的管理权限,比如域/用户名,你将能够成功地运行软件包,因为我有同样的问题,当我给我的自助服务权限时,我可以在远程服务器上访问
https://stackoverflow.com/questions/2996282
复制相似问题