1

Я пытаюсь добавить существующую группу в Local Administrators. Группа "ABC\Some Active Group" существует. Я могу добавить это через графический интерфейс Windows, но мне нужно добавить его через код. Вот то, что я пытался до сих пор:Добавление группы к локальным администраторам

public static bool AddGroup(string machineName, string groupName) 
{ 
    bool ifSuccessful = false; 
    try 
    { 
     DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + machineName); 
     DirectoryEntry admGroup = localMachine.Children.Find("administrators", "group"); 
     //admGroup.Children.Add(groupName, "Group"); 
     admGroup.Invoke("Add", groupName); 
     admGroup.CommitChanges(); 

     ifSuccessful = true; 

    } 
    catch (Exception ex) 
    { 
     ifSuccessful = false; 
     //logging 
     Console.WriteLine(machineName + " ----------" + ex.Message); 
    } 
    return ifSuccessful; 
} 

и я называю это нравится:

AddGroup(Environment.MachineName, @"ABC\Some Active Group"); 

я получаю исключение, (его внутреннее исключение)

неверный путь к каталогу

I als О попытался добавить это нравится:

admGroup.Children.Add(groupName, "Group"); 

Но тогда я получил исключение:

объект Active Directory находится на пути WinNT: // ABC/MachineName/Администраторы не является контейнером

Я смог успешно получить всех пользователей и группы с помощью admGroup, я не могу просто добавить его. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?

+0

быстрый вопрос ... считаете ли вы поиск в Google ..? [DirectoryEntry Добавление локального пользователя] (http://stackoverflow.com/questions/10999499/adding-a-local-user-to-a-local-group-in-c-sharp) – MethodMan

+0

@DJKRAZE, спасибо за комментарий , Да, я посмотрел на это, но это связано с добавлением пользователя, я пытаюсь добавить группу – CriketerOnSO

+0

. Попробуйте эту ссылку, возможно, есть и полезный материал http://www.codeproject.com/Articles/18102/Howto- Почти-все-In-Active-Справочник-через-C – MethodMan

ответ

1

Вы должны вызвать AddGroup как этот

AddGroup (Environment.MachineName "WinNT: //" + Environment.MachineName + "/ Некоторые активные группы");