Search code examples
c#.netwin-universal-app

Get The Username/User Id Of Currently Logged In User In A UWP App


I want to get the username or user id of the currently logged in user in a UWP app. Below is the code that I am using but it returns null.

var current = users.Where(p => p.AuthenticationStatus == UserAuthenticationStatus.LocallyAuthenticated && p.Type == UserType.LocalUser).FirstOrDefault();
var data = await current.GetPropertyAsync(KnownUserProperties.AccountName);
Username = (string)data;

Solution

  • var users = await User.FindAllAsync(UserType.LocalUser);
    var user = (string) await users.FirstOrDefault().GetPropertyAsync(KnownUserProperties.AccountName);
    var domain = "";
    var host = "";
    
    if (string.IsNullOrEmpty(user))
    {
    var domainWithUser = (string) await users.FirstOrDefault().GetPropertyAsync(KnownUserProperties.DomainName);
    domain = domainWithUser.Split('\\')[0];
    user = domainWithUser.Split('\\')[1];
    }
    

    This helped me. reference http://codegur.com/33736983/get-environment-variables-in-net-core-uwp