Så här testar du maskinkonfigurationspaketartefakter

PowerShell-modulen GuestConfiguration innehåller verktyg för att automatisera testning av ett konfigurationspaket utanför Azure. Använd dessa verktyg för att hitta problem och iterera snabbt innan du går vidare för att testa i en Azure- eller Arc-ansluten miljö.

Innan du kan börja testa måste du konfigurera redigeringsmiljön och skapa en artefakt för anpassade datorkonfigurationspaket.

Viktigt!

Anpassade paket som granskar tillståndet för en miljö och tillämpar konfigurationer har stödstatus för allmänt tillgängliga (GA). Följande begränsningar gäller emellertid:

Om du vill använda datorkonfigurationspaket som tillämpar konfigurationer krävs gästkonfigurationstillägget för virtuella Azure-datorer version 1.26.24 eller senare, eller Arc-agenten 1.10.0 eller senare.

Modulen GuestConfiguration är endast tillgänglig på Ubuntu 18 och senare. Paketet och principerna som skapas av modulen kan dock användas på alla Linux-distributioner/versioner som stöds i Azure eller Arc.

Testningspaket på macOS är inte tillgängligt.

Du kan testa paketet från din arbetsstation eller en ci/CD-miljö (kontinuerlig integrering och kontinuerlig distribution). Modulen GuestConfiguration innehåller samma agent för din utvecklingsmiljö som används i Azure- eller Arc-aktiverade datorer. Agenten innehåller en fristående instans av PowerShell 7.1.3 för Windows och 7.2.0-preview.7 för Linux. Den fristående instansen säkerställer att skriptmiljön där paketet testas överensstämmer med datorer som du hanterar med hjälp av datorkonfiguration.

Agenttjänsten i Azure och Arc-aktiverade datorer körs som LocalSystem konto i Windows och Root i Linux. Kör kommandona i den här artikeln i en privilegierad säkerhetskontext för bästa resultat.

Om du vill köra PowerShell som LocalSystem i Windows använder du verktyget SysInternals PSExec.

Om du vill köra PowerShell som rot i Linux använder du sudo-kommandot.

Verifiera att konfigurationspaketet uppfyller kraven

Testa först att konfigurationspaketet uppfyller grundläggande krav med hjälp av Get-GuestConfigurationPackageComplianceStatus. Kommandot verifierar följande paketkrav.

  • MOF är närvarande och giltigt, på rätt plats
  • Nödvändiga moduler/beroenden finns med rätt version, utan dubbletter
  • Verifiera att paketet är signerat (valfritt)
  • Testa det Test och Get returnera information om efterlevnadsstatusen

Cmdletens Get-GuestConfigurationPackageComplianceStatus parametrar:

  • Sökväg: Filsökväg eller URI för datorkonfigurationspaketet.
  • Parameter: Principparametrar som tillhandahålls som en hash-tabell.

När det här kommandot körs för första gången installeras datorkonfigurationsagenten på testdatorn på sökvägen C:\ProgramData\GuestConfig\bin i Windows och /var/lib/GuestConfig/bin i Linux. Den här sökvägen är inte tillgänglig för ett användarkonto, så kommandot kräver utökade privilegier.

Kör följande kommando för att testa paketet:

I Windows, från en upphöjd PowerShell 7-session.

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

I Linux genom att köra PowerShell med sudo.

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

Kommandot matar ut ett objekt som innehåller kompatibilitetsstatus och information per resurs.

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

Testa konfigurationspaketet kan använda en konfiguration

Slutligen, om konfigurationspaketläget är AuditandSet kan du testa att Set metoden kan tillämpa inställningar på en lokal dator med kommandot Start-GuestConfigurationPackageRemediation.

Viktigt!

Det här kommandot försöker göra ändringar i den lokala miljön där det körs.

Cmdletens Start-GuestConfigurationPackageRemediation parametrar:

  • Sökväg: Fullständig sökväg för datorkonfigurationspaketet.

I Windows, från en upphöjd PowerShell 7-session.

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

I Linux genom att köra PowerShell med sudo.

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

Kommandot returnerar endast utdata när fel inträffar. Om du vill felsöka information om händelser som inträffar under Setanvänder du parametern -verbose .

När du har kört kommandot Start-GuestConfigurationPackageRemediationkan du köra kommandot Get-GuestConfigurationComplianceStatus igen för att bekräfta att datorn nu är i rätt tillstånd.

Gå vidare