Partager via


IADsGroup::Remove, méthode (iads.h)

La méthode IADsGroup::Remove supprime l’objet utilisateur spécifié de ce groupe. L’opération ne supprime pas l’objet de groupe lui-même même s’il n’y a aucun membre restant dans le groupe.

Syntaxe

HRESULT Remove(
  [in] BSTR bstrItemToBeRemoved
);

Paramètres

[in] bstrItemToBeRemoved

Contient un BSTR qui spécifie l’ADsPath de l’objet à supprimer du groupe. Pour plus d’informations sur ce paramètre, consultez la section Remarques.

Valeur retournée

Voici les valeurs de retour les plus courantes. Pour plus d’informations sur les valeurs de retour, consultez Codes d’erreur ADSI.

Notes

Si le fournisseur LDAP est utilisé pour établir une liaison à l’objet IADsGroup , la même forme d’ADsPath doit être spécifiée dans le paramètre bstrItemToBeRemoved . Par exemple, si l’ADsPath utilisé pour lier à l’objet IADsGroup inclut un serveur, l’ADsPath dans le paramètre bstrItemToBeRemoved doit contenir le même préfixe de serveur. De même, si un chemin serverless est utilisé pour lier à l’objet IADsGroup , le paramètre bstrItemToBeRemoved doit également contenir un chemin serverless. L’exception est lors de l’ajout ou de la suppression d’un membre à l’aide d’un GUID ou d’un SID ADsPath. Dans ce cas, un chemin serverless doit toujours être utilisé dans bstrItemToBeRemoved.

Vous pouvez utiliser un SID dans ADsPath pour supprimer un principal de sécurité du groupe via le fournisseur WinNT. Par exemple, supposons que le SID d’un utilisateur, « Fabrikam\jeffsmith », soit S-1-5-21-35135249072896, instruction suivante :

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

équivaut à :

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

La suppression d’un membre à l’aide de son SID via le fournisseur WinNT est une nouvelle fonctionnalité dans Windows 2000 et le package DSCLIENT.

Exemples

L’exemple de code suivant supprime un compte d’utilisateur d’un groupe.

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

L’exemple de code suivant supprime un utilisateur d’un groupe.

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

Configuration requise

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête iads.h
DLL Activeds.dll

Voir aussi

Codes d’erreur ADSI

IADsGroup

IADsGroup, méthodes de propriété

IADsMembers