System Center Orchestrator ile Execute Powershell Script Kullanarak Çoklu Makineler için Otomasyon
  1. Anasayfa
  2. Orchestrator (SCorh)

System Center Orchestrator ile Execute Powershell Script Kullanarak Çoklu Makineler için Otomasyon

1

Çoğu zaman sistem yöneticilerinin yazdığı powershell scriptlerini birden fazla makinede çalıştırıp; bu scripti Task Scheduler üzerinden otomatize etmesi gerekir. Böyle senaryoları daha sade hale getirmek ve merkezileştirmek için Microsoft’un System Center Orchestrator ürünü oldukça işimize yarayacaktır.

Birçok kurumda adminlerin ya da yazılımcıların yazdığı kodların, scriptlerin makine üzerinde bulunması, task scheduler kullanması istenmeyen bir durumdur. Bu tür durumların önüne geçmek için merkezi olarak kullanılan otomasyon ürünlerinin kullanılması kaçınılmazdır. Nitekim yazılan scriptler ve task scheduler tanımları herhangi bir makinede bulunduğunda silinebilmekte, değiştirilebilmekte ve çoğu zaman da BT Güvenlik ekiplerinin zafiyet taramalarında çıkmaktadır. Bu sebepten süreçlerimizi daha merkezi hale getirip lisanslı otomasyon ürünlerimizi kullanmamız bu tür durumların önüne geçecektir.

Bu senaryoda birden fazla makine çalışması gereken bir Powershell scripti nasıl çalıştıracağımızı ve bu scriptin çalışma gereksinimlerini nasıl daha kolay karşılayacağımızı Orchestrator ürünü ile göreceğiz.

Orchestrator ortamımızda, yazdığımız Powershell scripti verdiğimiz belirli bir saat diliminde, birden fazla makinede, Invoke olarak çalışıp, her bir makinede işlemini yapacak ve sonrasında işlemle ilgili mail attıracak şekilde tasarlayacağız.

İlk olarak Powershell scripti çalıştıracağımız makine listesini bir dosya yolu ya da veritabanı tablosundan çekmeliyiz. Bu senaryoda verdiğimiz dosya yolunda bulunan text uzantılı dosyaya yazdığımız makine listesini tek hamlede çekip Powershell scriptini makinelere burdan göndereceğiz. Bu işlem günlük olarak belirli bir saatte, her gün çalışacak. Bu yüzden belirttiğimiz dosya yolundaki text uzantılı dosyayı Powershell koduyla kopyasını alıp sürekli olarak Orchestrator runbook içerisinde döndürmeliyiz; işlem bitince de kopya text dosyasını silmeliyiz. Bu işlem döngüsel olarak sürekli tekrarlanmalıdır.

İlk runbookumuzun tasarlanma aşaması aşağıdaki gibi olacaktır:

Resim-1

Şimdi bu akışı parça parça açıklayalım:

Resim-2

Resim-3

Bu aşamadan sonra Powershell scriptimizin bulunduğu diğer runbookumuzu akışa ekliyoruz:

Resim-4

Bir sonraki aşamada kopya için oluşturduğumuz geçici text uzantılı dosyayı tüm işlemler bittikten sonra Powershell scripti ile kaldırıyoruz ve ilk runbookumu tamamlıyoruz:

Resim-5

İkinci runbookumuzun tasarlanma aşaması ve genel akış diyagramı:

Resim-6

Makine listemizi runbook içerisine aldık. Bu aşamadan sonra ikinci bir runbook ile Powershell scriptimizi çağırıp her bir makine için scriptin çalışmasını sağlayacağımız akışı tasarlayacağız:

Resim-7

Şimdi sıra Powershell scriptimizi ilgili runbook içerisine koymaya geldi. “Execute PS Script” aktivitesine powershell scriptimizi koyup düzenleyeceğiz.

Buradaki önemli nokta “PS Script 01” yazan kısma Powershell scriptimizi kopyaladıktan sonra gerekli isterlerin girilmesidir. Öncelikli olarak ilgili makinelere Orchestrator ürünün bulunduğu makinenin 5985 portu üzerinden erişimi olması gerekmektedir. Aksi takdirde Powershell scripti çalışmayacaktır. Ayrıca scripti çalıştıracağımız kullanıcı ve domain bilgileri de girilmek zorundadır.

Resim-8

Resim-9

Powershell scripti yukardaki gibi ayarlandıktan sonra işlemlerle ilgili başarılı ya da başarısız olma durumuna göre mail attırabiliriz. Bunun için tanımlı bir SMTP adresimizin olması ve mail gönderecek adresin relay yetkisinin olması gerekmektedir.

Resim-10

Resim-11

Resim-12

Bu kısmı da tamamladıktan sonra, diğer bir runbook ile bu scriptin ne zaman çalışacağını belirleyeceğimiz runbookumuzu tasarlayacağız.

Üçüncü ve son runbookumuzun genel akış diyagramı:

Resim-13

“Monitor Date/Time” aktivitesi içine scriptimizin ne zaman çalışacağını yazıyoruz:

Resim-14

Monitor edeceğimiz runbookumuzu çağırıyoruz:

Resim-15

 

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Kapak Fotoğrafı bkz. https://www.channelfutures.com

 

TAGs: execute local powershell script on remote machine,powershell script,System Center Orchestrator,System Center Orchestrator ile Execute Powershell Script Kullanarak Çoklu Makineler için Otomasyon

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 1
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

1989 yılında Samsun’da doğdu. Üniversite öncesi öğrenimini Samsun’da tamamladı. Ondokuz Mayıs Üniversitesi Bilgisayar Mühendisliği mezunudur. Aynı zamanda Kocaeli Üniversitesi’nde MBA yapmaktadır. IT System Administrator olarak 2014'den beri birçok firmada görev almıştır. Şu an özel bir bankada IT System Administrator olarak çalışmaktadır. MSHOWTO bünyesinde; Windows Server, Powershell, IT Automation Projects, System Center Orchestrator, SCOM, SCCM, Cloud Solutions alanlarında yazarlık yapmaktadır.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. Merhaba, elinizde bu runbook’ta kullandığınız powershell için olan integration pack var mı?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir