Aracılığıyla paylaş


Yapılandırma Yazma, Derleme ve Uygulama

Şunlar için geçerlidir: Windows PowerShell 4.0, Windows PowerShell 5.0

Bu alıştırma, baştan sona bir Desired State Configuration (DSC) yapılandırması oluşturma ve uygulama adımlarını gösterir. Aşağıdaki örnekte, çok basit bir Yapılandırma yazmayı ve uygulamayı öğreneceksiniz. Yapılandırma, yerel makinenizde bir "HelloWorld.txt" dosyası olmasını sağlar. Dosyayı silerseniz, DSC dosyayı bir sonraki güncelleştirmede yeniden oluşturur.

DSC'nin ne olduğuna ve nasıl çalıştığına genel bakış için bkz. Geliştiriciler için genel bakış Desired State Configuration.

Gereksinimler

Bu örneği çalıştırmak için PowerShell 4.0 veya üzerini çalıştıran bir bilgisayara ihtiyacınız olacaktır.

Yapılandırmayı yazma

DSC Yapılandırması , bir veya daha fazla hedef bilgisayarı (Düğümler) nasıl yapılandırmak istediğinizi tanımlayan özel bir PowerShell işlevidir.

PowerShell ISE'de veya başka bir PowerShell düzenleyicisinde aşağıdakileri yazın:

Configuration HelloWorld {

    # Import the module that contains the File resource.
    Import-DscResource -ModuleName PsDesiredStateConfiguration

    # The Node statement specifies which targets to compile MOF files for, when
    # this configuration is executed.
    Node 'localhost' {

        # The File resource can ensure the state of files, or copy them from a
        # source to a destination with persistent updates.
        File HelloWorld {
            DestinationPath = "C:\Temp\HelloWorld.txt"
            Ensure = "Present"
            Contents   = "Hello World from DSC!"
        }
    }
}

Önemli

Aynı yapılandırmada birçok DSC Kaynağıyla çalışabilmeniz için birden çok modülün içeri aktarılması gereken daha gelişmiş senaryolarda, kullanarak Import-DscResourceher modülü ayrı bir satıra yerleştirdiğinizden emin olun. Bu, kaynak denetiminde daha kolaydır ve Azure State Configuration'de DSC ile çalışırken gereklidir.

 Configuration HelloWorld {

  # Import the module that contains the File resource.
  Import-DscResource -ModuleName PsDesiredStateConfiguration
  Import-DscResource -ModuleName xWebAdministration

Dosyayı "HelloWorld.ps1" olarak kaydedin.

Yapılandırma tanımlamak, İşlev tanımlamaya benzer. Node bloğu, bu örnekte localhostyapılandırılacak hedef düğümü belirtir.

Yapılandırma tek bir kaynağı, File kaynağı çağırır. Kaynaklar, hedef düğümün yapılandırma tarafından tanımlanan durumda olmasını sağlama işini yapar.

Yapılandırmayı derleme

Bir DSC yapılandırmasının bir düğüme uygulanması için önce bir MOF dosyasına derlenmiş olması gerekir. Yapılandırmanın bir işlev gibi çalıştırılması, blok tarafından Node tanımlanan her Node için bir .mof dosya derler. Yapılandırmayı çalıştırmak için betiğinizin HelloWorld.ps1kaynağını geçerli kapsama eklemeniz gerekir. Daha fazla bilgi için bkz. about_Scripts.

BetiğiniziHelloWorld.ps1, depoladığınız yola (nokta, boşluk) sonra . yazarak nokta kaynağı oluşturun. Ardından yapılandırmanızı işlev gibi çağırarak çalıştırabilirsiniz. Dot-source kullanmanız gerekmeyecek şekilde betiğin en altındaki yapılandırma işlevini de çağırabilirsiniz.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Bu, aşağıdaki çıkışı oluşturur:

Directory: C:\Scripts\HelloWorld


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        3/13/2017   5:20 PM           2746 localhost.mof

Yapılandırmayı uygulama

Artık derlenmiş MOF'ye sahip olduğunuzdan, Start-DscConfiguration cmdlet'ini çağırarak yapılandırmayı hedef düğüme (bu örnekte yerel bilgisayar) uygulayabilirsiniz.

Start-DscConfiguration Cmdlet, DSC altyapısı olan Yerel Configuration Manager (LCM)'ye yapılandırmayı uygulamasını söyler. LCM, yapılandırmayı uygulamak için DSC kaynaklarını çağırma işini yapar.

Cmdlet'ini yürütmek Start-DSCConfiguration için aşağıdaki kodu kullanın. Path parametresine depolandığı localhost.mof dizin yolunu belirtin. Start-DSCConfiguration Cmdlet, tüm <computername>.mof dosyalar için belirtilen dizine bakar. Start-DSCConfiguration Cmdlet bulduğu computername her .mof dosyayı dosya adı ("localhost", "server01", "dc-02" vb.) tarafından belirtilen dosyaya uygulamayı dener.

Not

-Wait Parametresi belirtilmezse, Start-DSCConfiguration işlemi gerçekleştirmek için bir arka plan işi oluşturur. parametresini -Verbose belirtmek, işlemin Ayrıntılı çıktısını watch olanak tanır. -Waitve -Verbose her ikisi de isteğe bağlı parametrelerdir.

Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait

Yapılandırmayı test edin

Start-DSCConfiguration Cmdlet tamamlandıktan sonra, belirttiğiniz konumda bir HelloWorld.txt dosya görmeniz gerekir. İçeriği Get-Content cmdlet'iyle doğrulayabilirsiniz.

Geçerli durumu Test-DSCConfiguration kullanarak da test edebilirsiniz.

Düğüm şu anda uygulanan Yapılandırma ile uyumluysa çıkış olmalıdır True .

Test-DSCConfiguration
True
Get-Content -Path C:\Temp\HelloWorld.txt
Hello World from DSC!

Yapılandırmayı yeniden uygulama

Yapılandırmanızın yeniden uygulandığını görmek için Yapılandırmanız tarafından oluşturulan metin dosyasını kaldırabilirsiniz. parametresiyle cmdlet'ini -UseExisting kullanınStart-DSCConfiguration. -UseExisting parametresi, en son başarıyla uygulanan yapılandırmayı temsil eden "current.mof" dosyasını yeniden uygulama yönergesi Start-DSCConfiguration verir.

Remove-Item -Path C:\Temp\HelloWorld.txt

Sonraki adımlar

  • DSC yapılandırmaları hakkında daha fazla bilgi için bkz. DSC yapılandırmaları.
  • Hangi DSC kaynaklarının kullanılabilir olduğunu ve DSC kaynaklarında özel DSC kaynaklarının nasıl oluşturulacağını görün.
  • PowerShell Galerisi DSC yapılandırmalarını ve kaynaklarını bulun.