Felhasználói információk

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.



Word To HTML Converter