Come testare gli artefatti del pacchetto di configurazione del computer

Il modulo Di 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 scorrere rapidamente prima di procedere 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, si applicano le seguenti limitazioni:

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 l'agente Arc 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.

I pacchetti di test in macOS non sono disponibili.

È 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 nei 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 viene testato il pacchetto 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 P edizione Standard xec.

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

Convalidare che il pacchetto di configurazione soddisfi 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
  • Convalidare 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, quindi il comando richiede l'elevazione dei privilegi.

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 ogni 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 verificare che il Set metodo possa 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 l'output solo 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 Start-GuestConfigurationPackageRemediation, è possibile eseguire di nuovo il comando Get-GuestConfigurationComplianceStatus per verificare che il computer sia ora nello stato corretto.

Passaggio successivo