Powershell ile PowerBI kullanarak Real Time Dashboard yaratılması – Part 1

Powershell ile PowerBI kullanabilmemiz için PowerBIPS adında Modülüne ihtiyacımız bulunmaktadır. Bu Modül sayesinde, Powershell ile yaptığımız Monitoring için sorgulama sonuçlarını Microsoft PowerBI REST API kullanarak istediğimiz istekleri http üzerinden PowerBI içerisine gönderip anlık olarak verilerimizi takip edebiliriz.

Geçtiğimiz günlerde github üzerinden yayınlanan PowerBIPS Modulü içerisinde bulunan Cmdlet’ler sayesinde Powershell ile aldığınız sonuçları PowerBI üzerinde anlık olarak verilerini gönderebilir ve görüntüleyebilirsiniz. İlgili Powershell Modülüne ulaşmak için tıklayınız.

Powershell içerisine PowerBI Modülünün eklenmesi

Powershell Modülünü indirdikten sonra ilgili modül dosyalarının aktarılması gereken yeri “$Env:PSModulePath” değişkeni ile görebilirsiniz. Aşağıdaki örnekler ile işletim sistemindeki default olarak gelen Path adresleri listelenmiştir.

User bazında Powershell Modulü için;

  • %– USERPROFILE%DocumentsWindowsPowershellModulesPowerBIPS

Computer bazında Powershell Modülü için;

  • C:Windowssystem32WindowsPowerShellv1.0Modules

Computer bazında PowerBIPS ( PowerBI Powershell Module ) dosyalarını taşıdıktan sonra, Powershell Modülümüzün ulaşılabilir olup olmadığını hemen kontrol edelim.

PowerBIPS Modulü ile gelen komutları görmek için “Get-Command” cmdlet içerisine –Module parametresini gönderelim ve bu module ile gelen cmdlet listesine bakalım.

Yukarıdaki sonuçla PowerBIPS modulü ile kullanabileceğimiz cmdlet listesi karşımıza çıkmıştır. Şimdi bu cmdlet kısaca ne işe yarar ondan bahsedelim.

Cmdlet

Açıklaması

Add-PBITableRows Sonuçlarınızı veri kümeleri (datasets ) içerisine eklemenize yardımcı olur.
Clear-PBITableRows Veri Kümeleri ( Dataset) içerisindeki tüm satırları siler.
Get-PBIAuthToken PowerBI API’leri ile iletişim kurmak için gerekli olan kimlik bilgilerini alır.
Get-PBIDataSet Veri kümelerini çağrır ve içerisindeki tabloları görüntülemenize yardımcı olur.
New-PBIDataSet PowerBI içerisinde yeni bir veri kümesi oluşturulmasını sağlar
Out-PowerBI Powershell ile alınan sonuçları en kolay şekilde PowerBI içerisine aktarır
Test-PBIDataSet Gönderilen isme göre veri kümesi (dataset) olup olmadığını kontrol eder.
Update-PBITableSchema Veri kümeleri içerisndeki yapılandırmayı yeniyebilirsiniz.

Litigation Hold Nedir ? (Mahkeme Özelliğiyle Tut Nedir ?)

Posta kutusu neden mahkeme nedeniyle tutma durumuna alınır?

Kuruluşunuz bir yasal işlemle ilişkiliyse, kanıt olarak kullanılabilecek e-posta iletileri gibi ilgili verileri korumak için önlem almanız gerekebilir. Bu gibi durumlarda, belirli kişiler tarafından gönderilen ve alınan tüm e-postayı veya kuruluşunuzda belirli bir süre boyunca alınan ve gönderilen tüm e-postaları korumanız gerekebilir. Posta kutularını mahkeme nedeniyle tutma durumuna almak, bu tür yasal gereklilikleri sağlamanın ilk adımıdır. Genelde, posta kutularını keşif yöneticisi, avukat veya kuruluşunuzdaki diğer bir yetkili memur mahkeme nedeniyle tutma durumuna alır.

Bir posta kutusu mahkeme nedeniyle tutma durumuna alındığında ne olur?

Kullanıcılar iletilerini Silinmiş Öğeler klasöründen sildiğinde ya da bir posta kutusu öğesini kalıcı olarak silmek için Shift+Delete tuşlarına bastığında silinen öğeler kullanıcının posta kutusunda gizli bir klasöre kopyalanır. Bu klasöre Kurtarılabilir Öğeler adı verilir. Aynı zamanda dumpster adı da verilir.

Dumpster klasöründeki öğeler varsayılan olarak 14 gün tutulur, ardından Microsoft Exchange tarafından silinir. Bir posta kutusu mahkeme nedeniyle tutma durumuna alındığında Dumpster klasörü silinmez ve klasördeki öğeler süresizce saklanır. Mahkeme nedeniyle tutma durumu kullanıcının günlük e-posta akışını etkilemez, böylece kullanıcılar normalde olduğu gibi posta kutusu öğelerini değiştirip silmeye devam edebilirler.

Kullanıcılar öğeleri Dumpster klasöründen el ile silebilirler.

  • Microsoft Outlook 2010 Klasör sekmesini tıklatın, Silinmiş Öğeleri Kurtar > Seçili Öğeleri Temizle’yi seçin
  • Outlook Web App Silinmiş Öğeler > Silinmiş Öğeleri Kurtar > Seçili Öğeleri Temizle

Kullanıcının posta kutusu mahkeme nedeniyle tutma durumuna alınırsa, Microsoft Exchange Dumpster klasöründen el ile temizlenen öğeleri tutar.
Bir posta kutusu mahkeme nedeniyle tutma durumundan çıkarıldığında ne olur?
Bir posta kutusu artık mahkeme nedeniyle tutma durumunda olmadığında Microsoft Exchange silinen öğeleri ya da özellikleri değiştirilen öğelerin kopyalarını saklamaz. Mahkeme nedeniyle tutma nedeniyle tutulan öğeler anında Dumpster klasöründen silinmez ancak, Microsoft Exchange’in 14 günden eski öğeler için Dumpster klasörünü sonraki denetlemesinde temizlenir.

Bu özelliğimizden bu şekilde bahsettikten sonra Ofis 365 Online Portal üzerinde bu özelliğin nasıl devreye alındığını inceleyelim. Öncelikle portalımıza yönetici hesabımızla login olalım.
Litigation özelliğini aktif edeceğimiz ilgili kullanıcımıza gelip kullanıcının Exchange ayarlarına girerek “Litigation Hold” özelliğini enable ediniz. Sağ tarafta açılan pencerede ilgili kullanıcının ne kadar süreyle maillerinin saklanacağını belirmenizi istemektedir. Burayı boş bırakmanız durumunda sınırsız olarak tutmaktadır. İlgili seçeneği kendinize göre doldurarak aşağıdan “Save” butonuna tıklayarak işlemlerinizi tamamlayınız.

Kullanıcının maillerine daha sonradan portal üzerinden erişebilmemiz için Office 365 yönetici kullanıcımıza aşağıdaki hakları vermemiz gerekmektedir.
Aşağıda Member kısmına eklediğim kullanıcı portal üzerinde yöneticisine yetkisine sahip kullanıcıdır.

Not: İlgili hakları verdikten sonra 24 saat beklemeniz gerekmektedir.

Son aşamada ise 24 saat bekledikten sonra Litigation özelliğini aktif ettiğiniz kullanıcı ile ilgili maillere ulaşıp ulaşamadığımızın testini gerçekleştirebiliriz.


Karşımıza çıkan seçenekte sadece 1 kullanıcının maillerine ulaşmak istediğimiz için “Specify mailbox to search” seçeneğini seçerek hangi kullanıcının maillerine ulaşacaksak ilgili kullanıcıyı aşağıdaki gibi ekliyoruz.


Bir sonraki seçenekte aşağıda bize ilgili kullanıcının tüm maillerine mi yoksa sadece arama kriterlerine göre mi maillerini çekeceğini sormaktadır.

Arama Kriterleri ; Şu kişiden gelen mailler , Şu kişilere göndereilmiş mailler , Şu tarih aralığı gibi seçenekleri belirtebilirsiniz.

Ben tüm datayı görmek istediğim için aşağıdaki seçeneği seçerek ilerliyorum.


Finish diyerek kuralımızı tamamlıyoruz.


Panel üzerinden aşağıdaki gibi ilgili kullanıcının mailbox boyutuna göre kurtarılan maillerin indirilmeye hazır hale gelmesini beklemeniz gerekmektedir. Status kısmındaki “Estimate Succeeded” onayını aldıktan sonra maillerimizi bilgisayarımıza PST olarak indirebilmekteyiz.


PST’yi indirdikten sonra Outlook’a eklediğimizde kullanıcının tüm maillerine ulaşabileceğiz…


Not : Litigation Hold özelliğini kulanabilmeniz adına aşağıdaki paketlerden birine sahip olmanız gerekmektedir.

Office 365 temasını kuruluşunuz için özelleştirme

Office 365 İş aboneliğinizin yöneticisi olarak, üst gezinti çubuğunda gösterilen varsayılan temayı kuruluştaki herkes için değiştirebilirsiniz. Örneğin, burada gösterildiği gibi markanızla eşleşecek şekilde şirketinizin logosunu ve renklerini ekleyebilirsiniz (1 varsayılan temadır ve 2 de özelleştirilmiş temadır).

Varsayılan Office 365 temasının logosunu ve renklerini değiştirme

  • Özel tema oluşturma öğesini seçin.
  • Kuruluşunuz için istediğiniz tema öğelerini değiştirin:
    • Özel logo: Resmi seçin ve çözünürlüğü 200 x 50 piksel olan ve 10 KB’den büyük olmayan kendi JPG, PNG veya GIF dosyanızı karşıya yükleyin. Bu, her sayfanın üst gezinti çubuğunda gösterilir.
    • Tıklanabilir logonun URL’si: http:// veya https:// ile başlayarak logonun URL’sini girin. Bu isteğe bağlıdır.
    • Arka plan resmi: Resmi seçin ve 15 KB’den büyük olmayan kendi JPG, PNG veya GIF dosyanızı karşıya yükleyin. Arka plan resmi, her sayfanın üst gezinti çubuğunda gösterilir.
    • Kullanıcıların tema geçersiz kılmasını önlemek: kuruluşunuzdaki herkesin oluşturduğunuz tema görebilmesi için tema kullanıcı düzeyinde devre dışı bırakmak için bu onay kutusunu işaretleyin. Bu erişilebilirlik amacıyla kullanılan bir Yüksek Karşıtlık temasını istisnadır.
    • Tema rengi: Uygulama başlatıcı simgesi, üzerinde fare olan öğe ve diğer vurgular için bir renk seçin.
    • Gezinti çubuğu arka plan rengi: Gezinti çubuğunun arka planında kullanılacak rengi seçin. Bu, her sayfanın en üstünde gösterilir.
    • Metin ve simgeler: Üst gezinti çubuğundaki metin ve simgelerde kullanılacak rengi seçin.
    • Uygulama menüsü simgesi: Sol üst kısımdaki uygulama başlatıcısı simgesi için kullanılacak rengi seçin.
  • Kaydet‘e tıklayın.

Yeni temanızı Office 365 yönetici merkezinde hemen görürsünüz ve kısa bir gecikmeden sonra Outlook ve SharePoint sayfalarını da içeren Office 365 genelinde görürsünüz. Özel simgenizi veya özel renklerinizi istediğiniz zaman kaldırabilirsiniz. Tema sayfasına dönüp Özel temayı kaldır veya Özel renkleri kaldır‘ı seçmeniz yeterlidir.

Önemli   Temanızı özelleştirmeye ek olarak, Uygulamalarım sayfasına özel kutucuklar ekleyebilir ve sonra bunları uygulama başlatıcıya ekleyebileceğiniz gibi, gezinti çubuğuna da ekleyebilirsiniz.

Azure Automation – Part 3:Runbook Kullanımı

System Center Orchestrator içerisinde kullanılan bir kavram olan Runbook, Service Management Automation ve Azure Automation içerisinde aynı isimle anılmaktadır. Bir Runbook aktivitesi kurumunuz içerisin de tanımlı olan iş süreçlerini, sistem ve yazılım bileşenlerini içeren çeşitli şirket operasyonlarını bir araya getirilerek oluşturulduğu rutin süreçler olarak söylenebilir. İlgili Runbook senaryoları oluşturulurken en uygun çözümleri içeren akış şemaları çizilir. Bu süreçlere örnek verecek olursak, Maintance ve Life Cycle Management, Log Management.

Azure Automation üzerinde Runbook oluştururken karşımıza birçok yöntem çıkmaktadır. Şimdi bu kısımları sırasıyla inceleyelim.

  • Import Runbook : Kendi ortamınızda hazırlamış olduğunuz Powershell Workflow syntaxına uygun bir şekilde “.ps1” uzantılı dosyalarınızı upload yöntemiyle oluşturduğumuz yöntemdir.
  • Import From Gallery : Powershell ile ilgilenenler Technet Script Center üzerinden ihtiyacımız olan bir çok Powershell Script’lerini bulabilmekteyiz. Azure Automation için paylaşılan tüm hazır Runbook şablonlarına “Import runbooks from the Gallery” tıklayarak ulaşabilirsiniz. Gallery içerisine isterseniz, Automation Dashboard ekranından ulaşabilirsiniz.
  • Quick Create Runbook : Bu yöntem ile Automation hesabınız içerisin de yeni bir Runbook oluşturabilirsiniz. Oluşturduktan sonra, ihtiyacınıza göre Powershell Workflow’unuzu geliştirebilirsiniz.

Yukardakilerin dışında eklenebilecek ufak bir konu daha var. On-Premises yapıda kullanılan Orchestrator üzerinde bulunan mevcut flow chart yapısını Automation içerisine aktarmak istenildiği zaman akıllara Migration senaryoları gelmektedir. Bunun için Microsoft’un geliştirdiği System Center Orchestrator Migration Toolkit sayesinde SMA ve Azure Automation üzerine taşıma senaryolarını desteklemektedir.

Runbook oluşturma yöntemlerinden bahsettikten sonra, Quick Create yöntemiyle bir adet oluşturalım. Bunun için Azure Portal içerisinden “New” Butonua basılır,

Karşımıza gelen ekranda, Runbook > Quick Create tıklanarak, Runbook Name, Description, Automation Account gibi bilgiler belirtilir. Hemen alt kısımda dikkatimizi çekmesini istediğim nokta, “From Gallery” tıklanarak yukarıda bahsetmiş olduğumuz Runbook oluşturma adımlarının “Import From Gallery” buradan da gerçekleştirebilirisiniz.

Create butonuna tıkladıktan sonra, “PeakUp – StartVM” adındaki Runbook oluşturma işlemini tamamlayalım.

Azure Portal da Runbook oluşturma işlemi tamamlandıktan sonra, Automation Account içerisinden Runbook sekmesi içerisine gittiğimiz zaman artık Runbook içerisine Powershell Workflow yazabiliriz. İsteğe bağlı olarak yukarıda görüldüğü gibi “Edit Runbook” diyerek Runbook içerisine girebilir ve Powershell Workflow geliştirme sürecine başlayabilirsiniz. Şimdi Runbook aktivitesi içerisindeki sekmeleri sırasıyla ne iş yaptıklarını anlayalım.

Dashboard : Runbook içerisinden ulaştığımız bu sayfada görmek istediğiniz Runbook aktivitesi için özet görünüm sunar. Tarafımıza sunulan grafik isteğe bağlı olarak ekranın sağ üst köşesinden zaman aralığını belirtebilirsiniz. Bu gösterilen rapor içerisin de Runbook aktivitesinin “Queued, Failed, Stopped” gibi kavramlar göreceksiniz. Bu sayfayı lütfen Automation Account içerisinde anlattığımız Dashboard sayfası ile karıştırmayalım. Bu ekranda sadece seçtiğiniz Runbook aktivitesinin durumunu görmektesiniz.

Jobs : Seçilen Runbook aktivitesinin Schedule bir şekilde ayarlandıktan sonra çalışan tüm işlerin sonuçları liste halinde görmemizi sağlar. Bu sayfa içerisin Runbook aktivitesi çalıştıktan sonra işin durumunu ve detaylı bilgiyi buradan alabilirsiniz.

Author : Runbook içine girildiği (Author) kısmına “Draft” ve “Published” kavramları bizleri karşılıyor. Bu ekran içerisin de Powershell Workflow syntax yapısına uygun yazılan kod bloklarına “Draft” üzerinde Runbook Editor ile geliştirme yapılabilir veya geliştirilen Powershell Workflow sürecinin istenilirse Runbook Editör üzerinden “Test” işlemleri yapılmaktadır. Geliştirme süreci bittikten sonra, “Publish” tıklanarak ve yayınlanır. “Publish” edilmeden herhangi bir “Schedule” ataması gerçekleşemez. Herhangi bir Runbook “Publish” edildikten sonra, kod blokları içinde düzenlenme gerekir ise tekrar “Draft” bölümüne gelip değiştirilmesi gerekir.

Schedule : Bu kısımda Runbook için herhangi bir Schedule ataması gerçekleştirebiliriz. Assets kısmından Schedule tipinde bir değişken tanımlası yaptıysanız buradan link edebilir veya kendiniz bu sayfa içerisinden ilgili değişkeni oluşturup atamasını yapabilirsiniz.

Configure : Configure sekmesini kullanarak mevcut yapılandırmayı değiştirebilirsiniz. Bu sekme içerisin de Runbook özeline ait tüm ayarları yeniden yapılandırabilme şansımız var. Eğer dilerseniz, Runbook başlama ve bitişine kadar ayrıntılı Log detayları görme şansına sahipsiniz. Bunları görmek için, Configure sekmesi içerisinden “Log Verbose Records” ve “Log Progress Records” özelliklerini aktif hale getirmeniz gerekiyor. Akıllara hemen şu soru geliyor olabilir, Log ayrıntılarına nereden bakılabilir? Jobs içerisinden “History” sekmesi sizlere yardımcı olacaktır. Bununla beraber yine bu sekme içerisinden Runbook aktivitenize “Tag(Etiket)”atanabilir.

Runbook aktivitesi içinden “Author” sekmesine gelelim. Runbook Editör olarak adlandırdığımız sayfa bizleri karşılıyor olacak. Bu bölümde Powershell Workflow sürecinizi geliştirdiğiniz yer, Runbook aktivitesini geliştirme söz konusu iken kısa bir not düşelim. Tüm bu Runbook geliştirme süreçlerini Powershell ISE üzerinden geliştirsek çok da güzel olurdu düşünenleriniz olabilir. Kulağa hoş geliyor evet, böyle bir şansımız var. Github üzerinden indireceğiniz Add-on sayesinde dilerseniz Azure Automation için geliştireceğiniz Runbook aktivitelerini Powershell ISE ile yapmanız mümkün.

Bkz : https://github.com/azureautomation/azure-automation-ise-addon

Dilerseniz geliştirdiğiniz Runbook aktivitesini nasıl Schedule hale getirebiliriz ondan bahsedelim. Runbook aktivitesi içerisinde geliştirme işlemleri bitti ve “Published” olarak ayarladınız ve gereken “Test” işlemleriniz hepsini yaptınız. Artık aktiviteniz hazır durumda, Schedule tabı içerisine gelip, Mevcut bir Schedule olarak tanımlanmış değişkeniniz var ise onu gösterebilir veya yeni oluşturarak Runbook aktivitesini Schedule edebilirsiniz.

“Link to New Schedule” tıklayarak, yeni bir Schedule değişkeni yaratıp atamasını yapabilirsiniz. “Link to an Existing Schedule” ise Assets kısmında daha önceden yarattığınız veya başka bir Runbook için de kullandığınız Schedule değişkenini tekrar bu bölümde kullanabilirsiniz.

Günlük, saatlik veyabelirlediğiniz bir saatte çalışabilir. Dilerseniz Schedule için bir expire tarihi belirtme şansınızda var. “Complete” butonuna basıyorum ve Runbook aktivitemi Schedule edelim.

Office 365 Yardım Masası

Merhaba ,

Office 365 üzerinde kullanabileceğiniz ufak ama faydalı bir özellik bulunmaktadır.Office 365 yöneticisi olarak yardım paneline özelleştirilmiş kişi bilgilerini ekleyerek kullanıcı desteğini kolaylaştırabilirsiniz. Yardıma ihtiyacı olan kullanıcılar yardım simgesine tek bir tıklamayla özel destek iletişim bilgilerine erişebilirler.

Office 365 yardım paneline özelleştirilmiş yardım masası bilgilerini ekleme;

Yardım masası kartı şunları içerir:

  • İlgili kişi kartını ve aşağıdakilerden en az birini başlığı:
  • Kuruluşunuzdaki teknik destek telefon numarası. Kullanıcının tercih edilen telefon app bu bağlantıyı başlatır.
  • Kullanıcılar için teknik destek için kullanmanız gereken e-posta adresi. Kullanıcının tercih edilen e-posta istemcisi bu bağlantıyı açar.
  • Teknik Destek Web sitenize bağlantı.

Özel yardım masası kartı oluşturma

  • İş veya okul hesabınızın Yönetici hesabı ile Office 365’te oturum açın.
    Uygulama başlatıcı simgesini seçin, ardından Yönetici‘yi seçin

.

  • ŞİRKET PROFİLİni seçin.
  • Özel yardım masası’nı seçin.
  • Yardım masası kartını açın.
  • Yönetici olarak kullanıcılara vermek istediğiniz kişi bilgilerini siz yönetirsiniz. Başlık ve en az bir iletişim şekli gereklidir. Görünmesini istediklerinizi seçin ve gerekli bilgileri doldurun.
    • Özel başlık:
      “Contoso yardım masası” veya “Yardıma mı ihtiyacınız var?” gibi amacınızı açıkça belirten bir başlık girin.
    • Yardım masası telefonu:
      Kullanıcıların kuruluşunuzdaki teknik destek aracısıyla konuşmak için aramaları gereken telefon numarasını girin. Aramayı tamamlamak için gerekli olabilecek tüm ön ekleri belirtmeyi unutmayın.
    • Yardım masası e-postası
      Destek bölümünüzün e-posta adresini girin.
    • Yardım masası URL’si:
      Destek bölümünüzün yardımcı araç ve kaynakları içeren dahili veya genel bir web sitesi varsa adını ve ilişkili URL’sini girin.
  • Kaydet‘i seçin.

Kullanıcımız oturum açtığında sağ tarafta görebileceğiniz gibi Destek bilgilerine erişebilecekler.

Azure Automation – Part 2:Assets

Bir önceki yazımızda, Automation Account oluşturma adımlarından bahsettik ve Assets kavramını kısa bir açıklamasını önceki yazımızda yapmıştık. Bu yazımızda Assets kavramını detaylandırmaya çalışacağız. Assets bölümü Azure Automation hesabı içerisin de en önemli kısımlardan biridir. Assets bölümünde Azure Automation Account hesabı için Integration Module ve Settings kısmı bulunmaktadır. Açıkcası bu kısma Settings demek pek hoşuma gitmiyor. Portal içerisinde bu şekilde ekleyeceğiz ama değişkenler demek bundan sonra daha doğru gibi gözüküyor.

Runbook aktivitelerinizin içerisin de kullandığınız cmdlet eğer ilgili Automation Account içerisinde yok ise Assets içerisinde Integration Module ile yükleme şansına sahipsiniz. Bu işlem bizim için oldukça basit. Assets bölümünü kullanmamızdaki diğer temel amaç eklediğimiz Settings ( Değişkenlerden) oluşmaktadır. Tüm script dillerinde olduğu gibi PowerShell içerisinde de string ya da integer tabanlı nesneler istenilen değişkenlere atanarak, scriptin devam eden bölümünde ihtiyaç olduğunda rahatlıkla kullanılabilir. Biz portal içerisinden “Add Settings” tıklayarak değişkenler oluşturarak Runbook içerisinden bu değişkenlere erişim sağlayarak Workflow’un devam eden bölümünde ihtiyaç olduğunda kullanabileceğiz.

Assets kısmında bulunan değişkenlere ve Integration Modüllere erişim noktasında önemli bir bölüm var. Tanımlamış olduğunuz değişkenleriniz veya eklediğiniz Integration Modülleriniz geliştirdiğiniz farklı Runbook aktiviteleri içerisinden tekrar erişilebilir durumdadır. Bu kısma örnek verecek olursak aşağıdaki resimden ilerleyelim.

Yukurdaki resimde üç adet “Asset 1”, “Asset 2”, “Asset 3” adında değişkenlerim bulunuyor. Bu değişkenler, sırasıyla “Integer”, “String” ve “Credential” olduğunu varsayalım. “AA” adında bir Azure Automation Account içerisinde tanımlı olarak gözükmektedir. Bununla beraber bu Automation Account içerisinde iki adet Runbook aktivitem var. Bunlar “A” ve “B” adında gözükmektedir. Bu Runbook aktivitelerinde yazılan Powershell Workflow içerisinde tanımlamış olduğumuz Settings(Değişkenler) “Get-AutomationVariable –Name değişkenadı” şeklinde çağrılır ve geliştireceğiniz Runbook içerisinden erişebilirsiniz.

Azure Portal içerisinden, “Add Settings” tıklanarak herhangi yeni bir değişken oluşturmak istediğiniz zaman, karşımıza gelen değişken tiplerini tanıyalım.

  • Credential Asset : Bu değişkeni eklemek istediğiniz zaman karşınıza iki farklı tip ile geliyor olacak. Bunlar “Certificate ve Powershell Credential” şeklinde gözükecektir. Oluşturulacak olan Credential değikenine isim verdikten sonra, Assets bölümünde gözükecetir. Bu değikenler şifrelenir ve her otomasyon hesabı için oluşturulan benzersiz bir anahtar kullanarak Azure Automation hesabı içinde saklanır. Bu anahtar bir ana sertifika tarafından şifrelenir.
  • Connection Asset : Automation hesabınızda oluşturduğunuz Runbook aktiviteleriniz üzerinden herhangi bir harici hizmete veya uygulamaya bağlanmak için gereken bağlantı bilgileri için tanımlanır.
  • Variable Asset : Runbook aktivitelerini geliştirirken en çok işimiz olacağı yer. Powershell içerisinde tanımladığımız “String”,”Integer”,”Boolen”,”DateTime” tipinde nesneler tanımlanarak değişken haline gelir ve Runbook aktiviteleri içerisinden çağırılır.
  • Schedule : Geliştirdiğimiz Runbook aktivitelerini Schedule bir şekilde çalışmasını sağlamak için oluşturduğumuz değişken yöntemidir.

Assets oluşturmanın birçok yöntemi var. İsterseniz, Azure Portal, Preview Portal ve Azure Powershell ile yaratma şansına sahipsiniz.

Azure Portal içerisinden bir “String” tipinde Variable Asset oluşturalım. Automation Account içerisine girdikten sonra, “Add Settings” tıklanır ve karşınıza yukarıda bahsetmiş olduğumuz Asset tipleri gelmektedir. Bu kısımda “Add Variable” seçilir.

Add Variable seçip ilerledikten sonra, karşımıza değişken tipleri gelecektir. Bu ekranda ben “String” tipinde oluşturacağımı söyleyeceğim ve içerisine bir değer gireceğim.

Variable Type olarak String seçildi ve değişkenimizin adı “MyNewVariable” olarak belirledik bir sonraki ekrana geçerek değişkenimize değer ataması gerçekleştireceğiz.

Yeni bir String tipinde Varriable Asset tanımlamış durumdayız. Artık Automation Account içerisindeki tüm Runbook aktiviteleri üzerinden erişilebilir durumdadır. Tanımladığımız değişkeni Runbook içerisinde yazdığımız Powershell Workflow içerisinden çağırmak için aşağıdaki örnek bizlere yol gösterecektir. Yukarıdaki ekran içerisinde bir yere daha dikkatinizi çekmek istiyorum, “Encrypted” kapalı olarak gelmiş durumdadır. Eğer bu özelliği aktif ederseniz, tanımladığınız değişkenleriniz Automation hesabınız içerisinde Encrypted bir şekilde saklanacaktır.

Get-AutomationVariable cmdlet’ini Runbook içerisinde kullanarak tanımladığım Asset adını gönderek değişkenin içerisindeki değere Runbook içerisinden artık erişebilir durumdayım. İsterseniz, Azure Powershell Module ile yeni bir değişken yaratabilirsiniz.

Son olarak ise Azure Preview Portal üzerinden nasıl yeni bir Asset oluşturacağından bahsedeceğim. Preview Portal üzerinde oturum açıktan sonra, ilgili Automation Account içerisinde Assets bölümünde karşımıza Admin Friendly diyebileceğimiz bir arayüz gelmektedir. Bu ekran içerisinden toplam Assets sayısı görebilir veya yeni değişkenler ekleyebilirsiniz.

System Center Virtual Machine Manager Nedir ?

Merhaba,

Öncelikle SCVMM nedir? Ne işe yarar?

SCVMM yazılımı yapınızda bulunan sanal sunucuları (HYPER-V,Citrix Xen Server,Vmware Esx) tek bir merkezi noktadan yönetme , izleme , raporlama olanağı verir.

Sanal sunucuların çok olduğu ortamlarda VMM yazılımını kullanmak hem zaman tasarrufu hem de kaynak tüketimini olumlu yönde etkileyecektir.

Peki System Center Virtual Machine Manager 2012 R2 ile neler yapabiliriz;

– Domain ve Workgroup ortamında yer alan fiziksel sunucular üzerinde bulunan sanal makinelerin yönetimi
– Performans ve Kaynak Optimizasyonu
– Yeni Aygıtların Hızlı Yapılandırılması
– Çoklu Hipervizör Desteği ve Yönetimi
– Kullanımı Kolay Uygulama Yönetimi
– Özel Bulut Yapısı
– Organizasyonunuz İçerisinde Bulunan Diğer System Center Ürünleri İle Uyumlu Bir Şekilde Çalışma

SCVMM 2012 R2 donanım ön gereksinimleri aşağıdaki gibidir.

150 Hosta kadar;

150 Host üstü için ;

SCVMM 2012 R2 yazılım ön gereksinimleri aşağıdaki gibidir.

Azure Automation – Part 1:Automation Account Oluşturulması

Azure Automation kullanabilmeniz için Azure Subscription sahip olmanız gerekiyor. Mevcut bir Azure hesabı sizlere Azure üzerindeki kaynaklara erişmenizi sağlar. (Cloud Services, Service Bus, Storage Account, Mobile Services, vd) Azure Automation Account hesabı ise, mevcut hesabınız için tüm otomasyon kaynaklarını tutar. ( Runbook, assets)

Yeni bir Automation Account oluşturmak için birçok yöntemimiz bulunur. Bunlardan en basit ve en kolayı mevcut Azure Portal içerisinden veya Preview Portal üzerinden yeni bir Azure Automation Account yaratabilmektir. Azure üzerinde ihtiyaçtan dolayı birçok Automation Account yaratılabilir. Farklı Azure Region üzerindeki IT Operasyonel işleri yöneten kişilere ait farklı Automation hesapları oluşturulabilir. Bir subscription içerisinde 30 adet farklı Automation Account yaratılabilir.

Automation Account oluşturulması

Azure Management Portal üzerinde oturum açılır. Portal içerisinden sol tarafta Automation kısmına gelip “Create an Automation Account” seçilir.

Karşımıza gelen ekran içerisinde Automation Account hangi Region üzerinde yaratılacağını ve geçerli bir isim verilerek “Complete” butonu tıklanır.

Hesabımızın başarıyla oluştuğunu gördükten sonra, artık Automation Account içerisindeki kavramları incelemeye başlayabiliriz. Automation Account içerisine girdiğim zaman karşımıza bizi “Get Started” sayfası karşılıyor olacak.

Karşımıza gelen “Get Started” dışında yan taraflarında birçok sekme var. “Get Started” sayfası içerisinde yeni bir runbook oluşturmak, Technet Gallery üzerinden geliştirip paylaşılan hazır runbook’lara erişmeniz mümkün. Automation Account içerisindeki sekmeleri sırasıyla inceleyelim ve neler yaptığını anlayalım.

  • Dashboard : Otomasyon süreçleri için diagnostic, job state ve usage information gibi bilgileri gösterir. Bununla beraber, 30 gün veya istenilirse bir saatlik detaya kadar Account içinde gerçekleşen farklı işlerin durumunu ( başarısız, durdu, tamamlanmış ve çalışan) gibi bilgileri gösterir. Son olarak da mevcut Automation Account içerisinde runbook sayısını ve değişkenlerinin toplam sağ alt kısımdan rakamlarını görebilirsiniz.

  • Runbooks : Mevcut yazdığınız veya Gallery üzerinden indirdiğiniz tüm Runbook bu ekran içerisinde gözükmektedir. Belirli tarihler ve saatler ile runbook durumunu için filtreleme yapabilirsiniz. Dilerseniz kendiniz geliştirdiğiniz Runbook Import edebilir yada başkasına göndermek amacıyla export edebilirsiniz.

  • Assets : Runbook içerisinde kullanılan değişkenlerin yönetimi bu bölümden sağlanır. Variables, Connection, Schedule isteğe bağlı olarak bu değişkenler eklenir. Eklenen bu değişkenler, Automation Account içerisindeki tüm runbooklar tarafından erişilebilir. Integration Module sayesinde ilgili cmdlet ailesini Azure Automation içerisine yükleme şansına sahipsiniz. Bildiğimiz gibi Powershell içerisin de Module mantığı vardır. Azure Automation tarafında bir workflow geliştirdiğinizi hayal edelim. Bu Workflow içerisin de örnek olarak Active Directory veya Office 365 ile ilgili cmdlet bulunduğu varsayalım. İşte bu cmdletlerin Azure Automation tarafından bilinmesi için ilgili modülleri Azure Automation hesabının içine atılması gerekiyor. İstediğiniz Powershell Modulünü buradan “Import Module” tıklayarak ekleyebilirsiniz.

  • Scale : Free veya Basic olarak Automation planınızı seçmenize olanak verir. Bu kısımda önemli ve atlanmaması gereken bir nokta var, seçtiğiniz plan Azure Subscription içerisindeki tüm Automation hesapları için geçerlidir. Ücretsiz plan ayda 500 dakikaya izin verir ve fatura edilmez. Eğer kullanımı sınırsız dakika gerekiyorsa, Basic planını seçin.

SCVMM 2012 R2 Kurulumu Öncesi Ön Gereksinimler Bölüm 1

Kurulum öncesi yapılması gereken ön hazırlıklar;

Bizim senaryomuzda 1 adet DC , 1 adet SCVMM+SQL sunucusu bulunacaktır.

SCVMM 2012 R2 yazılımının kurulacağı sunucunun kesinlikle domaine alınması gerekmektedir.

1-Windows Assessment and Deployment Kit (Windows ADK) for Windows 8.1 Kurulumu

http://www.microsoft.com/en-us/download/details.aspx?id=39982

Kurulum dosyamızı indirdikten SCVMM 2012 R2 kurulumunu yapacağımız sunucumuz üzerinde çalıştırıyoruz.

Kurulum yapılacak lokasyonu default şekilde bırakıyoruz ve “Next” seçeneği ile ilerliyoruz.

Müşteri geliştirme programına katılıp katılmayacağımız sorulmamaktadır.Bu kısmı kendinize göre belirleyebilirsiniz.Ben “No” seçeneğini seçerek ilerliyorum.

Bu kısımda kurulum sözleşmesin “Accept” seçeneği ile kabul ediyoruz.

System Center Virtual Machine Manager için aşağıdaki 2 seçenekteki bölümleri seçmemiz yeterli olacaktır. Gerekli chekboxları doldurduktan sonra Install butonu ile kuruluma başlıyoruz.

Kurulum başarıyla tamamlandıktan sonra “close” seçeneği ile çıkıyoruz.

Powershell 5.0 ile Class Kullanımı – Part 3

Yazımıza Powershell ile Class yapısı içerisinde Constructors ( Yapıcı Method) yapısının kullanımı ile devam ediyoruz. Makale serimizin birinci bölümünde bahsettiğimiz Constructors ( Yapıcı Method) yapısını Powershell içerisin de kullanımı göreceğiz.

Constructors yapısını anlamak için Makale Serimizin 1.bölümünde bulabilirsiniz. Birçok yazılım dilinde herhangi bir class’tan “new” anahtar sözcüğüyle yeni bir nesne oluşturulduğu anda çalışan metottur. Class’tan bir nesne oluştururken biz bunu “new” anahtar sözcüğü kullanarak yapmaktayız. Basit bir örnek verecek olursak; bizim Student adında bir class’ımız olduğunu varsayalım. Student Class’ından oluşturacağımız nesne “Student Std = new Student ();” şekilde kullanmaktayız. Buradan anladığımız her class için biz tanımlamasak da kesinlikle bir Constructor ( Yapıcı Method) vardır. İşte bu metoda varsayılan Constructor method olarak anılmaktadır.

Constructors yapısının özellikleri

  • Constructor oluşturulduğu zaman Class ismiyle aynı olmak zorundadır.
  • Constructor methodlar isteğe bağlı bir şekilde parametre alabilirler.
  • İstenilirse, bir class içerisinde birden fazla Constructor kullanılabilir. Herhangi
    bir sınır yoktur.

Neden Constructors kullanılır?

  • Constructor kullanarak oluşturulan objelere ilk değer atamaları yapabiliriz.
  • Class içerisine parametre haline getirerek objelere belli değerleri vermesi konusunda zorlanabilir.
  • Constructor ile obje oluşurken arka tarafta yapılacak isteğe bağlı işlemlerin uygulanması sağlanabilir.

Şimdi hemen “Employee” adında bir Powershell Class oluşturalım ve içerisinde “FirstName”,”LastName”,”Title”,”StartYear” objelerimizi yaratalım.

“Employee” adında class yaratıktan sonra, artık Class ismini [Employee] yazarak erişebilir durumdayız. Class içerisinden New methodunu çağırdığımız zaman arka tarafta Default Constructor devreye girerek objelerin yaratılmasını sağlayacaktır.

Class içerisinden objeleri Constructor sayesinde yaratıldı. Constructor içerisine hiçbir değer göndermedik. Kendi Constructors yazmaya sıra geldi. Burada önemli bir nokta var. Yazımızın başında belirttiğim gibi oluşturacağımız Constructor methodları Class adıyla aynı olmak zorundadır.

Class adı ve oluşturacağımız Constructor adını aynı yaptıktan sonra, parantez içerisinde bir “String” tipinden bir “$FirstName” adında değişkeni tanıtmış bulunuyorum. Bu değişken Constructor için bir parametre gönderebileceğimiz anlamına gelmektedir. Bu kısımda dikkatinizi çekmenizi istediğim bir nokta daha var. Süslü parantezler içerisn de “$this.FirstName” adında değişken kullanılmış ve bunun karşısına “$FirstName” atanmış durumdadır. Bu kısımdaki “$this” değişkeninin bizlere sağladığı özellik, Class içerisindeki nesnelere erişmemizi sağlıyor. Bu Constructor methodu kullandığımız zaman parametre olarak bizden “FirstName” isteyecektir. Bu değeri gönderdikten sonra Method içerisinde ne şekilde atamasını gerçekleştirdiysek obje yaratılması o şekilde olacaktır.

Yukarıda görüldüğü gibi [Employee]::New şeklinde yazıp çalıştırdığım zaman karşımıza Class içerisinde tanıtmış olduğumuz Constructor Methodumuz gelmiş durumdadır. Bununla beraber Constructor için tanımlamış olduğum “String” tipinde parametremi görüyorum. Açıklamamız gereken başka bir nokta ise, “Overload” kelimesi Türkçe olarak düşündüğümüz de “Aşırı Yük” anlamına denk geliyor. Herhangi bir class içerisin de aynı isimle constructor var ise bunlar overload edilerek farklı parametreler ile birden fazla tanımlanabiliyor. Bazen constructors aynı işi farklı parametreler ile yapabilirler.

Şimdi bunun kullanımı görelim.

[Employee]::New(“Engin”) olarak Constructor methodumu çalıştırdığım zaman gönderdiğim parametre sayesinde ilgili objeye ataması gerçekleşip obje yaratılmış durumdadır. Class içerisine yeni bir Constructor tanıtalım.

Tanımlamış olduğum Constructor’ları “[Employee]::New” yazarak methodları tekrar listeyelim.

Class içerisinde yazdığımız gibi tüm Constructors hepsini görüyorum ve farklı parametreler almaktalar. Şimdi Constructor çağıralım ve içerisinde iki adet parametre göndererek objemizin yaratılmasını sağlayalım.

Görüldüğü gibi, Constructor içerisine iki adet “String” tipinde parametre göndererek objelerimizin oluşturulmasını sağladık. Constructor yapısını Powershell Class içerisin de kullanımı inceledik.