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!

Était-ce utile?

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
scroll top