Compartir a través de


Método IADsGroup::Add (iads.h)

El método IADsGroup::Add agrega un objeto ADSI a un grupo existente.

Sintaxis

HRESULT Add(
  [in] BSTR bstrNewItem
);

Parámetros

[in] bstrNewItem

Contiene un BSTR que especifica el ADsPath del objeto que se va a agregar al grupo. Para obtener más información, vea la sección Comentarios.

Valor devuelto

A continuación se muestran los valores devueltos más comunes. Para obtener más información sobre los valores devueltos, consulta Códigos de error ADSI.

Comentarios

Si el proveedor LDAP se usa para enlazar con el objeto IADsGroup , se debe especificar la misma forma de ADsPath en el parámetro bstrNewItem . Por ejemplo, si ADsPath se usa para enlazar con el objeto IADsGroup incluye un servidor, el parámetro ADsPath en el parámetro bstrNewItem debe contener el mismo prefijo de servidor. Del mismo modo, si se usa una ruta de acceso sin servidor para enlazar con el objeto IADsGroup , el parámetro bstrNewItem también debe contener una ruta de acceso sin servidor. Cuando se usa el prefijo de servidor, pueden producirse retrasos si el grupo y el nuevo miembro proceden de dominios diferentes, ya que las solicitudes se pueden enviar al controlador de dominio incorrecto y se hace referencia a un controlador de dominio del dominio correcto y reintentar allí. Se produce una excepción al agregar o quitar un miembro mediante un GUID o identificador de seguridad (SID) ADsPath. En este caso, siempre se debe usar una ruta de acceso sin servidor en bstrNewItem.

El proveedor LDAP para Active Directory permite agregar un miembro a un grupo mediante el formato de cadena del SID miembro. El parámetro bstrNewItem puede contener una cadena SID en el siguiente formato.

LDAP://SID=<010500000000000515000000c6bb507afbda8b7f43170a325b040000>

Para obtener más información sobre las cadenas de SID en Active Directory, vea Enlace a un objeto mediante un SID.

El proveedor winNT para Active Directory también permite agregar un miembro a un grupo mediante la forma de cadena del SID del miembro. El parámetro bstrNewItem puede contener una cadena SID en el siguiente formato.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo agregar un objeto de usuario ("jeff") al grupo ("Administradores") en el dominio "Fabrikam", mediante el proveedor winNT.

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

En el ejemplo de código siguiente se muestra cómo agregar un objeto de usuario a un grupo mediante el proveedor 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

En el ejemplo de código siguiente se agrega una cuenta de usuario existente al grupo Administradores.

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;

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll

Consulte también

Códigos de error adsi

Enlace a un objeto mediante un SID

IADsGroup

Métodos de propiedad IADsGroup

IADsMembers