Problema
En entornos donde se usa Group Policy (GPO) para automatizar el onboarding de Azure Arc, es frecuente ver que la tarea programada finaliza con el estado Task Completed y, sin errores visibles en los logs, los servidores simplemente no aparecen en el portal de Azure. El cliente percibe que la instalación “se ejecutó” porque la tarea desaparece y los archivos de configuración (por ejemplo ArcInfo.json) se generan, pero la máquina sigue fuera del alcance de Azure Arc, Defender for Cloud y cualquier política basada en la nube.
Este patrón se repite en varios nodos Windows Server 2022 y, a menudo, pasa desapercibido porque los indicadores habituales (eventos, logs de Azure Arc) no reportan fallos. El síntoma más claro es la ausencia del recurso en Azure pese a que el proceso de GPO parece haber concluido sin problemas.
Causa
1. Feature AzureArcSetup pre‑instalada pero incompleta
En Windows Server 2022 la característica AzureArcSetup puede estar presente por defecto (por ejemplo, tras una actualización de Windows). Cuando la característica está marcada como present pero no está configurada, el instalador que GPO ejecuta detecta la presencia del feature y asume que ya está listo, por lo que omite la fase de registro del agente. El resultado es una “instalación” que solo crea archivos temporales y marca la tarea como completada.
2. Conflicto de versiones del instalador
El instalador de Azure Arc que se distribuye vía GPO suele ser la versión más reciente disponible en el paquete de Microsoft. Si el servidor ya tiene una versión anterior del agente (o una versión parcial) el instalador intenta una actualización que falla silenciosamente porque la lógica de actualización está bloqueada por la feature existente.
3. Política de ejecución restringida
Algunos entornos aplican ExecutionPolicy o AppLocker que impiden la ejecución de scripts de PowerShell firmados por Microsoft cuando la feature está en estado “deshabilitado”. La tarea de GPO registra la finalización del script, pero el binario del agente nunca se copia en la ruta esperada.
4. Falta de reinicio después de cambios de feature
Incluso cuando la feature se elimina correctamente, el sistema necesita un reinicio para que el estado del componente se libere. Si el servidor no se reinicia, el instalador de GPO sigue viendo la feature como presente y aborta la instalación.
Solución
La estrategia consiste en normalizar el estado de la feature AzureArcSetup antes de que GPO intente el onboarding. El proceso se puede automatizar con PowerShell y aplicarse a cualquier número de servidores, independientemente de cómo se haya distribuido inicialmente el paquete.
Paso 1 – Detectar la presencia de la feature
Get-WindowsFeature -Name AzureArcSetup
Si el resultado muestra Installed, procede al siguiente paso.
Paso 2 – Desinstalar la feature de forma limpia
Remove-WindowsFeature -Name AzureArcSetup -Restart:$false
El parámetro -Restart:$false evita que el servidor se reinicie automáticamente; el reinicio se controla en el paso siguiente.
Paso 3 – Reiniciar el servidor
Restart-Computer -Force
Un reinicio forzado garantiza que el estado de la feature se libere por completo. En entornos con alta disponibilidad, programa el reinicio fuera de la ventana de producción o usa -Delay para sincronizar con otras tareas.
Paso 4 – Dejar que GPO vuelva a procesarse
Una vez el servidor vuelve a estar en línea, el cliente de política de grupo (gpupdate) se ejecutará en el siguiente ciclo (normalmente cada 90 min) o se puede forzar manualmente:
gpupdate /force
El instalador de Azure Arc incluido en la GPO detectará que la feature ya no está presente y procederá con la instalación completa, registro del agente y creación del recurso en Azure.
Alternativa: Re‑instalar sobre la feature existente
Si no es posible eliminar la feature (por ejemplo, por dependencias de otro producto), se puede forzar la reinstalación del agente usando el instalador offline con la opción --force:
.\AzureArcAgentSetup.exe /install /force
Esta variante ignora la detección de la feature y escribe los archivos de registro necesarios, aunque sigue siendo menos fiable que la eliminación previa.
Cuándo aplicar esta solución
- Síntomas: Tarea GPO “Task Completed” sin errores,
ArcInfo.jsonpresente, pero el servidor no aparece en Azure Arc; logs de Azure Arc sin eventos de registro. - Entorno: Windows Server 2022 (o versiones que incluyan la feature
AzureArcSetup), despliegue mediante GPO, uso de Azure Arc para gestión de máquinas on‑premise. - Exclusiones: Si la instalación se realiza mediante script manual o mediante Azure CLI/PowerShell directamente, la causa típica no es la feature preinstalada y la solución anterior no aplica.
- Precauciones: Verificar que la eliminación de
AzureArcSetupno rompa dependencias de otros productos (por ejemplo, Azure Monitor o Azure Security Center instalados previamente). En caso de duda, pruebe primero en un servidor de pruebas.
Código
# Detectar feature
Get-WindowsFeature -Name AzureArcSetup
# Eliminar feature (sin reinicio automático)
Remove-WindowsFeature -Name AzureArcSetup -Restart:$false
# Reiniciar servidor
Restart-Computer -Force
# Forzar procesamiento de GPO
gpupdate /force
Verificación
-
Estado de la feature después del reinicio
Get-WindowsFeature -Name AzureArcSetupDebe devolver
Removed. -
Revisión de logs de Azure Arc
C:\ProgramData\AzureArc\Agent\Logs\AzureArcAgent.logdebe contener una entradaAgent registration succeeded.- En el Visor de eventos, bajo Applications and Services Logs → AzureArc, busca eventos con ID 1000 (registro exitoso).
-
Portal de Azure
- Navega a Azure Arc → Servers y confirma que el nombre del host aparece.
- Verifica que la máquina muestra estado “Connected” y que las extensiones (monitoring, Defender) están activas.
-
Política de grupo
- Ejecuta
gpresult /h gpresult.htmly revisa que la GPO de Azure Arc está aplicada sin errores.
- Ejecuta
Notas adicionales
- Automatización a gran escala: combina los comandos anteriores en un script de PowerShell que recorra una lista de servidores (por ejemplo, usando
Invoke-Command). Añade lógica de registro para capturar servidores que no pudieron reiniciarse. - Ventanas de mantenimiento: programa el reinicio mediante
ScheduledTaskpara evitar interrupciones inesperadas. - Versionado del agente: mantén una carpeta compartida con la última versión del instalador y referencia esa ruta en la GPO. Así evitas que una versión antigua quede “atascada” en los servidores.
- Monitor de cumplimiento: crea una regla de Azure Policy que marque como no conformes los servidores que aparecen en la lista de GPO pero no están registrados en Azure Arc. Esto ayuda a detectar rápidamente nuevas incidencias.
Con este enfoque, los fallos silenciosos dejan de ser un misterio y se convierten en un paso verificable dentro del proceso de onboarding de Azure Arc.