将计算机名称添加到活动目录组

时间:2011-03-09 10:03:40

标签: c# sharepoint workflow workflow-activity

我有一个要求,我必须将计算机名称添加到预定义的活动目录组。有没有人有这方面的经验?

3 个答案:

答案 0 :(得分:1)

您可以使用System.DirectoryServices

通过C#代码执行此操作
// Bind to the Computers container and add a new computer.
DirectoryEntry de01 = new DirectoryEntry("LDAP://CN=Computers,DC=fabrikam,DC=com");
DirectoryEntry newComputer = de01.Children.Add("CN=New Computer", "computer");
newGroup.CommitChanges();

有关示例,请参阅http://msdn.microsoft.com/en-us/library/ms180832(v=VS.90).aspx

答案 1 :(得分:0)

使用ADSI。基本上,您绑定到Active Directory,找到所需的计算机对象和组对象,并调用方法将计算机添加到组中。

如果需要来自命令行,您可以使用WSH或.Net轻松完成此操作。

ADSI参考: http://msdn.microsoft.com/en-us/library/aa772218(v=VS.85).aspx

ADSI LDAP: http://msdn.microsoft.com/en-us/library/aa746384(v=VS.85).aspx

直到计算机重新启动才会生效。

答案 2 :(得分:0)

以下代码为我工作

  //Step 1: get the DN of the adgroup you want to use
    DirectoryEntry groupEntry = new DirectoryEntry   ("LDAP://CN=AdgroupNameWewantToAddTo,DC=na,DC=ABCint,DC=com");//adgroupDSN
  
//step 2: get the Dn of the pc you want to add to the group
string memberDN;
DirectorySearcher dom = new DirectorySearcher(baseDN);
dom.Filter = "(&(ObjectCategory=computer) (cn=" + PCNAME+ "))";
SearchResult searchResult = dom.FindOne();
if (searchResult != null)
 {
    memberDN=searchResult.GetDirectoryEntry().Path;
 }
         

//第3步:将PC添加到广告组中            groupEntry.Invoke(“Add”,computerdn);