Testování artefaktů balíčku konfigurace počítače

Modul PowerShell GuestConfiguration obsahuje nástroje pro automatizaci testování konfiguračního balíčku mimo Azure. Pomocí těchto nástrojů můžete rychle najít problémy a iterovat před tím, než začnete testovat v připojeném prostředí Azure nebo Arc.

Než začnete s testováním, musíte nastavit prostředí pro vytváření obsahu a vytvořit artefakt vlastního konfiguračního balíčku počítače.

Důležité

Vlastní balíčky, které auditují stav prostředí a používají konfigurace, jsou ve stavu obecné dostupnosti (GA). Platí však následující omezení:

Pokud chcete používat balíčky konfigurace počítače, které používají konfigurace, vyžaduje se rozšíření konfigurace hosta virtuálního počítače Azure verze 1.26.24 nebo novější nebo agent Arc 1.10.0 nebo novější.

Modul GuestConfiguration je k dispozici pouze v Ubuntu 18 a novějších verzích. Balíček a zásady vytvořené modulem se ale dají použít v libovolné distribuci a verzi Linuxu podporované v Azure nebo Arc.

Testovací balíčky v systému macOS nejsou k dispozici.

Balíček můžete otestovat z pracovní stanice nebo prostředí kontinuální integrace a průběžného nasazování (CI/CD). Modul GuestConfiguration obsahuje stejného agenta pro vaše vývojové prostředí, jako se používá v počítačích s podporou Azure nebo Arc. Agent obsahuje samostatnou instanci PowerShellu 7.1.3 pro Windows a 7.2.0-preview.7 pro Linux. Samostatná instance zajišťuje, že prostředí skriptu, ve kterém je balíček testován, je konzistentní s počítači, které spravujete pomocí konfigurace počítače.

Služba agenta v počítačích s podporou Azure a Arc běží jako LocalSystem účet ve Windows a rootu v Linuxu. Spuštění příkazů v tomto článku v kontextu privilegovaného zabezpečení pro nejlepší výsledky

Pokud chcete spustit PowerShell jako LocalSystem ve Windows, použijte nástroj SysInternals PSExec.

Pokud chcete spustit PowerShell jako root v Linuxu , použijte příkaz sudo.

Ověření, že konfigurační balíček splňuje požadavky

Nejprve otestujte, že konfigurační balíček splňuje základní požadavky pomocí Get-GuestConfigurationPackageComplianceStatus. Příkaz ověří následující požadavky na balíček.

  • MOF je přítomný a platný, na správném místě
  • Požadované moduly a závislosti jsou k dispozici se správnou verzí bez duplicit.
  • Ověření, že je balíček podepsaný (volitelné)
  • Otestujte, že Test a Get vrátíte informace o stavu dodržování předpisů.

Parametry rutiny Get-GuestConfigurationPackageComplianceStatus :

  • Cesta: Cesta k souboru nebo identifikátor URI konfiguračního balíčku počítače.
  • Parametr: Parametry zásad zadané jako hashovací tabulka

Při prvním spuštění tohoto příkazu se agent konfigurace počítače nainstaluje na testovací počítač v cestě C:\ProgramData\GuestConfig\bin ve Windows a /var/lib/GuestConfig/bin Linuxu. Tato cesta není přístupná pro uživatelský účet, takže příkaz vyžaduje zvýšení oprávnění.

Spuštěním následujícího příkazu otestujte balíček:

Ve Windows z relace PowerShellu se zvýšenými oprávněními 7.

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

V Linuxu spuštěním PowerShellu pomocí sudo.

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

Příkaz vypíše objekt obsahující stav dodržování předpisů a podrobnosti pro jednotlivé prostředky.

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

Otestování konfiguračního balíčku může použít konfiguraci

A konečně, pokud je AuditandSet režim konfiguračního balíčku můžete otestovat, že Set metoda může použít nastavení na místní počítač pomocí příkazu Start-GuestConfigurationPackageRemediation.

Důležité

Tento příkaz se pokusí provést změny v místním prostředí, ve kterém se spouští.

Parametry rutiny Start-GuestConfigurationPackageRemediation :

  • Cesta: Úplná cesta konfiguračního balíčku počítače.

Ve Windows z relace PowerShellu se zvýšenými oprávněními 7.

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

V Linuxu spuštěním PowerShellu pomocí sudo.

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

Příkaz vrátí výstup pouze v případě, že dojde k chybám. K řešení potíží s podrobnostmi o událostech, ke kterým dochází během Set, použijte -verbose parametr.

Po spuštění příkazu Start-GuestConfigurationPackageRemediationmůžete příkaz Get-GuestConfigurationComplianceStatus spustit znovu a ověřit, že počítač je teď ve správném stavu.

Další krok