Sumber Daya DSC

Berlaku untuk Windows PowerShell 4.0 dan yang lebih baru.

Gambaran Umum

Konfigurasi Status yang Diinginkan (DSC) Sumber daya menyediakan blok penyusun untuk konfigurasi DSC. Sumber daya mengekspos properti yang dapat dikonfigurasi (skema) dan berisi fungsi skrip PowerShell yang dipanggil oleh Manajer Konfigurasi Lokal (LCM) untuk "membuatnya demikian".

Sumber daya dapat memodelkan sesuatu yang generik seperti file atau spesifik seperti pengaturan server IIS. Grup sumber daya serupa digabungkan ke dalam Modul DSC, yang mengatur semua file yang diperlukan ke dalam struktur yang portabel dan menyertakan metadata untuk mengidentifikasi bagaimana sumber daya dimaksudkan untuk digunakan.

Setiap sumber daya memiliki skema *yang menentukan sintaks yang diperlukan untuk menggunakan sumber daya dalam Konfigurasi. Skema sumber daya dapat ditentukan dengan cara berikut:

  • Schema.Mof file: Sebagian besar sumber daya menentukan skema mereka dalam schema.mof file, menggunakan Format Objek Terkelola.
  • <Resource Name>.schema.psm1 file: Sumber Daya Komposit menentukan skemanya dalam <ResourceName>.schema.psm1 file menggunakan Blok Parameter.
  • <Resource Name>.psm1 file: Sumber daya DSC berbasis kelas menentukan skemanya dalam definisi kelas. Item sintaks dilambangkan sebagai properti Kelas. Untuk informasi selengkapnya, lihat about_Classes.

Untuk mengambil sintaks untuk sumber daya DSC, gunakan cmdlet Get-DSCResource dengan parameter Sintaks . Penggunaan ini mirip dengan menggunakan Get-Command dengan parameter Sintaks untuk mendapatkan sintaks cmdlet. Output yang Anda lihat akan menampilkan templat yang digunakan untuk blok sumber daya untuk sumber daya yang Anda tentukan.

Get-DscResource -Syntax Service

Output yang Anda lihat harus mirip dengan output di bawah ini, meskipun sintaks sumber daya ini dapat berubah di masa mendatang. Seperti sintaks cmdlet, kunci yang terlihat dalam tanda kurung siku, bersifat opsional. Jenis menentukan jenis data yang diharapkan setiap kunci.

Nota

Kunci Pastikan bersifat opsional karena default ke "Present".

Service [String] #ResourceName
{
    Name = [string]
    [BuiltInAccount = [string]{ LocalService | LocalSystem | NetworkService }]
    [Credential = [PSCredential]]
    [Dependencies = [string[]]]
    [DependsOn = [string[]]]
    [Description = [string]]
    [DisplayName = [string]]
    [Ensure = [string]{ Absent | Present }]
    [Path = [string]]
    [PsDscRunAsCredential = [PSCredential]]
    [StartupType = [string]{ Automatic | Disabled | Manual }]
    [State = [string]{ Running | Stopped }]
}

Nota

Di PowerShell versi di bawah 7.0, Get-DscResource tidak menemukan sumber daya DSC berbasis Kelas.

Di dalam Konfigurasi, blok sumber daya Layanan mungkin terlihat seperti ini untuk Memastikan bahwa layanan Spooler sedang berjalan.

Nota

Sebelum menggunakan sumber daya dalam Konfigurasi, Anda harus mengimpornya menggunakan Import-DSCResource.

Configuration TestConfig
{
    # It is best practice to always directly import resources, even if the
    # resource is a built-in resource.
    Import-DSCResource -Name Service
    Node localhost
    {
        # The name of this resource block, can be anything you choose, as l
        # ong as it is of type [String] as indicated by the schema.
        Service "Spooler - Running"
        {
            Name = "Spooler"
            State = "Running"
        }
    }
}

Konfigurasi dapat berisi beberapa instans dari jenis sumber daya yang sama. Setiap instans harus diberi nama yang unik. Dalam contoh berikut, blok sumber daya Layanan kedua ditambahkan untuk mengonfigurasi layanan "DHCP".

Configuration TestConfig
{
    # It is best practice to always directly import resources, even if the
    # resource is a built-in resource.
    Import-DSCResource -Name Service
    Node localhost
    {
        # The name of this resource block, can be anything you choose, as
        # long as it is of type [String] as indicated by the schema.
        Service "Spooler - Running"
        {
            Name = "Spooler"
            State = "Running"
        }

        # To configure a second service resource block, add another Service
        # resource block and use a unique name.
        Service "DHCP - Running"
        {
            Name = "DHCP"
            State = "Running"
        }
    }
}

Nota

Dimulai di PowerShell 5.0, IntelliSense ditambahkan untuk DSC. Fitur baru ini memungkinkan Anda menggunakan TAB dan Ctr+Space untuk melengkapi nama kunci secara otomatis.

Sumber Daya IntelliSense menggunakan Penyelesaian Tab

Jenis sumber daya

Windows hadir dengan sumber daya bawaan dan Linux memiliki sumber daya khusus OS. Ada sumber daya untuk dependensi lintas simpul, sumber daya manajemen paket, serta sumber daya yang dimiliki dan dipelihara komunitas. Anda dapat menggunakan langkah-langkah di atas untuk menentukan sintaks sumber daya ini dan cara menggunakannya. Halaman yang menyajikan sumber daya ini telah diarsipkan di bawah Referensi.

Sumber daya bawaan Windows

Sumber daya dependensi lintas simpul

Sumber daya Manajemen Paket

Sumber daya Linux

DSC untuk sumber daya Linux tidak digunakan lagi. Untuk informasi selengkapnya, lihat DSC untuk Sumber Daya Linux.