DSC Kaynakları

Windows PowerShell 4.0 ve yukarısı için geçerlidir.

Genel Bakış

Desired State Configuration (DSC) Kaynakları, DSC yapılandırması için yapı taşları sağlar. Kaynak, yapılandırılabilir özellikleri (şema) kullanıma sunar ve Yerel Configuration Manager (LCM) tarafından "bunu yapmak" için çağırılan PowerShell betik işlevlerini içerir.

Kaynak, bir öğeyi dosya olarak genel veya IIS sunucu ayarı olarak özel olarak modelleyebilir. Gibi kaynak grupları, içindeki tüm gerekli dosyaları taşınabilir bir yapıda düzenleyen ve kaynakların nasıl kullanılmaya amaçlandığını belirlemek için meta veriler içeren bir DSC Modülünde birleştirilir.

Her kaynağın bir Yapılandırmada kaynağı 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çimini kullanarak şemalarını bir schema.mof dosyada tanımlar.
  • <Resource Name>.schema.psm1file: Bileşik Kaynaklar, parametre bloğu kullanarak bir <ResourceName>.schema.psm1 dosyadaki şemalarını tanımlar.
  • <Resource Name>.psm1 file: Sınıf tabanlı DSC kaynakları , sınıf tanımında şemalarını tanımlar. Söz dizimi öğeleri Sınıf özellikleri olarak belirtilir. Daha fazla bilgi için bkz. about_Classes.

DSC kaynağının söz dizimini almak için, Söz dizimi parametresiyle Get-DSCResource cmdlet'ini kullanın. Bu kullanım, cmdlet söz dizimini almak için Söz Dizimi parametresiyle Get-Command kullanmaya benzer. Gördüğünüz çıkışta, belirttiğiniz kaynak için kaynak bloğu için kullanılan şablon gösterilir.

Get-DscResource -Syntax Service

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

Not

Varsayılan olarak "Mevcut" olduğundan Emin olun anahtarı isteğe bağlıdı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 }]
}

Not

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

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

Not

Yapılandırmadaki 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"
        }
    }
}

Not

PowerShell 5.0 sürümünden itibaren DSC için IntelliSense eklenmiştir. Bu yeni özellik, tuş adlarını otomatik olarak tamamlamak için SEKME 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 işletim sistemine özgü kaynaklara sahiptir. Düğümler arası bağımlılıklar, paket yönetimi kaynakları ve topluluğa ait ve bakımlı kaynaklar için kaynaklar vardır. Bu kaynakların söz dizimini ve bunların nasıl kullanılacağını belirlemek için yukarıdaki adımları kullanabilirsiniz. Bu kaynaklara hizmet veren sayfalar Başvuru altında arşivlenmiştir.

Windows yerleşik kaynakları

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

Paket Yönetimi kaynakları

Linux kaynakları