使用ServiceController更改服务凭据

时间:2014-06-27 15:36:30

标签: c# windows wmi servicecontroller

有没有办法做到这一点,而是使用ServiceController Class而不是使用当前在我的环境中工作的WMI。

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");
                }

谢谢!

1 个答案:

答案 0 :(得分:0)

ServiceController类不允许您更改服务凭据。如果WMI不是一个选项,您可以改为P / Invoke ChangeServiceConfig。你可以在这里找到一个C#示例:

Changing Log On Credentials of Windows Services