A felhasználói információkat is egyszerűen összegyűjthetjük az alábbi WindowsIdentity osztály GetCurrent metódusával:
[1] PS I:\>[System.Security.Principal.WindowsIdentity]::GetCurrent()
AuthenticationType : Kerberos
ImpersonationLevel : None
IsAuthenticated : True
IsGuest : False
IsSystem : False
IsAnonymous : False
Name : IQJB\soostibor
Owner : S-1-5-21-861567501-1202660629-1801674531-6051
User : S-1-5-21-861567501-1202660629-1801674531-6051
Groups : {S-1-5-21-861567501-1202660629-1801674531, , , ...}
Token : 904
A kimenetben láthatóak a legfontosabb adatok: a felhasználói név, a csoporttagságra utaló SID-ek, az autentikáció módja, stb.
Miután SID-ekkel nem annyira könnyű dolgozni, ezért egy másik osztállyal, a WindowsPrincipal-lal további szolgáltatásokhoz jutunk. Nagyon egyszerűen le lehet kérdezni például, hogy vajon az éppen aktuális felhasználó rendszergazda jogosultságokkal bír-e, azaz tagja-e az Administrators csoportnak:
[6] PS C:\> $u = [System.Security.Principal.WindowsIdentity]::GetCurrent()
[7] PS C:\> $principal = New-Object Security.principal.windowsprincipal($u)
[8] PS C:\> $principal.IsInRole("Administrators")
True
Ezekkel nagyon hatékonyan lehet megvizsgálni az éppen aktuális felhasználó különböző jellemzőit akár tartományi, akár helyi gépes környezetben.
Megjegyzés
A fenti módszer csak akkor ad igaz értéket, ha a PowerShell processz „Run as administrator” módban fut, azaz nem elég csak a lokális rendszergazda csoportnak tagja lennünk, a PowerShell processzen is emelt biztonsági szinten kell futnia.