IADsGroup::Add, méthode (iads.h)
La méthode IADsGroup::Add ajoute un objet ADSI à un groupe existant.
Syntaxe
HRESULT Add(
[in] BSTR bstrNewItem
);
Paramètres
[in] bstrNewItem
Contient un BSTR qui spécifie l’ADsPath de l’objet à ajouter au groupe. Pour plus d'informations, consultez la section Notes.
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 bstrNewItem . Par exemple, si l’ADsPath utilisé pour la liaison à l’objet IADsGroup inclut un serveur, l’ADsPath dans le paramètre bstrNewItem 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 bstrNewItem doit également contenir un chemin serverless. Lors de l’utilisation du préfixe de serveur, des retards peuvent se produire si le groupe et le nouveau membre proviennent de domaines différents, car les demandes peuvent être envoyées au contrôleur de domaine incorrect et renvoyées à un contrôleur de domaine du domaine approprié et y être retentées. Une exception se produit lors de l’ajout ou de la suppression d’un membre à l’aide d’un GUID ou d’un identificateur de sécurité (SID) ADsPath. Dans ce cas, un chemin serverless doit toujours être utilisé dans bstrNewItem.
Le fournisseur LDAP pour Active Directory permet d’ajouter un membre à un groupe à l’aide de la forme de chaîne du SID membre. Le paramètre bstrNewItem peut contenir une chaîne SID sous la forme suivante.
LDAP://SID=<010500000000000515000000c6bb507afbda8b7f43170a325b040000>
Pour plus d’informations sur les chaînes SID dans Active Directory, consultez Liaison à un objet à l’aide d’un SID.
Le fournisseur WinNT pour Active Directory permet également d’ajouter un membre à un groupe à l’aide de la forme de chaîne du SID du membre. Le paramètre bstrNewItem peut contenir une chaîne SID sous la forme suivante.
WinNT://S-1-5-21-35135249072896"
Exemples
L’exemple de code suivant montre comment ajouter un objet utilisateur (« jeff ») au groupe (« Administrateurs ») sur le domaine « Fabrikam », à l’aide du fournisseur WinNT.
Dim grp As IADsGroup
Set grp = GetObject("WinNT://Fabrikam/Administrators")
grp.Add ("WinNT://Fabrikam/jeff")
L’exemple de code suivant montre comment ajouter un objet utilisateur à un groupe à l’aide du fournisseur LDAP.
Dim grp As IADsGroup
On Error GoTo Cleanup
Set grp = GetObject("LDAP://CN=Administrators, CN=Users, DC=Fabrikam, DC=com")
grp.Add("LDAP://CN=Jeff Smith, OU=Sales,DC=Fabrikam,DC=com")
Cleanup:
If (Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set grp = Nothing
L’exemple de code suivant ajoute un compte d’utilisateur existant au groupe Administrateurs.
IADsGroup *pGroup = NULL;
HRESULT hr = S_OK;
LPWSTR adsPath = L"WinNT://Fabrikam/Administrators";
hr = ADsGetObject(adsPath,IID_IADsGroup,(void**)&pGroup);
if(FAILED(hr)) {goto Cleanup;}
// This assumes that the "WinNT://Fabrikam/jeff" user account exists
// and does not already belong to the Administrators group.
hr = pGroup->Add(_bstr_t("WinNT://Fabrikam/jeff"));
if(FAILED(hr)){goto Cleanup;}
Cleanup:
if(pGroup)
pGroup->Release();
return hr;
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
Liaison à un objet à l’aide d’un SID