Метод 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 |