DSC kaynakları

4,0 ve üzerinde Windows PowerShell için geçerlidir.

Genel Bakış

Desired State Configuration (DSC) kaynakları, DSC yapılandırmasına yönelik yapı taşları sağlar. Bir kaynak yapılandırılabilecek özellikleri (şema) ve yerel Configuration Manager (LCM) "bunu yap" olarak çağırdığı PowerShell betiği işlevlerini içerir.

Bir kaynak, bir şeyi dosya olarak veya bir IIS sunucu ayarı olarak genel olarak modelleyebilir. Benzer kaynak grupları bir DSC modülüne birleştirilir ve bu, içindeki tüm gerekli dosyaları taşınabilir bir yapıda düzenler ve kaynakların kullanılma amacını belirlemek için meta veriler içerir.

Her kaynakta, kaynağı bir yapılandırmadakullanmak için gereken sözdizimini belirleyen bir * şeması vardır. Bir kaynağın şeması aşağıdaki yollarla tanımlanabilir:

  • Schema.MofDosya: çoğu kaynak schema.mof , yönetilen nesne biçimikullanarak şemasını bir dosyada tanımlar.
  • <Resource Name>.schema.psm1Dosya: bileşik kaynaklar , <ResourceName>.schema.psm1 bir parametre bloğunukullanarak bir dosyadaki şemasını tanımlar.
  • <Resource Name>.psm1 Dosya: sınıf tabanlı DSC kaynakları, sınıf tanımında şemasını tanımlar. Sözdizimi öğeleri sınıf özellikleri olarak gösterilir. Daha fazla bilgi için bkz. about_Classes.

Bir DSC kaynağına yönelik sözdizimini almak için, Get-DSCResource cmdlet 'ini sözdizimi parametresiyle kullanın. Bu kullanım, cmdlet söz dizimini almak için sözdizimi parametresi ile Get-Command kullanılmasına benzer. Gördüğünüz çıktı, belirttiğiniz kaynak için bir kaynak bloğu için kullanılan şablonu gösterir.

Get-DscResource -Syntax Service

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

Not

Varsayılan değer "var" olduğundan, anahtarın isteğe bağlı olduğundan emin olun .

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 altındaki PowerShell sürümlerinde, Get-DscResource sınıf tabanlı DSC kaynaklarını bulamaz.

Bir yapılandırma içinde, bir hizmet kaynak bloğu, biriktirici hizmetinin çalıştığından emin olmak için şuna benzeyebilir.

Not

Bir yapılandırmada kaynak kullanmadan önce Import-DSCResourceöğesini 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"
        }
    }
}

Konfigürasyonlar aynı kaynak türünün birden fazla örneğini içerebilir. Her örnek benzersiz şekilde adlandırılmış olmalı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 ' den başlayarak, IntelliSense DSC için eklenmiştir. Bu yeni özellik, anahtar adlarını otomatik olarak tamamlayabilmeniz için Tab ve MrkSpace tuşlarını kullanmanıza olanak sağlar + .

Sekme tamamlamayı kullanarak kaynak IntelliSense

Kaynak türleri

Windows, yerleşik kaynaklarla ve Linux 'un işletim sistemine özgü kaynakları vardır. Platformlar arası bağımlılıklar, paket yönetim kaynakları ve topluluğa ait ve korunan kaynaklariçin kaynaklar vardır. Yukarıdaki adımları kullanarak, bu kaynakların söz dizimini ve bunların nasıl kullanılacağını belirleyebilirsiniz. Bu kaynaklara yönelik olan sayfalar başvuru altında arşivlendi.

Windows yerleşik kaynakları

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

Paket Yönetimi kaynakları

Linux kaynakları