Skip to main content

GPO

Aplicable a:Medulla – Agente
Versión: Todas 
Entorno: On-Premise / SaaS privado / SaaS compartido
Categoría: Agente de Medulla

Despliegue del agente Medulla mediante GPO


¿Cuál es la mejor forma de realizar el despliegue del agente Medulla en todos los equipos de un dominio de Active Directory?


El método recomendado es utilizar unatarea programada a través de las Preferencias de política de grupo (GPP) con la opción «Aplicar una vez y no volver a aplicar».


Este método:
- Es compatible con cualquier archivo EXE (no hace falta un MSI)
- Se ejecuta una sola vez por equipo
- Se ejecuta con privilegios de sistema (administrador)
- Cuenta con el soporte oficial de Microsoft
- Es fiable y evita reinstalaciones repetidas


¿Cómo se aplica este método?


Paso 1: Preparar el archivo de instalación

1. Copia el instalador en una carpeta compartida de la red a la que se pueda acceder: (Asegúrate de que la ruta sea accesible para «Todos» o «Ordenadores del dominio» en modo de lectura).

\\SERVIDOR\IMPLANTACIÓN\Medulla-Agent-windows-FULL-latest.exe

Crea un script de PowerShell como este:

$CheminSetup = "\\SERVIDOR\IMPLANTACIÓN\Medulla-Agent-windows-FULL-latest.exe"
$Arguments = "/S"

$NombreDelServicio = "medullaagent" 

$EstadoDelServicio = Get-Service -Name $NombreDelServicio -ErrorAction SilentlyContinue

if ($ServiceStatus) {
    Write-Output "El servicio $NombreDelServicio ya existe. Instalación cancelada."
    Exit 0
}

try {
    Start-Process -FilePath $RutaDeInstalación -ArgumentList $Argumentos -Wait -NoNewWindow -ErrorAction Stop
}
catch {
    Write-Error "Error de instalación: $_"
    Exit 1
}


2. Configura los permisos del recurso compartido:
   - Lecturapara el grupo «Domain Computers»


Paso 2: Crear el GPO


1. Abre la consolade administración de políticas de grupo
2. Crea un nuevo GPO, por ejemplo: `Despliegue del agente Medulla`


Paso 3: Configurar la tarea programada

1. Edita el GPO y ve a:

Configuración del ordenador
   → Preferencias
   → Panel de control
   → Tareas programadas

2. Haz clic con el botón derecho →NuevoTarea inmediata (al menos en Windows 7)


3. En la pestaña General:
   - Nombre: «Instalación del agente Medulla»
   - Cuenta: SYSTEM
   - Ejecutar con los privilegios más altos


4. En la pestañaAcciones:

  • Acción: Iniciar un programa.

  • Programa/script: ruta_instalación_PowerShell/powershell.exe

  • Añadir argumentos: -ExecutionPolicy Bypass -File "\\Servidor\Recursos compartidos\TuScript.ps1" (Asegúrate de que la ruta sea accesible en lectura para «Todos» o «Ordenadores del dominio»).


Paso 4: Aplicar la GPO


1. Vincule la GPO ala Unidad de Organización (OU)que contiene sus equipos
2. En un equipo de prueba, ejecuta:

gpupdate /force


3. Reinicia el equipo o espera a la próxima actualización de políticas

Atención: siempre es obligatorio reiniciar los equipos tras la instalación del agente; por defecto, el GPO no reinicia el equipo por sí solo. Por lo tanto, hay que tener en cuenta que cada equipo debe reiniciarse tras la instalación del agente.


¿Por qué no utilizar un script de inicio o de inicio de sesión?


Los scripts tradicionales (Startup Script o Logon Script) presentan varias desventajas:
- Riesgo de ejecución múltiple
- Dificultad para detectar si la instalación ya se ha realizado
- Problemas de permisos según el contexto de ejecución
- Menos fiables que las tareas programadas de GPP


El método mediante tareas programadas de GPP resuelve todos estos problemas.


¿Qué hace la opción «Apply once and do not reapply»?


Esta opción garantiza que:
- La tarea se ejecuteuna sola vezen cada equipo
- Aunque el GPO permanezca activo durante años, la instalación no se vuelve a ejecutar
- No se necesita ningún script de detección complejo
- No se producen reinstalaciones accidentales


Es el equivalente a un despliegue «fire and forget» (lanzar y olvidar).

Con la opción «Apply once and do not reapply», es imprescindible comprobar que el agente se haya instalado correctamente. Si la instalación ha fallado durante el proceso, no se volverá a ejecutar.

Puede optar por no activar esta opción ( «Apply once and do not reapply») para evitar problemas en la instalación del agente, pero mantener la parte «IF» en el script de PowerShell que comprueba si el servicio «medullaagent» está presente (por defecto, ya está incluido en el script anterior):

if ($ServiceStatus) {
    Write-Output «El servicio $NombreDelServicio ya existe. Instalación cancelada.»
    Exit 0
}

¿Cómo comprobar que el despliegue ha funcionado?


En un equipo cliente:

1. Comprueba que se ha creado la tarea programada:

Panel de control → Herramientas administrativas → Programador de tareas

Busque la tarea «Instalación del agente Medulla»

2. Comprueba los registros de instalación del agente Medulla

3. Comprueba que el equipo aparece en la consola de Medulla


En el controlador de dominio:


Utilice los informes de GPO para ver qué equipos han aplicado la política.


¿Puedo utilizar este método para actualizar el agente?


Por defecto, el agente se actualiza automáticamente, pero, si no es así, sí, aunque con algunas precisiones:


- Si creas un nuevo GPO con un nuevo nombre de tarea, esta se ejecutará una sola vez en todos los equipos (si la opción «Apply once» está activada)
- Si modifica la ruta del archivo EXE en la tarea existente con la opción «Apply once», esta no se volverá a ejecutar ( ese es el objetivo de esta opción)


Para las actualizaciones, es preferible:
1. Crear un nuevo GPO con un nuevo nombre de tarea para cada versión principal
2. O bien utilizar el sistema de actualización integrado de Medulla


¿Cuáles son los requisitos previos?


- Un controlador de dominio de Active Directory (Windows Server 2008 R2 o superior)
- Una carpeta compartida en red a la que los equipos tengan acceso de lectura
- El instalador del agente de Medulla con la opción de instalación silenciosa (`/S`)
- Permisos para crear y vincular GPO


¿Cuánto tiempo se tarda en realizar el despliegue de todos los equipos?


El despliegue se realiza al ritmo de las actualizaciones de las políticas de grupo:
- Por defecto: cada90 minutos(con un desfase aleatorio de entre 0 y 30 minutos)
- Al reiniciar el equipo
- Con `gpupdate /force` (inmediato)


Para un despliegue rápido en un parque de 100 equipos, hay que contar con unas2 a 4 horas, dependiendo de la actividad de la red.

Ejecutar la instalación tras iniciar sesión

La ejecución habitual de un GPO se realiza antes de iniciar sesión con privilegios de SYSTEM.

Esto puede resultar molesto para el usuario, que podría pensar que su ordenador se ha bloqueado.

Solución 1: La tarea programada «Al iniciar la sesión»

El usuario accede a su escritorio y la instalación se inicia de forma silenciosa en segundo plano con derechos de SYSTEM.

  1. En tu GPO de Ordenador (no de usuario), ve a: Preferencias > Ajustes del Panel de control > Tareas programadas.

  2. Nuevo > Tarea programada (al menos en Windows 7).

  3. Pestaña General:

    • Cuenta de usuario: NT AUTHORITY\SYSTEM (o escribe simplemente SYSTEM).

    • Marca la casilla «Ejecutar con los permisos máximos».

  4. Pestaña «Desencadenantes» (Triggers):

    • Nuevo > Al iniciar sesión (At log on).

    • Puede seleccionar «Cualquier usuario».

  5. Pestaña Acciones:

    • Programa: ruta_de_instalación_de_PowerShell/powershell.exe/powershell.exe

    • Argumentos: -ExecutionPolicy Bypass -File "\\Servidor\Recurso compartido\SCRIPT_POWERSHELL.ps1"

SCRIPT_POWERSHELL.PS1 corresponde al script que aparece al principio de la página y que permite instalar el agente de forma silenciosa.


Solución 2: La opción «Asíncrono»

Si quieres conservar tu script actual (en «Scripts de inicio») pero simplemente dejar de bloquear la pantalla «Por favor, espere...»:

  1. Vaya a la GPO: Configuración del ordenador > Plantillas de administración > Sistema > Scripts.

  2. Busca el parámetro: «Ejecutar los scripts de inicio de forma asíncrona».

  3. Establece el valor en «Habilitado».

Nota: Si creas una tarea con el desencadenador «Al iniciar sesión» y marcas «Aplicar una vez y no volver a aplicar», el GPO creará la tarea una vez, perola tarea en sí permanecerá en el ordenador y seguirá ejecutándose cada vez que se inicie sesión. Por lo tanto, asegúrate de mantener la condiciónIF en el script que permite comprobar la presencia del servicio medullaagent (por defecto, ya presente en el script anterior):

if ($ServiceStatus) {
    Write-Output «El servicio $NomDuService ya existe. Instalación cancelada.»
    Exit 0
}


Recursos adicionales


- [Documentación oficial de Microsoft sobre las preferencias de política de grupo](https://docs.microsoft.com/fr-fr/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn581922(v=ws.11))
- [Documentación de despliegue de Medulla](https://medulla-project.org/)


---


Fecha de creación: diciembre de 2024  
Autor: Documentación de Medulla  
Versión: 1.0