Prueba de los artefactos de paquete de configuración de máquina personalizado
El módulo de PowerShell GuestConfiguration incluye herramientas para automatizar las pruebas de un paquete de configuración fuera de Azure. Use estas herramientas para buscar problemas e iterar rápidamente antes de pasar a la prueba en un entorno conectado a Azure o Arc.
Antes de comenzar las pruebas, debe configurar el entorno de creación y crear un artefacto de paquete de configuración de máquina personalizado.
Importante
Los paquetes personalizados que auditan el estado de un entorno y aplican configuraciones tienen un estado de compatibilidad de disponibilidad general (GA). Sin embargo, se aplican las siguientes limitaciones:
Para usar paquetes de configuración de máquina que aplican configuraciones, se requiere la versión de la extensión de configuración de invitado de máquina virtual de Azure 1.26.24 o posterior, o el agente de Arc 1.10.0 o posterior.
El módulo GuestConfiguration solo está disponible en Ubuntu 18 y versiones superiores. Sin embargo, el paquete y las directivas producidas por el módulo pueden usarse en cualquier distribución/versión de Linux compatible con Azure o Arc.
La prueba de paquetes en macOS no está disponibles.
Puede probar el paquete desde la estación de trabajo o el entorno de integración continua e implementación continua (CI/CD). El módulo GuestConfiguration incluye el mismo agente para el entorno de desarrollo que se usa en máquinas habilitadas para Azure o Arc. El agente incluye una instancia independiente de PowerShell 7.1.3 para Windows y 7.2.0-preview.7 para Linux. La instancia independiente garantiza que el entorno de script en el que se prueba el paquete es coherente con las máquinas que administra mediante la configuración de máquinas.
El servicio de agente en máquinas habilitadas para Azure y Arc se ejecuta como la cuenta LocalSystem
en Windows y Root en Linux. Ejecute los comandos de este artículo en un contexto de seguridad con privilegios para obtener los mejores resultados.
Para ejecutar PowerShell como LocalSystem
en Windows, use la herramienta SysInternals PSExec.
Para ejecutar PowerShell como Root en Linux, use el comando sudo.
Validación de que el paquete de configuración cumple los requisitos
En primer lugar, compruebe que el paquete de configuración cumple los requisitos básicos mediante Get-GuestConfigurationPackageComplianceStatus
. El comando comprueba los siguientes requisitos de paquete.
- MOF está presente y es válido en la ubicación correcta.
- Los módulos o dependencias necesarios están presentes con la versión correcta, sin duplicados.
- Validación de que el paquete está firmado (opcional).
- Comprobación de que
Test
yGet
devuelven información sobre el estado de cumplimiento.
Parámetros del cmdlet Get-GuestConfigurationPackageComplianceStatus
:
- Ruta de acceso: ruta de acceso o URI del archivo del paquete de configuración de máquina.
- Parámetro: parámetros de directiva proporcionados en una tabla hash.
Cuando este comando se ejecuta por primera vez, el agente de configuración de máquina se instala en el equipo de prueba en la ruta de acceso C:\ProgramData\GuestConfig\bin
en Windows y /var/lib/GuestConfig/bin
en Linux. Esta ruta de acceso no es accesible para una cuenta de usuario, por lo que el comando requiere elevación.
Ejecute el siguiente comando para comprobar el paquete:
En Windows, desde una sesión de PowerShell 7 con privilegios elevados.
# Get the current compliance results for the local machine
Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip
En Linux, mediante la ejecución de PowerShell con sudo.
# Get the current compliance results for the local machine
sudo pwsh -command 'Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip'
El comando genera un objeto que contiene el estado de cumplimiento y los detalles por recurso.
complianceStatus resources
---------------- ---------
True @{BuiltInAccount=localSystem; ConfigurationName=MyConfig; …
Comprobación de que el paquete de configuración puede aplicar una configuración
Por último, si el modo de paquete de configuración es AuditandSet
, puede probar que el método Set
puede aplicar la configuración a un equipo local mediante el comando Start-GuestConfigurationPackageRemediation
.
Importante
Este comando intenta realizar cambios en el entorno local donde se ejecuta.
Parámetros del cmdlet Start-GuestConfigurationPackageRemediation
:
- Ruta de acceso: ruta de acceso completa del paquete de configuración de máquina.
En Windows, desde una sesión de PowerShell 7 con privilegios elevados.
# Test applying the configuration to local machine
Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip
En Linux, mediante la ejecución de PowerShell con sudo.
# Test applying the configuration to local machine
sudo pwsh -command 'Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip'
El comando solo devuelve la salida cuando se producen errores. Para solucionar problemas relacionados con los eventos que se producen durante Set
, use el parámetro -verbose
.
Después de ejecutar el comando Start-GuestConfigurationPackageRemediation
, puede volver a ejecutar el comando Get-GuestConfigurationComplianceStatus
para confirmar que la máquina está ahora en el estado correcto.