Подтвердите, что учетные данные изменены - PullRequest
1 голос
/ 27 октября 2010

Я использую следующий код для изменения учетных данных службы Windows. Прежде чем отобразить сообщение об успешном изменении учетных данных, я хочу подтвердить, что новые учетные данные были применены. Как я могу это сделать?

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

Ответы [ 2 ]

3 голосов
/ 27 октября 2010

Новые учетные данные не будут применяться, пока вы не перезапустите службу, и я предлагаю вам использовать ServiceController вместо WMI.

1 голос
/ 27 октября 2010

Вы должны быть в состоянии проверить возвращенный объект из InvokeMethod и просто обрабатывать ошибки без какой-либо дополнительной сложности.Единственная проблема заключается в определении того, что возвращаемое значение означает успех.

object result = service.InvokeMethod("Change", wmiParams);

// if result 'is bad', handle error
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...