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
Enlace a un objeto mediante un SID