Demander à ActiveDirectory si une machine est membre d'un groupe
-
06-07-2019 - |
Question
Cela devrait être vraiment facile, mais pour une raison quelconque, cela ne semble pas être le cas. Je veux demander à AD si la machine actuelle est membre d'un groupe particulier. L’adhésion directe est acceptable.
Le groupe ne contient que 8 PC et il est extrêmement improbable qu'il dépasse 30.
Des exemples de code C # appréciés!
La solution
Voici un exemple de méthode utilisant le System.DirectoryServices
espace de noms:
public bool BelongsToGroup(string computerName, string groupName, string domain)
{
PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, domain);
ComputerPrincipal computer = ComputerPrincipal.FindByIdentity(domainContext, computerName);
foreach (Principal result in computer.GetGroups())
{
if (result.Name == groupName)
{
return true;
}
}
return false;
}
Pour que vous puissiez l'appeler ainsi:
string computerName = Environment.MachineName;
string groupName = "Group Name";
string domainName = "Domain Name";
bool test = BelongsToGroup(computerName, groupName, domainName);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow