Compartir a través de


Usar Automatización remota

En las situaciones habituales de Automatización, tanto el cliente como el servidor se encuentran en un solo equipo y comparten los mismos recursos, como la memoria y el procesador.

Automatización en un único equipo

Cuando se crean servidores locales para Automatización, puede utilizarlos en modo remoto. La Automatización remota permite la misma flexibilidad, capacidad de ampliación y eficacia que la Automatización local, pero en una red. La Automatización remota permite que:

  • Los servidores utilicen recursos diferentes.
  • Muchos usuarios diferentes tengan acceso al mismo servidor.

Puede configurar un servidor y un equipo local para la Automatización remota con el Administrador de conexiones de automatización remota, con lo que se guarda la configuración en el Registro. Al ejecutarse el Administrador de Automatización en el equipo servidor, se administra la Automatización de modo que el mismo código que manipula un objeto local pueda manipular automáticamente un objeto remoto.

Automatización remota

Configurar el servidor

El primer paso en la activación de la Automatización remota es configurar el equipo servidor para el acceso del cliente en el Administrador de conexiones de automatización remota.

Para configurar el servidor de Automatización remota

  1. Copie el archivo ejecutable del servidor de Automatización (.exe) en el servidor y ejecútelo una vez para registrarlo en el Registro de Windows.
  2. En el equipo servidor, ejecute Racmgr32.exe, el Administrador de conexiones de automatización remota.
  3. Seleccione la clase en la lista Clases COM.
  4. En la ficha Acceso de cliente, elija Permitir creaciones remotas con clave.
  5. En la ficha Acceso de cliente, compruebe que la opción Permitir activación remota esté activada.

Una vez activado el acceso de cliente en el Administrador de conexiones de automatización remota, ejecute el Administrador de automatización, Autmgr32.exe, en el equipo servidor. Autmgr32.exe se instala en la carpeta System o System32, según el sistema operativo. Esto permitirá las conexiones de automatización remota desde otros equipos.

Configurar el cliente

Una vez configurado el equipo servidor, podrá configurar el equipo cliente.

Para configurar el equipo local para la automatización remota

  1. Copie en la máquina cliente el archivo .vbr que se creó cuando se creó el servidor de Automatización.

  2. Ejecute CLIREG32 con el nombre del archivo .vbr. Por ejemplo, si el archivo es Myserver.vbr, ejecute el comando siguiente en el símbolo del sistema:

    CLIREG32 MYSERVER.VBR
    
  3. En el cuadro de diálogo que se abre, introduzca la dirección de red de la máquina servidor y elija el protocolo de red (normalmente TCP/IP).

Opciones de las directivas de seguridad del sistema

En la tabla siguiente se describen las opciones del área Directiva de seguridad del sistema de la ficha Acceso de cliente del Administrador de conexiones de automatización remota.

Nombre Valor1 Descripción
No permitir ninguna creación remota 0 No permite la creación de ningún objeto.
Permitir creaciones remotas con clave 2 Sólo puede crearse un objeto si está activada la casilla de verificación Permitir activación remota. Esto modifica su CLSID en el Registro de Windows para incluir la configuración de subclaves siguiente: AllowRemoteActivation = Y
Permitir creaciones remotas con ACL 3 Un usuario puede crear un objeto sólo si el usuario está incluido en la lista de control de acceso del CLSID del Registro de Windows. Sólo en Windows NT 4.0 o posterior.
Permitir todas las creaciones remotas 1 Permite la creación de cualquier objeto. No se recomienda fuera del entorno de programación.

1. 1La columna Valor presenta la configuración preferente de RemoteActivationPolicy del Administrador de automatización en el Registro de Windows.

Usar la autenticación en Automatización remota

Para los servidores de Automatización remotos que se ejecuten en cualquier sistema operativo Windows, la llamada a procedimiento remoto (RPC) ofrece los niveles de autenticación siguientes.

Nombre Valor Descripción
Valor predeterminado 0 Usar el valor predeterminado de la red.
Ninguna 1 Sin autenticación.
Conectar 2 Se autentica la conexión al servidor.
Llamar 3 Se autentica sólo al comienzo de cada llamada a procedimiento remoto, cuando el servidor recibe la solicitud. No se aplica a las secuencias de protocolo basadas en la conexión (las que comienzan con el prefijo "ncacn").
Paquete 4 Comprueba que todos los datos recibidos proceden del cliente esperado.
Integridad del paquete 5 Comprueba que no se ha modificado ningún dato transferido entre el cliente y el servidor.
Privacidad del paquete 6 Comprueba todos los niveles anteriores y codifica los valores de argumentos de cada llamada a procedimiento remoto.

La necesidad de autenticación RPC debería evaluarse detenidamente, porque a medida que aumenta el nivel de autenticación RPC, disminuye el rendimiento. Puede especificar un nivel de autenticación para cada clase del servidor de Automatización, de modo que los niveles costosos, como la codificación, no necesiten aplicarse a todo el componente.

Por ejemplo, un servicio de datos implementado como servidor de Automatización remoto podría tener una clase Logon utilizada para transmitir la información del usuario y la contraseña y esta clase podría requerir la autenticación Privacidad del paquete. Otras clases expuestas por el servidor podrían utilizar un nivel de autenticación más bajo.

Solucionar problemas de Automatización remota

A continuación se presentan varias sugerencias en caso de que surjan dificultades.

Problema Acción
Código de error OLE 0x800706d9: No hay más extremos disponibles en el administrador de extremos. Compruebe que el Administrador de Automatización se está ejecutando en el equipo servidor y que el nombre de este equipo se haya introducido correctamente en el cuadro Dirección de la red del Administrador de conexiones de automatización remota.
Visual FoxPro: La aplicación no aparece en la lista de Clases OLE del Administrador de Automatización remota.
  1. Ejecute Regedit.exe para abrir el registro.
  2. Elimine todas las referencias a Microsoft Visual FoxPro.
  3. Ejecute Visual FoxPro con la etiqueta -r en la línea de comandos:

    Vfp7.exe -r

Vea también

Crear servidores de Automatización | Controlar Visual FoxPro desde otras aplicaciones | Agregar OLE | Crear subclases de objetos | Usar controles ActiveX