Попытка подключить 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, появляется сообщение об ошибке «Указанный домен либо не существует, либо с ним невозможно связаться».