DSC Kaynakları

Windows PowerShell 4.0 ve üzeri için geçerlidir.

Genel Bakış

İstenen Durum Yapılandırması (DSC) Kaynakları, DSC yapılandırması için yapı taşları sağlar. Kaynak, yapılandırılabilen özellikleri (şema) kullanıma sunar ve Yerel Configuration Manager'ın (LCM) "bunu yapmak" için çağırdığı PowerShell betik işlevlerini içerir.

Kaynak, dosya kadar genel veya IIS sunucu ayarı kadar özel bir şeyi modelleyebilir. Benzer kaynakların grupları, gerekli tüm dosyaları taşınabilir bir yapıda düzenleyen ve kaynakların nasıl kullanılması gerektiğini belirlemek için meta veriler içeren bir DSC Modülünde birleştirilir.

Her kaynağın, kaynağı bir Yapılandırmada kullanmak için gereken söz dizimini belirleyen bir *şeması vardır. Bir kaynağın şeması aşağıdaki yollarla tanımlanabilir:

  • Schema.Moffile: Çoğu kaynak, Yönetilen Nesne Biçimi'ni kullanarak şemalarını bir schema.mof dosyada tanımlar.
  • <Resource Name>.schema.psm1file: Bileşik Kaynaklar, şemalarını bir Parametre Bloğu kullanarak bir <ResourceName>.schema.psm1 dosyada tanımlar.
  • <Resource Name>.psm1 file: Sınıf tabanlı DSC kaynakları, şemalarını sınıf tanımında tanımlar. Sözdizimi öğeleri Sınıf özellikleri olarak gösterilir. Daha fazla bilgi için bkz. about_Classes.

DSC kaynağının söz dizimini almak için Syntax parametresiyle Get-DSCResource cmdlet'ini kullanın. Bu kullanım, cmdlet söz dizimini almak için Syntax parametresiyle Get-Command kullanmaya benzer. Gördüğünüz çıktı, belirttiğiniz kaynak için bir kaynak bloğu için kullanılan şablonu gösterecektir.

Get-DscResource -Syntax Service

Gördüğünüz çıktı aşağıdaki çıktıya benzer olmalıdır, ancak bu kaynağın söz dizimi gelecekte değişebilir. Cmdlet söz dizimi gibi, köşeli parantez içinde görülen anahtarlar da isteğe bağlıdır. Türler, her anahtarın beklediği veri türünü belirtir.

Uyarı

Emin ol tuşu isteğe bağlıdır çünkü varsayılan olarak "Mevcut" olarak ayarlanır.

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 }]
}

Uyarı

7.0'ın altındaki PowerShell sürümlerinde Sınıf Get-DscResource tabanlı DSC kaynaklarını bulmaz.

Yapılandırmanın içinde, Biriktirici hizmetinin çalıştığından emin olmak için Hizmet kaynak bloğu aşağıdaki gibi görünebilir.

Uyarı

Yapılandırmada bir kaynağı kullanmadan önce, Import-DSCResource kullanarak içeri aktarmanız gerekir.

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"
        }
    }
}

Yapılandırmalar aynı kaynak türünün birden çok örneğini içerebilir. Her örnek benzersiz olarak adlandırılmalıdır. Aşağıdaki örnekte, "DHCP" hizmetini yapılandırmak için ikinci bir Hizmet kaynak bloğu eklenmiştir.

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"
        }
    }
}

Uyarı

PowerShell 5.0'dan başlayarak DSC için IntelliSense eklendi. Bu yeni özellik, anahtar adlarını otomatik olarak tamamlamak için TAB ve Ctr+Space'i kullanmanıza olanak tanır.

Sekme Tamamlama kullanarak IntelliSense kaynağı

Kaynak türleri

Windows yerleşik kaynaklarla birlikte gelir ve Linux'un işletim sistemine özgü kaynakları vardır. Düğümler arası bağımlılıklar, paket yönetimi kaynakları ve topluluğa ait ve bakımı yapılan kaynaklar için kaynaklar vardır. Bu kaynakların sözdizimini ve nasıl kullanılacağını belirlemek için yukarıdaki adımları kullanabilirsiniz. Bu kaynaklara hizmet veren sayfalar Referans altında arşivlenmiştir.

Windows yerleşik kaynakları

Düğümler arası bağımlılık kaynakları

Paket Yönetimi kaynakları

Linux kaynakları

Linux kaynakları için DSC kullanım dışıdır. Daha fazla bilgi için bkz.