Pergunte ActiveDirectory se uma máquina é um membro de um grupo
-
06-07-2019 - |
Pergunta
Isto deve ser muito fácil, mas, por algum motivo, não parece ser. Eu quero perguntar AD se a máquina atual é um membro de um grupo particular. participação direta é bom.
Grupo possui apenas 8 PC e é extremamente improvável a crescer para além de 30.
C exemplos # código apreciada!
Solução
Aqui está um método de exemplo usando a System.DirectoryServices
namespace:
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;
}
Então, você poderia chamá-lo assim:
string computerName = Environment.MachineName;
string groupName = "Group Name";
string domainName = "Domain Name";
bool test = BelongsToGroup(computerName, groupName, domainName);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow