2013-03-04 2 views
0

Я используюLookupAccountName возвращает локальный домен PC вместо вошедшего в AD домен

LookupAccountName 

с помощью возвращаемого значения из

GetUserName 

для получения текущего вошедшего AD Domain Name.

Это счастливо работает на некоторое время на ряде машин с числом различного НТА на основе

То есть, до сегодняшнего дня, когда вместо того, чтобы вернуться вошедшим в AD домене, он вернул имя компьютера ОС как домен.

Может ли кто-нибудь объяснить, почему это произойдет менее чем в 0,5% случаев?

+1

И вы на 100% уверены, что пользователь выполнил вход в учетную запись домена на компьютере, являющемся членом домена? – Deanna

+0

@Deanna да. имел полный доступ ко всем ресурсам, вошел в систему, чтобы правильно обмениваться, без всплывающих окон. только возвратил домен pc :( –

+0

Ни одно из них не гарантирует, что они вошли в учетную запись домена. – Deanna

ответ

3

Если на локальном компьютере есть учетная запись с тем же именем, что и имя пользователя Active Directory, то LookupAccountName вернет имя локального компьютера (являющееся локальным доменным именем), а не требуемое имя домена AD.

Вместо этого я должен использовать GetUserNameEx с NameUserPrincipal, чтобы вернуть имя пользователя текущего пользователя, которое может быть отправлено в LookupAccountName, чтобы вернуть зарегистрированный домен.

Смежные вопросы