Добавление пользователя субдомена Active Directory в основную группу домена - PullRequest
1 голос
/ 22 сентября 2010

У меня есть функция, которая отлично работает, когда я пытаюсь добавить пользователя из того же домена в группу из того же домена.

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

У меня есть пользователь: Гомер Симпсон, который является членом домена 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, но, как я уже говорил ранее, если пользователь находится в том же домене, это прекрасно работает.

Любые мысли или предложения приветствуются.

Geo ...

1 Ответ

0 голосов
/ 14 февраля 2011

Вы полагаетесь на метод IADsGroup.Add.Правильный синтаксис был бы (я думаю - я пользователь C #):

oGroup.Invoke("Add", new object[] { oUser.Path }

Вам также необходимо проверить, является ли он уже членом группы, потому что в этом случае вы получите сообщение об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...