UWP 앱에서 User Account Information
기능을 사용하도록 설정했습니다.UWP 앱에서 일부 사용자 계정 정보를 가져올 수 없습니다 - 사내 구축 형 활성 디렉토리 (Azure AD가 아님)
현재 로그온 한 사용자의 사용자 이름과 도메인 이름 (각각 별도로)을 가져와야합니다. 사용자는 회사 내 Active Directory 계정 (Not Azure AD)으로 로그온합니다.
예를 들어, 사용자는 user1
사용자 이름을 사용하여 domain1
Active Directory 도메인에 로그인합니다. 즉 domain1\user1
입니다.
내가 필요한 정보를 얻기 위해 시도하는 다음 코드를 사용하고 있습니다 :
IReadOnlyList<User> users = await User.FindAllAsync();
var user = users.FirstOrDefault();
// get domain
var data1 = await user.GetPropertyAsync(KnownUserProperties.DomainName);
string strDomainName = (string)data1;
// get username
var data2 = await user.GetPropertyAsync(KnownUserProperties.AccountName);
string strUserName = (string)data2;
문제 :
strDomainName
반환domain1.com\user1
. 왜 우리 도메인 전체에.com
부분이 포함되어 있습니까? C# winforms 응용 프로그램에서는 아무런 문제없이 쉽게domain1\user1
을 얻을 수 있습니다.strUserName
은 빈 문자열을 반환합니다. 즉 "". 왜 이것이 어떤 가치를 반환하지 않습니까?KnownUserProperties.FirstName
은 빈 문자열을 반환
은 또한 다음 확인. 즉 "" "
KnownUserProperties.LastName
은 빈 문자열을 반환합니다. 즉 "" "KnownUserProperties.PrincipalName
은 빈 문자열을 반환합니다. 즉 "" "KnownUserProperties.ProviderName
은 빈 문자열을 반환합니다. 즉 "" "KnownUserProperties.GuestHost
은 빈 문자열을 반환합니다. 즉 "" "
User Account Information
기능과 비슷한 기능을 활성화해야합니까? 아니면이 정보를 얻기 위해 앱에 부여해야하는 다른 권한이 있습니까?
나는 strDomainName
의 가치를 얻을 수 있고 필요한 것을 얻기 위해 문자열 기능을 수행 할 수 있음을 알고 있습니다. 그러나이 정보를 직접 얻을 수있는 방법이 있는지 알고 싶습니다. 또한 궁금한 이유가 KnownUserProperties.AccountName
이고 위에 나열된 다른 속성 인 FirstName
, LastName
등은 빈 문자열을 반환합니다.
나는이 (가) Target version
및 Min Version
로 설정 다음과 같습니다 :
나는 다음과 같은 Windows 버전을 실행하고
가 확인하려면를, 나 또한 테스트 UserInfo sample project by Microsoft from GitHub 그리고 다음 출력을 얻었습니다 :
다음가 자동으로 Settings
>Privacy
>Account Info
에서 활성화되었습니다.
TestApp
User Info C# Sample
은 GitHub의에서 샘플 응용 프로그램입니다 :
이 업데이트 :
또한 Enterprise Authentication
기능을 활성화 한 후, KnownUserProperties.PrincipalName
가 예상 반환하지 값. 즉 [email protected]
입니다. 는하지만, 다른 속성과 같은 FirstName
위에 나열된 등 LastName
는 빈 문자열을 반환하고 난 여전히 액세스하려고하는 정보는