正在向本地管理员添加组

本文关键字:管理员 添加 | 更新日期: 2023-09-27 18:26:45

我正在尝试在本地管理员中添加一个现有组。组"ABC'Some Active Group"存在。我可以通过Windows GUI添加它,但我需要通过代码添加它。以下是我迄今为止所尝试的:

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");

我得到了异常(它是一个内部异常)

传递了一个无效的目录路径名

我还试着添加它,比如:

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

但后来我得到了一个例外:

位于路径中的Active Directory对象WinNT://ABC/MachineName/Administrators不是容器

我已经能够成功地获得admGroup的所有用户和组,我不能只添加一个。有人能告诉我我做错了什么吗?

正在向本地管理员添加组

您需要像这样调用AddGroup

AddGroup(Environment.MachineName,"WinNT://"+Environment_MachineName+"/Some Active Group");