[C#][ActiveDirectory] Lister les membres d'un groupe
Bonjour à tous,
J'arrive à lister les membres d'un groupe Active Directory à l'aide de ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
DirectoryEntry Ldap = new DirectoryEntry("LDAP://" + _domainActiveDirectory, _userAuthentification, _passwordAuthentification);
DirectorySearcher pathSearch = new DirectorySearcher(Ldap);
pathSearch.Filter = ("(&(objectClass=Group)(CN=" + nameGroup + "))");
SearchResult result = pathSearch.FindOne();
DirectoryEntry myGroup = new DirectoryEntry(result.Path);
foreach (string unUser in myGroup.Properties["Member"])
{
_usersOfGroup.Add(unUser.ToString());
}
Ldap.Close(); |
Mais voilà, j'ai deux problèmes.
- Ce code me retourne aussi bien les ordinateurs du groupe que les utilisateurs. Comment faire pour séparer les deux et ainsi remplir deux Array List distinctes (_userOgGroup et _computersOfGroup) par exemple?
- Ce code me retourne le nom des utilisateurs (Display Name) alors que je souhaiterais qu'il me retourne leur login (SAMAccountName) (car le Display Name n'est pas forcément unique dans l'annuaire). Comment faire ?
Je vous remercie d'avance
Ben