当我尝试将来自同一域的用户添加到同一域的组中时,我有一个完美的功能。
Function AddUserToGroup(ByVal strUserDN As String, ByVal strGroupDN As String, ByVal strGRPDC As String, ByVal strUserDC As String) As Boolean
Dim oUser As DirectoryEntry
Dim oGroup As DirectoryEntry
Dim blnStatus As Boolean
Try
oUser = New DirectoryEntry("LDAP://" & strUserDN)
oGroup = New DirectoryEntry("LDAP://" & strGroupDN)
oGroup.Invoke("Add", oUser.Path.ToString)
oGroup.CommitChanges()
blnStatus = True
Catch ex As Exception
//catch error...send email to support
End Try
oUser = Nothing
oGroup = Nothing
Return blnStatus
End Function
我需要做的是将子域中的用户添加到此主域组。例如:
主域名:geo.com 子域名:customer.geo.com
我有一位用户:Homer Simpson,他是customer.geo.com域的成员。我想将此用户添加到geo.com域中的一个组。我正在传递正确的完整adsPath,但始终会收到无效的错误消息:
User: WACUSTDC2/CN=Simpson\, Homer,OU=Geo Test OU,OU=Customers,DC=customer,DC=geo,DC=com
Group: wadc4/CN=QSGEOTESTOU_RW,OU=Permission Groups,OU=Resources,DC=geo,DC=com
Error: Exception has been thrown by the target of an invocation.
错误实际上是在Invoke行上引发的,但正如我之前所说的,如果用户位于同一个域中,这将完美地运行。
非常感谢任何想法或建议。
...地理位置
答案 0 :(得分:0)
您依赖于IADsGroup.Add方法。正确的语法是(我认为 - 我是C#用户):
oGroup.Invoke("Add", new object[] { oUser.Path }
您还需要检查它是否已经是该组的成员,因为如果是,您将收到错误。