UWP 中的用户属性

本文关键字:属性 用户 UWP | 更新日期: 2023-09-27 17:55:37

除名字之外的所有属性都返回空字符串。

我在代码中找不到任何错误。

我尝试了很多次,但仍然得到空字符串。返回值的唯一属性是 FirstName。

       public static async void GetCurrenntLocalUsers
                 (ObservableCollection<UserInformation> informations )
       {
           IReadOnlyList<User> users = await 
                      Windows.System.User.FindAllAsync(UserType.LocalUser,
                      UserAuthenticationStatus.LocallyAuthenticated);
           foreach (var user in users)
           {
               IRandomAccessStreamReference img = await 
                     user.GetPictureAsync(UserPictureSize.Size64x64);
               var stream = await img.OpenReadAsync();
               BitmapImage image=new BitmapImage();
               image.SetSource(stream);
               var userprop = await 
                     user.GetPropertiesAsync(await getproperties());
               string ff = userprop[KnownUserProperties.AccountName].ToString(); //Empty String
               informations.Add(new UserInformation()
               {
                    Name = userprop[KnownUserProperties.FirstName].ToString(),
                    DomainName = userprop[KnownUserProperties.DomainName].ToString(), //Empty String
                    UserImage = image
               });
            }
       }

而getProperties是

  private static async Task<IReadOnlyList<string>> getproperties()
  {
         var prop=new List<String>()
         {
                KnownUserProperties.FirstName,
                KnownUserProperties.DomainName,
                KnownUserProperties.AccountName
         };
         return prop;
  }

UWP 中的用户属性

引用应用功能

此 userAccountInformation 功能是访问 Windows.System.UserProfile 命名空间中的某些 API 所必需的。在应用的程序包清单中声明 uap 命名空间时,它必须包含 uap 命名空间,如下所示:

<Capabilities>
    <uap:Capability Name="userAccountInformation" />
  </Capabilities>

对于本地用户,只有DisplayName属性将通过User.GetPropertiesAsync()方法实现。

对于域用户,以下属性等于实际值:

  • 显示名称: 陈富兰克林
  • 域名: xxxx.domain.COM''user_alias
  • 名字: 富兰克林
  • 姓氏: 陈
  • SessionInitiationProtocolUri: sip://user_alias@domain.com