Makine yapılandırma paketi yapıtlarını test etme

GuestConfiguration PowerShell modülü, Azure dışında bir yapılandırma paketini test etme işlemini otomatikleştirmeye yönelik araçlar içerir. Azure veya Arc bağlantılı bir ortamda teste geçmeden önce sorunları bulmak ve hızla yinelemek için bu araçları kullanın.

Test etmeye başlamadan önce yazma ortamınızı ayarlamanız ve özel makine yapılandırma paketi yapıtı oluşturmanız gerekir.

Önemli

Bir ortamın durumunu denetleen ve yapılandırmaları uygulayan özel paketler Genel Kullanılabilir (GA) destek durumundadır. Ancak aşağıdaki sınırlamalar geçerlidir:

Yapılandırmaları uygulayan makine yapılandırma paketlerini kullanmak için Azure VM konuk yapılandırma uzantısı sürüm 1.26.24 veya üzeri ya da Arc aracısı 1.10.0 veya üzeri gereklidir.

GuestConfiguration modülü yalnızca Ubuntu 18 ve sonraki sürümlerde kullanılabilir. Ancak modül tarafından üretilen paket ve ilkeler, Azure veya Arc'ta desteklenen herhangi bir Linux dağıtımı/sürümünde kullanılabilir.

macOS'ta test paketleri kullanılamaz.

Paketi iş istasyonunuzdan veya sürekli tümleştirme ve sürekli dağıtım (CI/CD) ortamınızdan test edebilirsiniz. GuestConfiguration modülü, Azure veya Arc özellikli makinelerde kullanılan geliştirme ortamınız için aynı aracıyı içerir. Aracı, Windows için PowerShell 7.1.3 ve Linux için 7.2.0-preview.7'nin tek başına bir örneğini içerir. Tek başına örnek, paketin test edildiği betik ortamının makine yapılandırmasını kullanarak yönettiğiniz makinelerle tutarlı olmasını sağlar.

Azure ve Arc özellikli makinelerde aracı hizmeti, Windows'ta hesap ve Linux'ta Kök olarak LocalSystem çalışır. En iyi sonuçlar için bu makaledeki komutları ayrıcalıklı bir güvenlik bağlamında çalıştırın.

PowerShell'i Windows'da olduğu gibi LocalSystem çalıştırmak için SysInternals aracını PSExec kullanın.

PowerShell'i Linux'ta Kök olarak çalıştırmak için sudo komutunu kullanın.

Yapılandırma paketinin gereksinimleri karşıladığını doğrulama

İlk olarak kullanarak yapılandırma paketinin temel gereksinimleri karşıladığını test edin Get-GuestConfigurationPackageComplianceStatus. komutu aşağıdaki paket gereksinimlerini doğrular.

  • MOF, doğru konumda mevcut ve geçerlidir
  • Gerekli Modüller/bağımlılıklar doğru sürümde, yinelemeler olmadan mevcut
  • Paketin imzalı olduğunu doğrulama (isteğe bağlı)
  • Bunu test edin Test ve Get uyumluluk durumu hakkında bilgi döndürin

Cmdlet'in Get-GuestConfigurationPackageComplianceStatus parametreleri:

  • Yol: Makine yapılandırma paketinin dosya yolu veya URI'si.
  • Parametre: İlke parametreleri karma tablo olarak sağlanır.

Bu komut ilk kez çalıştırıldığında, makine yapılandırma aracısı Windows ve /var/lib/GuestConfig/bin Linux üzerindeki yolda C:\ProgramData\GuestConfig\bin test makinesine yüklenir. Bu yol bir kullanıcı hesabı tarafından erişilemez, bu nedenle komutun yükseltilmesi gerekir.

Paketi test etmek için aşağıdaki komutu çalıştırın:

Windows'ta, yükseltilmiş bir PowerShell 7 oturumundan.

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

Linux'ta, PowerShell'i sudo kullanarak çalıştırarak.

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

komutu, kaynak başına uyumluluk durumunu ve ayrıntılarını içeren bir nesne çıkışı oluşturur.

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

Yapılandırma paketinin yapılandırma uygulayabileceğini test edin

Son olarak, yapılandırma paketi modu ise AuditandSet yönteminin Set komutunu Start-GuestConfigurationPackageRemediationkullanarak ayarları yerel bir makineye uygulayabildiğini test edebilirsiniz.

Önemli

Bu komut, çalıştırıldığı yerel ortamda değişiklik yapmayı dener.

Cmdlet'in Start-GuestConfigurationPackageRemediation parametreleri:

  • Yol: Makine yapılandırma paketinin tam yolu.

Windows'ta, yükseltilmiş bir PowerShell 7 oturumundan.

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

Linux'ta, PowerShell'i sudo kullanarak çalıştırarak.

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

Komut yalnızca hatalar oluştuğunda çıktı döndürür. sırasında Setgerçekleşen olaylarla ilgili ayrıntıları gidermek için parametresini -verbose kullanın.

komutunu Start-GuestConfigurationPackageRemediationçalıştırdıktan sonra, makinenin artık doğru durumda olduğunu onaylamak için komutunu Get-GuestConfigurationComplianceStatus yeniden çalıştırabilirsiniz.

Sonraki adım