Как получить учетные данные текущего пользователя в Windows 7 с помощью службы Windows? - PullRequest
1 голос
/ 28 июля 2011

Я пытаюсь получить текущие учетные данные пользователя с помощью службы Windows в Windows 7.

Когда я запускаю приведенный ниже код в режиме отладки (обратите внимание, что когда я запускаю это в режиме отладки,winservice работает на моем Пользователе вместо LocalSystem) , проблем нет.Тем не менее, когда WinService работает под учетной записью LocalSystem на компьютере, я не могу получить текущего пользователя из активного каталога, когда я запускаю коды как «Выпущено» (не отладка) и как Служба Windows?

using (DirectoryEntry de = new DirectoryEntry("LDAP://" + DomainName))
{
    using (DirectorySearcher adSearch = new DirectorySearcher(de))
    {
        adSearch.Filter = "(sAMAccountName=" + Environment.UserName + ")";
        SearchResult adSearchResult = adSearch.FindOne();

        UserInternalEmail = GetProperty(adSearchResult, "mail");
    }
}

Заранее спасибо

1 Ответ

0 голосов
/ 28 июля 2011

LocalSystem не имеет прав вне локальной системы, поэтому совершенно очевидно, что AD / LDAP отклонит свой запрос.Просто запустите службу под учетной записью AD / LDAP / домена.

...