添加组到本地管理员(Adding group to local administrators)

2019-10-21 03:56发布

我想在本地管理员添加现有的组。 该集团"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");

但后来我得到了异常:

位于路径WINNT的Active Directory对象:// ABC /计算机名/管理员是不是容器

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

Answer 1:

你需要调用ADDGROUP这样

ADDGROUP(Environment.MachineName, “WINNT://” + Environment.MachineName + “/几种主动组”);



文章来源: Adding group to local administrators