Поделиться через


Метод IADsGroup::Add (iads.h)

Метод IADsGroup::Add добавляет объект ADSI в существующую группу.

Синтаксис

HRESULT Add(
  [in] BSTR bstrNewItem
);

Параметры

[in] bstrNewItem

Содержит BSTR , указывающий ADsPath объекта, добавляемого в группу. Дополнительные сведения см. в подразделе "Примечания".

Возвращаемое значение

Ниже приведены наиболее распространенные возвращаемые значения. Дополнительные сведения о возвращаемых значениях см. в разделе Коды ошибок ADSI.

Комментарии

Если поставщик LDAP используется для привязки к объекту IADsGroup , в параметре bstrNewItem должна быть указана та же форма ADsPath. Например, если ADsPath, используемый для привязки к объекту IADsGroup , включает сервер, ADsPath в параметре bstrNewItem должен содержать тот же префикс сервера. Аналогичным образом, если для привязки к объекту IADsGroup используется бессерверный путь, параметр bstrNewItem также должен содержать бессерверный путь. При использовании префикса сервера могут возникать задержки, если группа и новый член находятся из разных доменов, так как запросы могут отправляться на неправильный контроллер домена и ссылаться на контроллер домена правильного домена и повторно выполняться там. Исключение возникает при добавлении или удалении элемента с помощью GUID или идентификатора безопасности (SID) ADsPath. В этом случае в bstrNewItem всегда должен использоваться бессерверный путь.

Поставщик LDAP для Active Directory позволяет добавить участника в группу с помощью строковой формы идентификатора безопасности элемента. Параметр bstrNewItem может содержать строку идентификатора безопасности в следующей форме.

LDAP://SID=<010500000000000515000000c6bb507afbda8b7f43170a325b040000>

Дополнительные сведения о строках идентификаторов безопасности в Active Directory см. в разделе Привязка к объекту с помощью ИД безопасности.

Поставщик WinNT для Active Directory также позволяет добавлять участника в группу с помощью строковой формы идентификатора безопасности участника. Параметр bstrNewItem может содержать строку идентификатора безопасности в следующей форме.

WinNT://S-1-5-21-35135249072896"

Примеры

В следующем примере кода показано, как добавить объект пользователя (jeff) в группу ("Администраторы") в домене Fabrikam с помощью поставщика WinNT.

Dim grp As IADsGroup
Set grp = GetObject("WinNT://Fabrikam/Administrators")
grp.Add ("WinNT://Fabrikam/jeff")

В следующем примере кода показано, как добавить объект пользователя в группу с помощью поставщика LDAP.

Dim grp As IADsGroup
On Error GoTo Cleanup

Set grp = GetObject("LDAP://CN=Administrators, CN=Users, DC=Fabrikam, DC=com")
grp.Add("LDAP://CN=Jeff Smith, OU=Sales,DC=Fabrikam,DC=com")

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set grp = Nothing

В следующем примере кода добавляется существующая учетная запись пользователя в группу Администраторы.

IADsGroup *pGroup = NULL;
HRESULT hr = S_OK;
LPWSTR adsPath = L"WinNT://Fabrikam/Administrators";
hr = ADsGetObject(adsPath,IID_IADsGroup,(void**)&pGroup);
if(FAILED(hr)) {goto Cleanup;}

// This assumes that the "WinNT://Fabrikam/jeff" user account exists 
// and does not already belong to the Administrators group.

hr = pGroup->Add(_bstr_t("WinNT://Fabrikam/jeff"));
if(FAILED(hr)){goto Cleanup;}

Cleanup:
    if(pGroup)
        pGroup->Release();

    return hr;

Требования

   
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header iads.h
DLL Activeds.dll

См. также раздел

Коды ошибок ADSI

Привязка к объекту с помощью идентификатора безопасности

IADsGroup

Методы свойств IADsGroup

IADsMembers