Ekstensi DSC PowerShell
Catatan
Sebelum Anda mengaktifkan ekstensi DSC, kami ingin Anda mengetahui bahwa versi DSC yang lebih baru sekarang tersedia secara umum, dikelola oleh fitur Konfigurasi mesin bernama Azure Automange. Fitur konfigurasi komputer menggabungkan fitur handler ekstensi Desired State Configuration (DSC), Konfigurasi Status Azure Automation, dan fitur yang paling umum diminta dari umpan balik pelanggan. Konfigurasi komputer juga mencakup dukungan komputer hibrid melalui server yang diaktifkan Arc.
Gambaran Umum
Ekstensi PowerShell DSC untuk Windows diterbitkan dan didukung oleh Microsoft. Ekstensi mengunggah dan menerapkan Konfigurasi PowerShell DSC pada Azure VM. Ekstensi DSC memanggil PowerShell DSC untuk memberlakukan konfigurasi DSC yang diterima pada VM. Dokumen ini merinci platform, konfigurasi, dan opsi penyebaran yang didukung untuk ekstensi mesin virtual agen Dependensi Azure VM untuk Windows.
Prasyarat
Sistem operasi
Ekstensi DSC mendukung OS berikut
Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012R2, Windows Server 2012, Windows Server 2008 R2 SP1, Windows Client 7/8.1/10
Konektivitas internet
Ekstensi DSC untuk Windows mengharuskan mesin virtual target dapat berkomunikasi dengan Azure dan lokasi paket konfigurasi (file.zip) jika disimpan di lokasi di luar Azure.
Skema ekstensi
JSON berikut ini memperlihatkan skema untuk bagian pengaturan Ekstensi DSC dalam templat Azure Resource Manager.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "Microsoft.Powershell.DSC",
"apiVersion": "2018-10-01",
"location": "<location>",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.77",
"autoUpgradeMinorVersion": true,
"settings": {
"wmfVersion": "latest",
"configuration": {
"url": "http://validURLToConfigLocation",
"script": "ConfigurationScript.ps1",
"function": "ConfigurationFunction"
},
"configurationArguments": {
"argument1": "Value1",
"argument2": "Value2"
},
"configurationData": {
"url": "https://foo.psd1"
},
"privacy": {
"dataCollection": "enable"
},
"advancedOptions": {
"forcePullAndApply": false,
"downloadMappings": {
"specificDependencyKey": "https://myCustomDependencyLocation"
}
}
},
"protectedSettings": {
"configurationArguments": {
"parameterOfTypePSCredential1": {
"userName": "UsernameValue1",
"password": "PasswordValue1"
},
"parameterOfTypePSCredential2": {
"userName": "UsernameValue2",
"password": "PasswordValue2"
}
},
"configurationUrlSasToken": "?g!bber1sht0k3n",
"configurationDataUrlSasToken": "?dataAcC355T0k3N"
}
}
}
Nilai properti
Nama | Nilai / Contoh | Jenis Data |
---|---|---|
apiVersion | 2018-10-01 | date |
penerbit | Microsoft.Powershell.DSC | string |
jenis | DSC | string |
typeHandlerVersion | 2.77 | int |
Pengaturan Nilai properti
Nama | Jenis Data | Deskripsi |
---|---|---|
settings.wmfVersion | string | Menentukan versi Windows Management Framework (WMF) yang harus diinstal pada VM Anda. Menyetel properti ini ke 'terbaru' akan menginstal versi WMF yang paling diperbarui. Satu-satunya nilai yang mungkin saat ini untuk properti ini adalah ‘4.0’, ‘5.0’, dan ‘terbaru’. Nilai yang mungkin dapat diperbarui. Nilai defaultnya adalah 'terbaru'. |
settings.configuration.url | string | Menentukan lokasi URL dari mana untuk mengunduh file zip konfigurasi DSC Anda. Jika URL yang disediakan memerlukan token SAS untuk akses, Anda harus mengatur protectedSettings.configurationUrlSasToken ke nilai token SAS Anda. Properti ini diperlukan jika settings.configuration.script dan/settings.configuration.function didefinisikan. |
settings.configuration.script | string | Menentukan nama berkas skrip yang memuat definisi konfigurasi DSC Anda. Skrip ini harus berada di folder root dari file zip yang diunduh dari URL yang ditentukan oleh properti configuration.url. Properti ini diperlukan jika settings.configuration.url dan/atau settings.configuration.script didefinisikan. |
settings.configuration.function | string | Menentukan nama konfigurasi DSC Anda. Konfigurasi bernama harus terdapat dalam skrip yang didefinisikan oleh configuration.script. Properti ini diperlukan jika settings.configuration.url dan/atau settings.configuration.function ditentukan. |
settings.configurationArguments | Koleksi | Menentukan parameter apa pun yang ingin Anda berikan ke konfigurasi DSC Anda. Properti ini tidak akan dienkripsi. |
settings.configurationData.url | string | Menentukan URL tempat mengunduh file data konfigurasi (.pds1) Anda untuk digunakan sebagai input untuk konfigurasi DSC Anda. Jika URL yang disediakan memerlukan token SAS untuk akses, Anda harus mengatur protectedSettings.configurationUrlSasToken ke nilai token SAS Anda. |
settings.privacy.dataEnabled | string | Mengaktifkan atau menonaktifkan koleksi telemetri. Satu-satunya nilai yang mungkin untuk properti ini adalah 'Aktifkan', 'Nonaktifkan', ", atau $null. Membiarkan properti ini kosong atau null akan mengaktifkan telemetri |
settings.advancedOptions.forcePullAndApply | Bool | Pengaturan ini dirancang untuk meningkatkan pengalaman bekerja dengan ekstensi untuk mendaftarkan node dengan Azure Automation DSC. Jika nilainya $true , ekstensi akan menunggu untuk menjalankan pertama konfigurasi yang ditarik dari layanan sebelum mengembalikan keberhasilan / kegagalan. Jika nilai diatur ke $false, status yang dikembalikan oleh ekstensi hanya akan merujuk pada apakah node berhasil didaftarkan dengan Konfigurasi Status Azure Automation dan konfigurasi node tidak akan dijalankan selama pendaftaran. |
settings.advancedOptions.downloadMappings | Koleksi | Menentukan lokasi alternatif untuk mengunduh dependensi seperti WMF dan .NET |
Nilai Properti Pengaturan Terproteksi
Nama | Jenis Data | Deskripsi |
---|---|---|
protectedSettings.configurationArguments | string | Menentukan parameter apa pun yang ingin Anda berikan ke konfigurasi DSC Anda. Properti ini akan dienkripsi. |
protectedSettings.configurationUrlSasToken | string | Menentukan token SAS untuk mengakses URL yang ditentukan oleh configuration.url. Properti ini akan dienkripsi. |
protectedSettings.configurationDataUrlSasToken | string | Menentukan token SAS untuk mengakses URL yang ditentukan oleh configuration.url. Properti ini akan dienkripsi. |
Penyebaran templat
Ekstensi Azure VM dapat disebarkan dengan templat Azure Resource Manager. Templat sangat ideal saat menyebarkan satu atau beberapa komputer virtual yang memerlukan konfigurasi pasca penyebaran. Contoh templat Resource Manager yang menyertakan ekstensi DSC untuk Windows dapat ditemukan di Galeri Mulai Cepat Azure.
Pemecahan masalah dan dukungan
Pecahkan masalah
Data tentang status penyebaran ekstensi dapat diambil dari portal Azure dan dengan menggunakan Azure CLI. Untuk melihat status penyebaran ekstensi untuk VM tertentu, jalankan perintah berikut menggunakan Azure CLI.
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
Paket ekstensi diunduh dan disebarkan ke lokasi ini pada Azure VM
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}
File status ekstensi berisi sub status dan kode keberhasilan/ kesalahan status bersama dengan kesalahan terperinci dan deskripsi untuk setiap ekstensi berjalan.
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}\Status\{0}.Status -> {0} being the sequence number
Log keluaran ekstensi dicatat ke direktori berikut:
C:\WindowsAzure\Logs\Plugins\{Extension_Name}\{Extension_Version}
Kode kesalahan dan maknanya
Kode Kesalahan | Makna | Kemungkinan Tindakan |
---|---|---|
1000 | Kesalahan generik | Pesan untuk galat ini disediakan oleh pengecualian tertentu dalam log ekstensi |
52 | Kesalahan Penginstalan Ekstensi | Pesan untuk galat ini disediakan oleh pengecualian tertentu dalam log ekstensi |
1002 | Kesalahan Pemasangan Wmf | Kesalahan saat menginstal WMF. |
1004 | Paket Zip Tidak Valid | Kode pos tidak valid; Kesalahan saat membuka zip |
1100 | Kesalahan Argumen | Menunjukkan masalah dalam input yang disediakan oleh pengguna. Pesan untuk galat ini disediakan oleh pengecualian tertentu dalam log ekstensi |
Dukungan
Jika Anda memerlukan bantuan lebih lanjut kapan saja dalam artikel ini, Anda dapat menghubungi pakar Azure di forum Azure MSDN dan Stack Overflow. Atau, Anda dapat mengajukan insiden dukungan Azure. Buka situs dukungan Azure dan pilih Dapatkan dukungan. Untuk mengetahui informasi tentang cara menggunakan Dukungan Azure, baca FAQ dukungan Microsoft Azure.