2009-10-23 2 views
2

Это должно быть очень просто, но по какой-то причине это не похоже. Я хочу спросить AD, если текущая машина является членом определенной группы. Прямое членство в порядке.Задать ActiveDirectory, если машина является членом группы

Группа содержит только 8 ПК и крайне маловероятно, чтобы выйти за пределы примеров # кода 30.

С благодарностью!

ответ

4

Вот пример метода с использованием 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); 
+0

Спасибо тааак много! Я только что провел 2 часа, плачу в сообщениях об ошибках LDAP! –

Смежные вопросы