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 |