Metodo IADsGroup::Remove (iads.h)
Il metodo IADsGroup::Remove rimuove l'oggetto utente specificato da questo gruppo. L'operazione non rimuove l'oggetto gruppo stesso anche quando non è presente alcun membro rimanente nel gruppo.
Sintassi
HRESULT Remove(
[in] BSTR bstrItemToBeRemoved
);
Parametri
[in] bstrItemToBeRemoved
Contiene un BSTR che specifica LDPath dell'oggetto da rimuovere dal gruppo. Per altre informazioni su questo parametro, vedere la sezione Osservazioni.
Valore restituito
Di seguito sono riportati i valori restituiti più comuni. Per altre informazioni sui valori restituiti, vedere Codici di errore ADSI.
Commenti
Se il provider LDAP viene usato per eseguire l'associazione all'oggetto IADsGroup , la stessa forma di ADsPath deve essere specificata nel parametro bstrItemToBeRemoved . Ad esempio, se ADsPath usato per eseguire il binding all'oggetto IADsGroup include un server, il parametro ADsPath nel parametro bstrItemToBeRemoved deve contenere lo stesso prefisso del server. Analogamente, se viene usato un percorso serverless per l'associazione all'oggetto IADsGroup , il parametro bstrItemToBeRemoved deve contenere anche un percorso serverless. L'eccezione si verifica quando si aggiunge o rimuove un membro usando un GUID o SID ADsPath. In questo caso, un percorso serverless deve essere sempre usato in bstrItemToBeRemoved.
È possibile usare un SID in ADsPath per rimuovere un'entità di sicurezza dal gruppo tramite il provider WinNT. Si supponga, ad esempio, che il SID di un utente, "Fabrikam\jeffsmith", sia S-1-5-21-35135249072896, l'istruzione seguente:
Dim group As IADsGroup
group.Remove("WinNT://S-1-5-21-35135249072896")
equivale a
Dim group As IADsGroup
group.Remove("WinNT://Fabrikam/jeffsmith")
La rimozione di un membro tramite il siD tramite il provider WinNT è una nuova funzionalità in Windows 2000 e il pacchetto DSCLIENT.
Esempio
Nell'esempio di codice seguente viene rimosso un account utente da un gruppo.
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
Nell'esempio di codice seguente viene rimosso un utente da un gruppo.
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();
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | iads.h |
DLL | Activeds.dll |