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-DscResource
her 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 localhost
yapı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.ps1
kaynağı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. -Wait
ve -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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin