Bonjour à vous,
J'ai un utilisateur du domaine qui à réussi à récupérer beaucoup d'information de l'active directory.
Notamment les différents groupes dans les OU ainsi que les utilisateurs qui font parti du groupe :
Voici un exemple :
Groupe sales
CN=XXXXX,OU=xxx users,DC=xx,DC=xxx
CN=XXXXX,OU=xxx users,DC=xx,DC=xxx
CN=XXXXX,OU=xxx users,DC=xx,DC=xxx
CN=XXXXX,OU=xxx users,DC=xx,DC=xxx
En y a tous les groupes de l'AD avec les utilisateurs dedans même les admins.
Je trouve ça assez impressionnant, surtout que son compte ne fait pas partie du groupe administrateur.
Voici le code utilisé :
SearchResultCollection sResults = null;
//modify this line to include your domain name
string path = "LDAP://XXX";
//init a directory entry
DirectoryEntry dEntry = new DirectoryEntry(path);
//init a directory searcher
DirectorySearcher dSearcher = new DirectorySearcher(dEntry);
//This line applies a filter to the search specifying a username to search for
//modify this line to specify a user name. if you want to search for all
//users who start with k - set SearchString to "k"
//dSearcher.Filter = "(&(objectClass=user))";
// recherhce de groupe
dSearcher.Filter = "(&(objectClass=group))";
dSearcher.SearchScope = SearchScope.Subtree;
//perform search on active directory
sResults = dSearcher.FindAll();
foreach (SearchResult searchResult in sResults)
{
Console.WriteLine("Nom du groupe");
Console.WriteLine(searchResult.Properties["CN"][0].ToString());
foreach(var member in searchResult.Properties["member"])
{
Console.WriteLine(member.ToString());
}
if (searchResult.Properties["CN"][0].ToString() == "XXX")
{
}
}
Vous en pensez quoi ?