[c#] Comment obtenir la liste des groupes de sécurité de l’active directory?
Comment obtenir la liste des groupes de sécurité auquel appartient un compte de l’active directory?
Le but du script ci dessous est de lister les groupes de sécurité de l’active directory auxquels appartient un utilisateur Windows.
!!! Attention cette méthode permet de lister uniquement la liste des groupes de sécurité.
Les groupes de distribution eux ne sont pas listés.

//Sélection du compte WindowsIdentity windowsIdentity = new WindowsIdentity("prenom.nom"); //Obtient la liste des groupes auquel appartient le compte IdentityReferenceCollection mesref = windowsIdentity.Groups.Translate(typeof(NTAccount)); foreach (var item in mesref) { textBox1.Text += "\r\n"+item.Value; } //Permet de vérifier si le compte fait parti d'un groupe spécifique WindowsPrincipal wp = new WindowsPrincipal(windowsIdentity); textBox1.Text += "\r\n appartient au groupe informatique "+ wp.IsInRole("informatique").ToString(); textBox1.Text += "\r\n appartient au groupe utilisateurs "+ wp.IsInRole("utilisateurs").ToString(); textBox1.Text += "\r\n appartient au groupe test "+ wp.IsInRole("test").ToString(); |
WindowsIdentity représente un utilisateur Windows de l’AD
IdentityReferenceCollection est une collection d’identité (compte utilisateur ou compte de groupe)
WindowsPrincipal classe permettant de vérifier l’appartenance a un groupe d’un utilisateur
windowsIdentity.Groups.Translate(typeof(NTAccount));
Cette ligne de code permet de traduire en langage humain le nom du groupe.
Pour aller plus loin, quelques méthodes intéressantes de windowsIdentity.
- WindowsIdentity.GetCurrent();
-> retourne un objet WindowsIdentity contenant l’utilisateur actuellement connecté à Windows - WindowsIdentity.GetCurrent().IsAuthenticated;
-> retourne un booléen indiquant si l’utilisateur est actuellement connecte à Windows. - WindowsIdentity.GetCurrent().Name;
-> retourne un string contenant le nom de connexion Windows de l’utilisateur - WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(« informatique »);
-> retourne un booléen indiquant si le compte sélectionné appartient à un groupe spécifique.
Vous pouvez consulter la Class WindowsIdentity sur MSDN
Si des articles complémentaires sur C# vous intéresse je vous conseille de lire
Point d’intérêt de cet article : Csharp, sécurité, AD.
Mots clefs liés à cet article:
- lister les membres dun groupe ad en c#
- obtenir les groupes AD auquel j\appartiens
- dos lister les groupes
- Comment trouver le Groupe auquel appartient un compte dActive Directory c#
- comment lister les groupes sur un compte dos
- WindowsIdentity GetCurrent prenom c#
- comment Vérifier que le poste appartient au bon groupe de sécurité Active Directory
- connaitre les comptes AD d\un groupe
- connaitre mon goupe ad en command
- C# obtenir coordonnée souris