我使用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()
停止,并告诉我服务器无法执行我的请求。
我错过了什么吗?
提前感谢任何建议。
答案 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