【问题标题】:Add a member to a group with DirectoryServices使用 DirectoryServices 将成员添加到组
【发布时间】:2016-01-12 10:04:07
【问题描述】:

我使用 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() 处停止,并告诉我服务器无法执行我的请求。

我错过了什么吗?

提前感谢您的任何建议。

【问题讨论】:

  • 编辑:我取得了一些进展——现在应该是正确的 UserDN,遗憾的是它并没有改变结果。

标签: vb.net active-directory directoryservices


【解决方案1】:

自己解决了。

我的第一个错误是我想添加的用户的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 2010-11-25
    相关资源
    最近更新 更多