Служба Windows записывает неверное имя пользователя - PullRequest
0 голосов
/ 07 марта 2011

Я установил Службу Windows на нескольких компьютерах.Я должен был войти в систему как локальный администратор, потому что у пользователя не было прав локального администратора.Теперь проблема заключается в том, что на моем компьютере с правами локального администратора он хорошо регистрирует мое имя пользователя, но на компьютерах, где мне приходилось устанавливать его с помощью Admin, регистрирует администратора.Я использую WMI для получения этой информации.

 ConnectionOptions oConn = new ConnectionOptions();
        System.Management.ManagementScope oMs = new System.Management.ManagementScope("\\\\localhost", oConn);


        System.Management.ObjectQuery oQuery = new System.Management.ObjectQuery("select * from Win32_ComputerSystem");
        ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oMs, oQuery);
        ManagementObjectCollection oReturnCollection = oSearcher.Get();

        foreach (ManagementObject oReturn in oReturnCollection)
        {
            userName = oReturn["UserName"].ToString().ToLower().Split('\\')[1];
        }

Это действительно меня запутало.Они вошли в систему, но все же это показывает администратор?Любой, кто сможет объяснить, почему это происходит.

1 Ответ

3 голосов
/ 07 марта 2011

Если вы хотите, чтобы служба регистрировала ваше имя, вам нужно установить ее с вашими учетными данными.

Службы работают как пользователь, с которым они были установлены - они не имеют представления о вошедших пользователях (чтоесли несколько пользователей вошли в систему одновременно - кого из них они должны записывать?).

Весь смысл службы Windows в том, что она работает без необходимости входа в систему.

...