Jak przetestować artefakty pakietu konfiguracji maszyny
Moduł Programu PowerShell GuestConfiguration zawiera narzędzia do automatyzowania testowania pakietu konfiguracji poza platformą Azure. Użyj tych narzędzi, aby szybko znaleźć problemy i wykonać iterację przed przejściem do testowania w środowisku połączonym z platformą Azure lub usługą Arc.
Przed rozpoczęciem testowania należy skonfigurować środowisko tworzenia i utworzyć niestandardowy artefakt pakietu konfiguracji maszyny.
Ważne
Pakiety niestandardowe, które przeprowadzają inspekcję stanu środowiska i stosują konfiguracje, są w stanie pomocy technicznej ogólnie dostępnej. Obowiązują jednak następujące ograniczenia:
Aby użyć pakietów konfiguracji maszyny, które stosują konfiguracje, wymagane jest rozszerzenie konfiguracji gościa maszyny wirtualnej platformy Azure w wersji 1.26.24 lub nowszej albo agent usługi Arc 1.10.0 lub nowszej.
Moduł GuestConfiguration jest dostępny tylko w systemie Ubuntu 18 lub nowszym. Jednak pakiet i zasady utworzone przez moduł mogą być używane w dowolnej dystrybucji/wersji systemu Linux obsługiwanej na platformie Azure lub w usłudze Arc.
Testowanie pakietów w systemie macOS nie jest dostępne.
Pakiet można przetestować ze środowiska stacji roboczej lub ciągłej integracji i ciągłego wdrażania (CI/CD). Moduł GuestConfiguration zawiera tego samego agenta dla środowiska deweloperskiego, który jest używany na maszynach z obsługą usługi Azure lub Arc. Agent zawiera autonomiczne wystąpienie programu PowerShell 7.1.3 dla systemów Windows i 7.2.0-preview.7 dla systemu Linux. Wystąpienie autonomiczne zapewnia środowisko skryptu, w którym testowany jest pakiet, jest zgodne z maszynami zarządzanymi przy użyciu konfiguracji maszyny.
Usługa agenta na maszynach z obsługą platformy Azure i usługi Arc jest uruchomiona jako LocalSystem
konto w systemach Windows i Root w systemie Linux. Uruchom polecenia w tym artykule w kontekście zabezpieczeń uprzywilejowanych, aby uzyskać najlepsze wyniki.
Aby uruchomić program PowerShell jak LocalSystem
w systemie Windows, użyj narzędzia SysInternals PSExec.
Aby uruchomić program PowerShell jako katalog główny w systemie Linux, użyj polecenia sudo.
Sprawdzanie, czy pakiet konfiguracji spełnia wymagania
Najpierw przetestuj, czy pakiet konfiguracji spełnia podstawowe wymagania przy użyciu polecenia Get-GuestConfigurationPackageComplianceStatus
. Polecenie weryfikuje następujące wymagania dotyczące pakietu.
- MoF jest obecny i prawidłowy w odpowiedniej lokalizacji
- Wymagane moduły/zależności są obecne w odpowiedniej wersji bez duplikatów
- Sprawdzanie, czy pakiet jest podpisany (opcjonalnie)
- Przetestuj te
Test
informacje iGet
zwróć informacje o stanie zgodności
Get-GuestConfigurationPackageComplianceStatus
Parametry polecenia cmdlet:
- Ścieżka: ścieżka pliku lub identyfikator URI pakietu konfiguracji maszyny.
- Parametr: Parametry zasad podane jako tabela skrótów.
Po pierwszym uruchomieniu tego polecenia agent konfiguracji maszyny zostanie zainstalowany na maszynie testowej na ścieżce w systemie C:\ProgramData\GuestConfig\bin
Windows i /var/lib/GuestConfig/bin
w systemie Linux. Ta ścieżka nie jest dostępna dla konta użytkownika, dlatego polecenie wymaga podniesienia uprawnień.
Uruchom następujące polecenie, aby przetestować pakiet:
W systemie Windows z sesji programu PowerShell 7 z podwyższonym poziomem uprawnień.
# Get the current compliance results for the local machine
Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip
W systemie Linux, uruchamiając program PowerShell przy użyciu programu sudo.
# Get the current compliance results for the local machine
sudo pwsh -command 'Get-GuestConfigurationPackageComplianceStatus -Path ./MyConfig.zip'
Polecenie zwraca obiekt zawierający stan zgodności i szczegóły dla zasobu.
complianceStatus resources
---------------- ---------
True @{BuiltInAccount=localSystem; ConfigurationName=MyConfig; …
Testowanie pakietu konfiguracji może zastosować konfigurację
Na koniec, jeśli tryb pakietu konfiguracji jest AuditandSet
można przetestować, że Set
metoda może zastosować ustawienia do komputera lokalnego przy użyciu polecenia Start-GuestConfigurationPackageRemediation
.
Ważne
To polecenie próbuje wprowadzić zmiany w środowisku lokalnym, w którym jest uruchamiany.
Start-GuestConfigurationPackageRemediation
Parametry polecenia cmdlet:
- Ścieżka: pełna ścieżka pakietu konfiguracji maszyny.
W systemie Windows z sesji programu PowerShell 7 z podwyższonym poziomem uprawnień.
# Test applying the configuration to local machine
Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip
W systemie Linux, uruchamiając program PowerShell przy użyciu programu sudo.
# Test applying the configuration to local machine
sudo pwsh -command 'Start-GuestConfigurationPackageRemediation -Path ./MyConfig.zip'
Polecenie zwraca dane wyjściowe tylko wtedy, gdy wystąpią błędy. Aby rozwiązać problemy ze szczegółowymi informacjami na temat zdarzeń występujących podczas , Set
użyj parametru -verbose
.
Po uruchomieniu polecenia Start-GuestConfigurationPackageRemediation
można ponownie uruchomić polecenie Get-GuestConfigurationComplianceStatus
, aby potwierdzić, że maszyna jest teraz w poprawnym stanie.