Compartilhar via


Método IADsGroup::Remove (iads.h)

O método IADsGroup::Remove remove o objeto de usuário especificado desse grupo. A operação não remove o objeto de grupo em si mesmo quando não há nenhum membro restante no grupo.

Sintaxe

HRESULT Remove(
  [in] BSTR bstrItemToBeRemoved
);

Parâmetros

[in] bstrItemToBeRemoved

Contém um BSTR que especifica o ADsPath do objeto a ser removido do grupo. Para obter mais informações sobre esse parâmetro, consulte a seção Comentários.

Valor retornado

Veja a seguir os valores retornados mais comuns. Para obter mais informações sobre valores retornados, consulte Códigos de erro ADSI.

Comentários

Se o provedor LDAP for usado para associar ao objeto IADsGroup , a mesma forma de ADsPath deverá ser especificada no parâmetro bstrItemToBeRemoved . Por exemplo, se o ADsPath usado para associar ao objeto IADsGroup incluir um servidor, o ADsPath no parâmetro bstrItemToBeRemoved deverá conter o mesmo prefixo de servidor. Da mesma forma, se um caminho sem servidor for usado para associar ao objeto IADsGroup , o parâmetro bstrItemToBeRemoved também deverá conter um caminho sem servidor. A exceção é ao adicionar ou remover um membro usando um GUID ou SID ADsPath. Nesse caso, um caminho sem servidor sempre deve ser usado em bstrItemToBeRemoved.

Você pode usar um SID no ADsPath para remover uma entidade de segurança do grupo por meio do provedor WinNT. Por exemplo, suponha que o SID de um usuário, "Fabrikam\jeffsmith", seja S-1-5-21-35135249072896, a seguinte instrução:

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

é equivalente a

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

Remover um membro usando seu SID por meio do provedor WinNT é um novo recurso no Windows 2000 e no pacote DSCLIENT.

Exemplos

O exemplo de código a seguir remove uma conta de usuário de um grupo.

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

O exemplo de código a seguir remove um usuário de um grupo.

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();

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll

Confira também

Códigos de erro ADSI

IADsGroup

Métodos de propriedade IADsGroup

IADsMembers