Come testare gli artefatti del pacchetto di configurazione del computer

Nota

Criteri di Azure Configurazione guest è ora denominata Configurazione automatica del computer di Azure. Altre informazioni sulla ridenominazione recente dei servizi di gestione della configurazione Microsoft.

Il modulo PowerShell GuestConfiguration include strumenti per automatizzare il test di un pacchetto di configurazione all'esterno di Azure. Usare questi strumenti per individuare i problemi e eseguire l'iterazione rapidamente prima di passare al test in un ambiente connesso ad Azure o Arc.

Prima di iniziare il test, è necessario configurare l'ambiente di creazione e creare un elemento del pacchetto di configurazione del computer personalizzato.

Importante

I pacchetti personalizzati che controllano lo stato di un ambiente e applicano le configurazioni sono in stato di supporto disponibile a livello generale. Tuttavia, le limitazioni seguenti si applicano:

Per usare i pacchetti di configurazione del computer che applicano configurazioni, è necessaria l'estensione di configurazione guest della macchina virtuale di Azure versione 1.26.24 o successiva oppure Arc agent 1.10.0 o versione successiva.

Il modulo GuestConfiguration è disponibile solo in Ubuntu 18 e versioni successive. Tuttavia, il pacchetto e i criteri prodotti dal modulo possono essere usati in qualsiasi distribuzione/versione Linux supportata in Azure o Arc.

Il test dei pacchetti in macOS non è disponibile.

È possibile testare il pacchetto dalla workstation o dall'ambiente di integrazione continua e distribuzione continua (CI/CD). Il modulo GuestConfiguration include lo stesso agente per l'ambiente di sviluppo usato all'interno di computer abilitati per Azure o Arc. L'agente include un'istanza autonoma di PowerShell 7.1.3 per Windows e 7.2.0-preview.7 per Linux. L'istanza autonoma garantisce che l'ambiente di script in cui il pacchetto venga testato sia coerente con i computer gestiti tramite la configurazione del computer.

Il servizio agente nei computer abilitati per Azure e Arc è in esecuzione come LocalSystem account in Windows e Root in Linux. Eseguire i comandi in questo articolo in un contesto di sicurezza con privilegi per ottenere risultati ottimali.

Per eseguire PowerShell come LocalSystem in Windows, usare lo strumento SysInternals PSExec.

Per eseguire PowerShell come radice in Linux, usare il comando sudo.

Convalidare il pacchetto di configurazione soddisfa i requisiti

Prima di tutto verificare che il pacchetto di configurazione soddisfi i requisiti di base usando Get-GuestConfigurationPackageComplianceStatus. Il comando verifica i requisiti del pacchetto seguenti.

  • MOF è presente e valido, nella posizione corretta
  • I moduli/dipendenze obbligatori sono presenti con la versione corretta, senza duplicati
  • Verificare che il pacchetto sia firmato (facoltativo)
  • Verificare che Test e Get restituire informazioni sullo stato di conformità

Parametri del cmdlet Get-GuestConfigurationPackageComplianceStatus:

  • Percorso: percorso file o URI del pacchetto di configurazione del computer.
  • Parametro: parametri dei criteri forniti come tabella hash.

Quando questo comando viene eseguito per la prima volta, l'agente di configurazione del computer viene installato nel computer di test nel percorso C:\ProgramData\GuestConfig\bin in Windows e /var/lib/GuestConfig/bin in Linux. Questo percorso non è accessibile a un account utente in modo che il comando richieda l'elevazione.

Eseguire il comando seguente per testare il pacchetto:

In Windows, da una sessione di PowerShell 7 con privilegi elevati.

# Get the current compliance results for the local machine
Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip

In Linux eseguire PowerShell usando sudo.

# Get the current compliance results for the local machine
sudo pwsh -command 'Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip'

Il comando restituisce un oggetto contenente lo stato di conformità e i dettagli per risorsa.

  complianceStatus  resources
  ----------------  ---------
  True              @{BuiltInAccount=localSystem; ConfigurationName=MyConfig; …

Testare il pacchetto di configurazione può applicare una configurazione

Infine, se la modalità del pacchetto di configurazione è AuditandSet possibile testare che il Set metodo può applicare le impostazioni a un computer locale usando il comando Start-GuestConfigurationPackageRemediation.

Importante

Questo comando tenta di apportare modifiche nell'ambiente locale in cui viene eseguito.

Parametri del cmdlet Start-GuestConfigurationPackageRemediation:

  • Percorso: percorso completo del pacchetto di configurazione del computer.

In Windows, da una sessione di PowerShell 7 con privilegi elevati.

# Test applying the configuration to local machine
Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip

In Linux eseguire PowerShell usando sudo.

# Test applying the configuration to local machine
sudo pwsh -command 'Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip'

Il comando restituisce solo l'output quando si verificano errori. Per risolvere i problemi relativi agli eventi che si verificano durante Set, usare il -verbose parametro .

Dopo aver eseguito il comando , è possibile eseguire di nuovo il comando Start-GuestConfigurationPackageRemediationGet-GuestConfigurationComplianceStatus per verificare che il computer sia ora nello stato corretto.

Passaggi successivi