Microsoft Windows: script para la instalación mediante GPO
Script para la instalación mediante GPO
Esta guía ofrece un procedimiento paso a paso para implementar el Agent de escritorio y Agent de servidor en entornos Microsoft Windows mediante un objeto de política de grupo (GPO) con un script de inicio. Este método permite una instalación centralizada, automatizada y silenciosa en múltiples dispositivos dentro de un entorno de dominio.
Requisitos previos
Antes de empezar, asegúrate de:
- Se puede acceder al paquete de instalación (.exe) a través de un recurso compartido de red (ruta UNC)
- Entorno de dominio con Active Directory configurado
- Privilegios administrativos para crear y editar objetos de política de grupo (GPO)
- Los equipos de destino están unidos al dominio
1. Preparar el paquete de instalación
- Coloca el instalador en una carpeta compartida: \\servidor\carpeta\AgentInstaller.exe
- Asegúrese de:
- Permiso de lectura para los equipos del dominio
- Se puede acceder a la ruta de red desde los equipos de destino
2. Crear el script de instalación
Crear un .bat archivo (p. ej., install_agent.bat) y utiliza el script que aparece a continuación.
@echo off
::##################################################
::############### GPO Agent Almaden ###############
::##################################################
REM ATTENTION!
REM MODIFY LINE 12 ApplicationPath WITH THE PACKAGE PATH
REM MODIFY LINE 19 ExpectedValue WITH THE VERSION TO BE INSTALLED
REM Local or network path of the application to be installed
set "ApplicationPath=\\servidor\pasta\Nome_Do_Pacote.exe"
REM Registry path where the DisplayVersion value is stored
set "RegistryKey=HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F5B62352-F120-4D57-815C-FB240F6000FC}"
set "ValueName=DisplayVersion"
REM Agent version
set "ExpectedValue=4.4.0"
set "CurrentValue="
REM Check if the registry key exists
reg query "%RegistryKey%" >nul 2>&1
if %errorlevel% equ 0 (
REM Attempt to read the DisplayVersion value
for /f "tokens=3*" %%a in ('reg query "%RegistryKey%" /v %ValueName% 2^>nul ^| findstr /i %ValueName%') do (
set "CurrentValue=%%a"
)
)
REM Compare with expected value
if /i "%CurrentValue%"=="%ExpectedValue%" goto VersionFound
goto Install
:VersionFound
echo Current version already installed, exiting script
goto End
:Install
echo Installing new version...
start "" "%ApplicationPath%"
echo Installation completed.
:End
exit /b
Modificaciones necesarias en el guion
Antes de utilizar el script en entorno de producción, es imprescindible modificar dos líneas concretas. Estos parámetros definen dónde se encuentra el instalador y qué versión debe considerarse válida.
3. ApplicationPath (ubicación del instalador)
Ejemplo
establecer «ApplicationPath=\\servidor de archivos\software\AlmadenAgent.exe»
Aspectos importantes a tener en cuenta
- Debe ser una ruta de red (UNC), no una ruta local
- Los equipos de destino deben tener permiso de lectura
- El archivo debe estar disponible durante el arranque del sistema (ejecución de GPO)
4. Valor esperado (versión objetivo)
Ejemplo
establecer «ExpectedValue=4.4.9»
5. Crear y configurar el objeto de política de grupo (GPO)
- Abrir: Administración de directivas de grupo (gpmc.msc)
- Haz clic con el botón derecho del ratón en la unidad organizativa deseada
- Selecciona: Crea un objeto de política de grupo (GPO) en este dominio y vincúlalo aquí
- Nómbralo: Implementar Almaden Agent
Solicitar y realizar la prueba
- En el equipo de destino, ejecuta: gpupdate /force
- Reinicia el equipo (el script de inicio se ejecuta al arrancar)
- Verificar la instalación:
- Comprobar los programas instalados
- Check registry key: HKLM\…\Uninstall\{GUID}
Cómo funciona el script
- Comprueba si el agent ya agent instalado
- Lee la versión instalada del Registro de Windows
- Se compara con la versión prevista
- Si son diferentes o faltan → se instalan
- Si es igual → se omite la instalación
Esto evita reinstalaciones innecesarias y garantiza el control de las versiones en todo el entorno.
Buenas prácticas
- Utiliza parámetros silenciosos en el instalador cuando sea posible
- Guarda el instalador en un recurso compartido de red de alta disponibilidad
- Controla el paquete y el script mediante un sistema de control de versiones
- Realizar pruebas en una unidad organizativa controlada antes de la implementación completa
- Supervisar los resultados de la instalación a través de los registros (si se han implementado)
Resultado
Después de aplicar esta configuración:
- Los agentes se instalan automáticamente al iniciar el sistema
- No se requiere ninguna intervención por parte del usuario
- La implementación es centralizada y escalable
- Se mantiene la coherencia entre las versiones en todos los dispositivos
