如何使用ServiceController远程控制Windows服务?
-
24-10-2019 - |
题
我正在尝试控制安装在远程计算机中的Windows服务。我正在使用 ServiceController
班级。
我有这个:
ServiceController svc = new ServiceController("MyWindowsService", "COMPUTER_NAME");
这样,我可以得到这样的Windows服务的状态:
string status = svc.Status.ToString();
但是我无法控制Windows服务(通过 svc.Start();
或者 svc.Stop();
)。我得到以下例外:
无法在计算机'Computer_name'上打开Servicexxx服务
这是正常的,我想与访问权限有关。但是如何?我研究了Google,但没有找到我想要的东西。但是,我经常读一些与模仿有关的东西,但我不知道这意味着什么。
NB:本地和远程计算机都在运行Win XP Pro。
解决方案
问题解决了。
模仿包括使用特定登录/密码运行一块代码。我发现这个非常有用的项目: http://www.codeproject.com/kb/cs/svcmgr.aspx?display=print 这对我有很大帮助!
其他提示
启动和停止服务是一项高度特权的操作,通常仅适用于管理员。确保您使用的用户帐户在目标机器上具有足够的特权。在serverfault.com上询问有关它的更多问题
为了解决该问题,请在远程计算机/服务器(例如域/用户名)上给您的名称admin权限,因为我有相同的问题,您将能够成功运行该软件包。服务器
不隶属于 StackOverflow