Спросите ActiveDirectory, является ли машина членом группы
-
06-07-2019 - |
Вопрос
Это должно быть действительно легко, но по некоторым причинам это не так. Я хочу спросить AD, является ли текущий компьютер членом определенной группы. Прямое членство в порядке.
Группа содержит только 8 компьютеров и вряд ли вырастет за пределы 30 человек.
Примеры кода на C # приветствуются!
Решение
Вот пример метода с использованием System.DirectoryServices код>
пространство имен:
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;
}
Так что вы можете назвать это так:
string computerName = Environment.MachineName;
string groupName = "Group Name";
string domainName = "Domain Name";
bool test = BelongsToGroup(computerName, groupName, domainName);
Не связан с StackOverflow