Powershell DSC Nedir

Powershell DSC (Desired State Configuration), Microsoft’un standartlara dayalı bir biçimde declarative modele dayalı yapılandırma yönetim sağlama girişimidir. Burada önemli bir ayrım var:
Geleneksel imperative modelde bir bilgisayara nasıl çalışması gerektiğinin talimatını verirsiniz ve bilgisayar o şekilde çalışır. Powershell DSC ise declerative modelere dayalıdır. Yani siz bilgisayara nasıl görünmesini istediği belirten bir konfigürasyon dosyası oluşrurursunuz bilgisayar artık bu konfigürasyon dosyasına göre davranması gerektiğini bilir. Aksi bir durum oluştuduğunda her zaman sizin belirttiğiniz konfigürasyona döner veya dönmeye çalışır.

Bu durum bizim imperative modelde kullandığımız, komutlar ile oldurma methodundaan farklıdır.

Geleneksel olarak, biz Windows sistem yöneticileri komut dosyalarını zorunlu modda yazarız, yani her bir komut dosyasının ince bir şekilde oluşturulması ve ayarlanması ve her bir görevi gerçekleştirmek için o komutların nasıl işleneceğini tek tek belirtmemiz gerekir. Bu gerçekten zaman alıcı bir iş. DSC ile declerative modele geçiyoruz, yani bilgisayara ne olması gerektiğini söyleyen “komut dosyaları” yazıyoruz ve bilgisayar bununla ilgileniyor. Ve geleneksel anlamda “komut dosyası” değiller çünkü çok az programlama içeriyorlar. Hem sizin hem de bilgisayarın anlayabileceği özel bir talimat seti kullanırlar.

 

Powershell DSC Nedir ve Konfigürasyonu Nasıl Yapılır

Aşağıdaki örnek ile Powershell DSC çok daha net bir şekilde anlaşılacaktır.
Örneğimizde Print spooler servisi olsun. Print spooler servisinin her zaman çalışır durumda olmasını sağlamak için imprerative modelde kullanılan scriptler de yok değildi. İşte aşağıdaki örnekte bir task schedulara bağladığınız takdirde print spooler servisini sürekli ayakta tutacak bir imperative code

Aşağıda ise print spooler servisinin nasıl olması gerektiğini DSC ile şu şekilde belirtiyorum.

Service Spooler {

Name = ‘Spooler’
State = ‘Running’

}

 

Bunu DSC koduna tam olarak dökecek olup bir fonksiyona bağlarsam kodum aşağıdaki gibi olacak.

 

GET-DSCRESOURCE

Get-Dscresource komutu ile bilgisayar üzerindeki tüm dsc resourceleri görüntülenir.

Get-DscResource cmdlet’i, bilgisayarda bulunan Windows PowerShell Desired State Configuration (DSC) kaynaklarını alır. Bu cmdlet, yalnızca PSModulePath’te yüklü olan kaynakları keşfeder.

 

Syntax to manage Services

Bir DSC konfigürasyonu altındaki ayarları görüntülemek için -syntax parametresini kullanırız.

Örneğin aşağıdaki komutla DSC service altında kullanabileceğimiz konfigürasyon detaylarını görebiliriz. Service yerine file derseniz file için kullanılacak konfigürasyonlar görüntülenir.

 

DSC Konfigürasyonunu kontrol etme

Aşağıdaki komut ile DSC konfigürasyonu success mi yoksa false durumda mı ve en son ne DSC dosyası kontrol edilmiş görebilirsiniz.

Yazının sonuna kadar okuduysanız Powershell DSC ile gerçekten ilgilisiniz demektir. Aşağıdaki yazımda Powershell DSC konfigürasyonunun nasıl yapıldığını bulabilirsiniz.

https://www.aliortul.net/powershell-dsc-konfigurasyonu.html