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
Associazione a un oggetto tramite un SID