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

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

122319_1928_SystemCente1.png

Ç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 ü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ı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

 

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

Yorum Yap

Yazar Hakkında

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; Powershell, Python, SQL, System Center Orchestrator, Windows Server, SCOM, SCCM, Vmware, Hyper-V, Cisco UCS alanlarında yazarlık yapmaktadır.

Yorum Yap