使用 DirectoryServices 将成员添加到组

Add a member to a group with 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() 并告诉我服务器无法执行我的请求。

我错过了什么吗?

提前感谢您的任何建议。

自己解决了。

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

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

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

这里有我的代码:"How to add a member to a AD Group using DirectoryServices"

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