Cara menguji artefak paket konfigurasi mesin

GuestConfiguration modul PowerShell menyertakan alat untuk mengotomatiskan pengujian paket konfigurasi di luar Azure. Gunakan alat ini untuk menemukan masalah dan mengulang dengan cepat sebelum beralih untuk melakukan pengujian di lingkungan yang tersambung dengan Azure atau Arc.

Sebelum dapat mulai menguji, Anda perlu menyiapkan lingkungan penulisan dan membuat artefak paket konfigurasi komputer kustom.

Penting

Paket kustom yang mengaudit status lingkungan dan menerapkan konfigurasi berada dalam status dukungan Generally Available (GA). Namun, batasan berikut berlaku:

Untuk menggunakan paket konfigurasi komputer yang menerapkan konfigurasi, ekstensi konfigurasi tamu Azure VM versi 1.26.24 atau yang lebih baru, atau agen Arc 1.10.0 atau yang lebih baru, diperlukan.

Modul GuestConfiguration hanya tersedia di Ubuntu 18 dan yang lebih baru. Namun, paket dan kebijakan yang dihasilkan oleh modul dapat digunakan pada distro/versi Linux apa pun yang didukung di Azure atau Arc.

Paket pengujian di macOS tidak tersedia.

Anda bisa menguji paket tersebut dari stasiun kerja atau lingkungan integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD). Modul GuestConfiguration menyertakan agen yang sama untuk lingkungan pengembangan Anda seperti yang digunakan di dalam komputer yang diaktifkan Azure atau Arc. Agen ini mencakup instans PowerShell 7.1.3 yang berdiri sendiri untuk Windows dan 7.2.0-preview.7 untuk Linux. Instans mandiri memastikan lingkungan skrip tempat paket diuji konsisten dengan komputer yang Anda kelola menggunakan konfigurasi komputer.

Layanan agen di komputer dengan dukungan Azure dan Arc berjalan sebagai LocalSystem akun di Windows dan Root di Linux. Jalankan perintah dalam artikel ini dalam konteks keamanan istimewa untuk hasil terbaik.

Untuk menjalankan PowerShell seperti LocalSystem di Windows, gunakan alat SysInternals PSExec.

Untuk menjalankan PowerShell sebagai Root di Linux, gunakan perintah sudo.

Validasi bahwa paket konfigurasi memenuhi persyaratan

Pertama, uji apakah paket konfigurasi memenuhi persyaratan dasar menggunakan Get-GuestConfigurationPackageComplianceStatus. Perintah memverifikasi persyaratan paket berikut.

  • MOF tersedia dan valid, di lokasi yang tepat
  • Modul/dependensi yang diperlukan tersedia dengan versi yang tepat, tanpa duplikat
  • Validasi bahwa paket ditandatangani (opsional)
  • Uji apakah Test dan Get mengembalikan informasi tentang status kepatuhan

Parameter cmdlet Get-GuestConfigurationPackageComplianceStatus:

  • Jalur: Jalur file atau URI dari paket konfigurasi mesin.
  • Parameter: Parameter kebijakan disediakan sebagai tabel hash.

Ketika perintah ini dijalankan untuk pertama kalinya, agen konfigurasi mesin akan diinstal pada mesin uji di jalur C:\ProgramData\GuestConfig\bin di Windows dan /var/lib/GuestConfig/bin di Linux. Jalur ini tidak dapat diakses oleh akun pengguna sehingga perintah memerlukan elevasi.

Jalankan perintah berikut untuk menguji paket:

Pada Windows, dari sesi PowerShell 7 yang ditingkatkan.

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

Di Linux, dengan menjalankan PowerShell menggunakan sudo.

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

Perintah menghasilkan objek yang berisi status kepatuhan dan detail per sumber daya.

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

Uji apakah paket konfigurasi dapat menerapkan konfigurasi

Terakhir, jika mode paket konfigurasi adalah AuditandSet Anda dapat menguji apakah metode Set dapat menerapkan pengaturan ke mesin lokal menggunakan perintah Start-GuestConfigurationPackageRemediation.

Penting

Perintah ini mencoba untuk membuat perubahan di lingkungan lokal tempat perintah tersebut dijalankan.

Parameter cmdlet Start-GuestConfigurationPackageRemediation:

  • Jalur: Jalur lengkap dari paket konfigurasi mesin.

Pada Windows, dari sesi PowerShell 7 yang ditingkatkan.

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

Di Linux, dengan menjalankan PowerShell menggunakan sudo.

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

Perintah hanya mengembalikan output ketika kesalahan terjadi. Untuk memecahkan masalah detail tentang peristiwa yang terjadi selama Set, gunakan parameter -verbose.

Setelah menjalankan perintah Start-GuestConfigurationPackageRemediation, Anda dapat menjalankan perintah Get-GuestConfigurationComplianceStatus lagi untuk mengonfirmasi bahwa mesin sekarang berada pada status yang tepat.

Langkah selanjutnya