Получить UserPrincipalName вошедшего в систему пользователя, когда система Windows присоединилась к Azure AD - PullRequest
1 голос
/ 30 марта 2019

Попытка подключить UPN (UserPrincipalName) вошедшего в систему пользователя в Windows 10 (и всех вошедших в систему пользователей в Windows 2012 R2) к Azure AD.

Использовал TranslateNameW API (https://docs.microsoft.com/en-us/windows/desktop/api/secext/nf-secext-translatenamew) в моем приложении на основе собственных служб win32 для получения UPN вошедшего в систему пользователя. Он отлично работает в системе, включенной в локальную AD.

 wchar_t user_sam[512] = { 0 };
 wchar_t user_upn[1024] = { 0 };
 DWORD   len = sizeof(user_upn);

 swprintf_s(user_sam, L"%ws\\%ws", L"AAD", L"naga");
 BOOL got_upn = TranslateNameW(user_sam, NameSamCompatible, NameUserPrincipal, user_upn, &len);
 if (! got_upn)
    wprintf(L"Failed to get user upn for %ws: %ld", user_sam, GetLastError());

Этот API не работает в системе, присоединенной к Azure AD, появляется сообщение об ошибке «Указанный домен либо не существует, либо с ним невозможно связаться».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...