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 Azure Automange bernama konfigurasi komputer. Fitur konfigurasi mesin menggabungkan fitur handler ekstensi Desired State Configuration (DSC), Azure Automation State Configuration, 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 tanggal
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. Template 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.

Memecahkan masalah dan mendukung

Pecahkan masalah

Data tentang status penyebaran ekstensi dapat diambil dari portal Azure dan dengan menggunakan Azure CLI. Untuk melihat status penyebaran ekstensi untuk komputer virtual 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 galat dan maknanya

Kode Kesalahan Makna Tindakan yang Memungkinkan
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 memerlukan bantuan lebih lanjut pada titik mana pun dalam artikel ini, Anda dapat menghubungi pakar Azure di Forum MSDN Azure 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.