如何使用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上提出更多相关问题
为了解决这个问题,请在远程计算机/服务器上为您的名称提供管理员权限,例如域/用户名,并且您可以成功运行该程序包,因为我遇到了同样的问题,并且当我向自助服务授予权限时,可以在远程访问服务器
- 当从针对任何CPU的C#项目调用时,为什么此代码会抛出System.AccessViolationException?
- 拦截Ninject。 无法加载IProxyRequestFactory
- ASP.NET MVC3 – 使用Javascript的Bug
- 将动态BitmapImage转换为Windows Phone应用程序中的灰度BitmapImage
- 以编程方式检查MS Office许可证状态
- 在C#/ C ++中托管VST / DX仪器?
- Google Geolocation API库
- SQL Server 2014的动态项目计数器,适用于Visual Studio 2015的Web表单?
- AutoMapper Map如果不为空,否则自定义转换