使用ServiceController修改服务凭据
本文关键字:服务 修改 ServiceController 使用 | 更新日期: 2023-09-27 18:10:29
是否有一种方法可以做到这一点,但不是使用当前在我的环境中不工作的WMI,而是使用ServiceController类。
using (ManagementObject service = new ManagementObject(new ManagementPath(objPath)))
{
object[] wmiParams = new object[11];
wmiParams[6] = _username;
wmiParams[7] = _password;
service.InvokeMethod("Change", wmiParams);
Thread.Sleep(2000);
//check if new credentials in order
//Console.WriteLine("Service credentials changed");
}
谢谢!
ServiceController
类不允许更改服务凭据。如果WMI不是一个选项,您可以P/Invoke ChangeServiceConfig
代替。你可以在这里找到一个c#的例子:
更改Windows服务登录凭据