Flash info

"Si vous vivez chaque jour comme si c'était le dernier, un jour vous aurez probablement raison."

Steve Jobs (1955-2011)

 
Accueil arrow Bibliothèque de scripts arrow Système arrow Déterminer le compte actuellement connecté
Déterminer le compte actuellement connecté
Écrit par Arnaud Petitjean [MVP]   
09-09-2010

Connaître le compte et le domaine de l'utilisateur connecté peut parfois être indispensable !

Pour se faire le Framework .NET met à notre disposition la méthode statique GetCurrent. Cette méthode nous retourne un objet de type WindowsIdentity. Ce dernier contient de nombreuses propriétés intéressantes, comme le SID de l'utilisateur connecté, ses groupes d'appartenance, le type d'authentification (kerberos, etc.).

Exemple :

PS > [System.Security.Principal.WindowsIdentity]::GetCurrent()

AuthenticationType : Kerberos
ImpersonationLevel : None
IsAuthenticated    : True
IsGuest            : False
IsSystem           : False
IsAnonymous        : False
Name               : PS-SCRIPTING\arnaud
Owner              : S-1-5-21-854267243-852305315-1248344978-1185
User               : S-1-5-21-854267243-852305315-1248344978-1185
Groups             : {S-1-5-21-854267243-852305315-1248344978-513, S-1-1-0, S-1-5-21-206141328-1587440913-2984784401-1009, S-1-5-32-545...}
Token              : 1180

 A présent il n'y a plus qu'à "cueillir" la propriété Name et le tour est joué !

Function QuiEstConnecte
{
   Write-Output ([System.Security.Principal.WindowsIdentity]::GetCurrent()).Name
   # Retourne une chaine de la forme Domaine\User
}

Exemple :

   PS > QuiEstConnecte

   PS-SCRIPTING\arnaud

 
© 2017 PowerShell-Scripting.com