使用DirectoryServices将成员添加到组

时间:2016-01-12 10:04:07

标签: vb.net active-directory directoryservices

我使用DirectoryServices在Active Directory中创建一个组。

Imports System.DirectoryServices
Imports ActiveDs

Module Module1

Sub Main()

    Dim dom As New DirectoryEntry()

    Dim ou As DirectoryEntry = dom.Children.Find("OU=projects")

    Dim group As DirectoryEntry = ou.Children.Add("CN=pracmans", "group")

    group.Properties("Description").Value = "Red Bull"

    group.Properties("groupType").Value = ActiveDs.ADS_GROUP_TYPE_ENUM.ADS_GROUP_TYPE_UNIVERSAL_GROUP Or ADS_GROUP_TYPE_ENUM.ADS_GROUP_TYPE_SECURITY_ENABLED

    group.Properties("samAccountName").Value = "pracmans"

    group.CommitChanges()

End Sub

End Module

来源:msdn

这完美无缺。

现在我想将现有用户添加为该组的成员。 (如描述here

所以我添加了

group.Properties("member").Add("CN=John Doe,OU=Employee,OU=London,DC=me,DC=intra")

如果我现在运行该脚本,它会在CommitChanges()停止,并告诉我服务器无法执行我的请求。

我错过了什么吗?

提前感谢任何建议。

1 个答案:

答案 0 :(得分:0)

自己解决了。

我的第一个错误是我想要添加的用户的错误DN。

Active Directory Explorer是一个了不起的工具,它帮助我找到了合适的DN。

第二个错误实际上不是我的错,因为MSDN文章是错误的。他们连接到该组的方式不起作用。

这里有我的代码:“如何使用DirectoryServices将成员添加到AD组”

Imports System.DirectoryServices


Module Module1

Sub Main()

    Dim dom As New DirectoryEntry()

    Dim ou As DirectoryEntry = dom.Children.Find("OU=projects")

    Dim group As DirectoryEntry = ou.Children.Find("CN=pracmans", "group")

    group.Properties("member").Add("CN=John Doe,OU=employee,OU=London,DC=me,DC=intra")

    group.CommitChanges()

End Sub

End Module