是的,我可以搜索这个,但我有点懒。我需要远程控制另一台计算机上的Windows服务。serviceController类允许我这样做吗?有什么限制?我可以远程启动/停止/更改“运行方式”的详细信息吗(即更改即将过期的密码)?
我将尝试为工作中的用户提供一个ASP.NET网站仪表板,以控制在其本地计算机上运行的几个服务(他们都是其计算机上的本地管理员)。这与其他功能集成在一起,所以我不打算创建一个可以在本地为它们运行的可分发的。将使用Windows身份验证并模拟用户进行更改。如果我遇到什么问题的话?
干杯
最佳答案
var sc = new ServiceController("servicename", "othermachinename");
运行代码的帐户需要目标计算机上的管理权限才能与服务交互。模仿也行。我只在一个受严格控制的情况下使用过它(即从源/目标计算机上具有相同凭据的用户帐户运行),但根据我的经验,所有操作都按预期工作。
如果要更改服务凭据等,则必须使用wmi——这不像使用serviceController类那么简单。有关详细信息,请参阅managementobject类。
我发现this link描述了如何使用wmi更改服务凭据。
关于c# - .Net类来控制远程计算机上的服务?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1159498/