Chiedi ad ActiveDirectory se una macchina è un membro di un gruppo
-
06-07-2019 - |
Domanda
Questo dovrebbe essere davvero facile ma per qualche motivo non sembra essere. Voglio chiedere ad AD se la macchina corrente è un membro di un particolare gruppo. L'iscrizione diretta va bene.
Il gruppo contiene solo 8 PC ed è estremamente improbabile che cresca oltre i 30.
Esempi di codice C # apprezzati!
Soluzione
Ecco un metodo di esempio che utilizza System.DirectoryServices
spazio dei nomi:
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;
}
Quindi potresti chiamarlo così:
string computerName = Environment.MachineName;
string groupName = "Group Name";
string domainName = "Domain Name";
bool test = BelongsToGroup(computerName, groupName, domainName);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow