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 |