Método IADsGroup::Remove (iads.h)
El método IADsGroup::Remove quita el objeto de usuario especificado de este grupo. La operación no quita el propio objeto de grupo aunque no haya ningún miembro restante en el grupo.
Sintaxis
HRESULT Remove(
[in] BSTR bstrItemToBeRemoved
);
Parámetros
[in] bstrItemToBeRemoved
Contiene un BSTR que especifica el ADsPath del objeto que se va a quitar del grupo. Para obtener más información sobre este parámetro, 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, vea Códigos de error adsi.
Comentarios
Si el proveedor LDAP se usa para enlazar al objeto IADsGroup , se debe especificar el mismo formato de ADsPath en el parámetro bstrItemToBeRemoved . Por ejemplo, si el ADsPath usado para enlazar al objeto IADsGroup incluye un servidor, ADsPath en el parámetro bstrItemToBeRemoved debe contener el mismo prefijo de servidor. Del mismo modo, si se usa una ruta de acceso sin servidor para enlazar al objeto IADsGroup , el parámetro bstrItemToBeRemoved también debe contener una ruta de acceso sin servidor. La excepción es cuando se agrega o quita un miembro mediante un GUID o SID ADsPath. En este caso, siempre se debe usar una ruta de acceso sin servidor en bstrItemToBeRemoved.
Puede usar un SID en ADsPath para quitar una entidad de seguridad del grupo a través del proveedor winNT. Por ejemplo, supongamos que el SID de un usuario, "Fabrikam\jeffsmith", es S-1-5-21-35135249072896, la siguiente instrucción:
Dim group As IADsGroup
group.Remove("WinNT://S-1-5-21-35135249072896")
es equivalente a
Dim group As IADsGroup
group.Remove("WinNT://Fabrikam/jeffsmith")
Quitar un miembro mediante su SID a través del proveedor winNT es una nueva característica en Windows 2000 y el paquete DSCLIENT.
Ejemplos
En el ejemplo de código siguiente se quita una cuenta de usuario de un grupo.
Dim grp As IADsGroup
On Error GoTo Cleanup
Set grp = GetObject("WinNT://Fabrikam/Administrators")
grp.Remove ("WinNT://Fabrikam/jeffsmith")
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 quita un usuario de un grupo.
IADsGroup *pGroup = NULL;
HRESULT hr = S_OK;
LPWSTR usrPath = L"WinNT://Fabrikam/jeffsmith";
LPWSTR grpPath = L"WinNT://Fabrikam/Administrators";
hr = ADsGetObject(grpPath, IID_IADsGroup, (void**)&pGroup);
if(FAILED(hr)){goto Cleanup;}
hr = pGroup->Remove(CComBSTR(usrPath));
if(FAILED(hr)){goto Cleanup;}
Cleanup:
if(pGroup)
pGroup->Release();
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 |