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