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


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

Метод IADsGroup::Remove удаляет указанный объект пользователя из этой группы. Операция не удаляет сам объект группы, даже если в группе нет члена.

Синтаксис

HRESULT Remove(
  [in] BSTR bstrItemToBeRemoved
);

Параметры

[in] bstrItemToBeRemoved

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

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

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

Комментарии

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

Вы можете использовать идентификатор безопасности в ADsPath, чтобы удалить субъект безопасности из группы с помощью поставщика WinNT. Например, предположим, что идентификатор безопасности пользователя Fabrikam\jeffsmith имеет значение S-1-5-21-35135249072896, следующее:

Dim group As IADsGroup
group.Remove("WinNT://S-1-5-21-35135249072896")

эквивалентно

Dim group As IADsGroup
group.Remove("WinNT://Fabrikam/jeffsmith")

Удаление элемента с помощью его идентификатора безопасности через поставщик WinNT — это новая функция в Windows 2000 и пакете DSCLIENT.

Примеры

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

Dim grp As IADsGroup
On Error GoTo Cleanup

Set grp = GetObject("WinNT://Fabrikam/Administrators")
grp.Remove ("WinNT://Fabrikam/jeffsmith")

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 usrPath = L"WinNT://Fabrikam/jeffsmith";
LPWSTR grpPath = L"WinNT://Fabrikam/Administrators";

hr = ADsGetObject(grpPath, IID_IADsGroup, (void**)&pGroup);
if(FAILED(hr)){goto Cleanup;}

hr = pGroup->Remove(CComBSTR(usrPath));
if(FAILED(hr)){goto Cleanup;}

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

Требования

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

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

Коды ошибок ADSI

IADsGroup

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

IADsMembers