Condividi tramite


Metodo IADsGroup::Add (iads.h)

Il metodo IADsGroup::Add aggiunge un oggetto ADSI a un gruppo esistente.

Sintassi

HRESULT Add(
  [in] BSTR bstrNewItem
);

Parametri

[in] bstrNewItem

Contiene un valore BSTR che specifica il percorso ADsPath dell'oggetto da aggiungere al gruppo. Per altre informazioni, 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 utilizzato per eseguire l'associazione all'oggetto IADsGroup , è necessario specificare la stessa forma di ADsPath nel parametro bstrNewItem . Ad esempio, se ADsPath utilizzato per eseguire l'associazione all'oggetto IADsGroup include un server, il parametro ADsPath nel parametro bstrNewItem deve contenere lo stesso prefisso del server. Analogamente, se viene usato un percorso serverless per l'associazione all'oggetto IADsGroup , il parametro bstrNewItem deve contenere anche un percorso serverless. Quando si usa il prefisso del server, i ritardi possono verificarsi se il gruppo e il nuovo membro provengono da domini diversi, in quanto le richieste possono essere inviate al controller di dominio errato e a cui viene fatto riferimento a un controller di dominio del dominio corretto ed è stato eseguito un nuovo tentativo. Si verifica un'eccezione quando si aggiunge o rimuove un membro usando un GUID o un ID di sicurezza (SID) ADsPath. In questo caso, un percorso serverless deve essere sempre usato in bstrNewItem.

Il provider LDAP per Active Directory consente di aggiungere un membro a un gruppo usando il formato stringa del SID membro. Il parametro bstrNewItem può contenere una stringa SID nel formato seguente.

LDAP://SID=<010500000000000515000000c6bb507afbda8b7f43170a325b040000>

Per altre informazioni sulle stringhe SID in Active Directory, vedere Binding a un oggetto tramite un SID.

Il provider WinNT per Active Directory consente anche di aggiungere un membro a un gruppo usando il formato stringa del SID del membro. Il parametro bstrNewItem può contenere una stringa SID nel formato seguente.

WinNT://S-1-5-21-35135249072896"

Esempio

Nell'esempio di codice seguente viene illustrato come aggiungere un oggetto utente ("jeff") al gruppo ("Administrators") nel dominio "Fabrikam", usando il provider WinNT.

Dim grp As IADsGroup
Set grp = GetObject("WinNT://Fabrikam/Administrators")
grp.Add ("WinNT://Fabrikam/jeff")

Nell'esempio di codice seguente viene illustrato come aggiungere un oggetto utente a un gruppo usando il provider 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

Nell'esempio di codice seguente viene aggiunto un account utente esistente al gruppo Administrators.

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;

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h
DLL Activeds.dll

Vedi anche

Codici di errore ADSI

Associazione a un oggetto tramite un SID

IADsGroup

Metodi della proprietà IADsGroup

IADsMembers