Powershell ile Office Excel kullanımı

Daha önceki yazılarımızda Powershell ile Office Word kullanıma giriş yapmıştık. Bu yazımızda ise, Office Excel içerisine Powershell ile yapmış olduğumuz sorguların sonuçlarını Excel içerisine yazdırmayı ve ileri süreçlerde ilgili alanlara göre düzenleme işlemlerinden bahsediyor olacağım.

Akıllara gelen ilk soru Export-CSV ya da Convertto-CSV komutları Office Excel aktarmak için yeterli değil mi? Sorumuzun cevabı: “Evet” fakat biz bu yazımızda Office Excel içerisine Powershell ile yaptığımız herhangi bir sorgu yazdırmakla kalmayıp ilgili alanlara göre düzenlemeler yapabiliriz. Örneğin, Powershell ile WMI sorgusu yaptınız, bu sorguda ortamdaki makinalarımızın disk bilgileri hakkında olduğunu varsayalım. Disk boyutları belirtmiş olduğunuz boyutların altında ise Excel içerisindeki ilgili alanın renginin değişmesini isteyebilirsiniz. Fakat bunu yukarıda belirtmiş olduğumuz komutlar ile yapmanız mümkün değildir.

Office Word yazımızda bahsetmiş olduğumuz gibi COM Objesi oluşturup onunla beraber çalışmamız gerekmektedir.

Herhangi bir COM Objesi yaratmak için Powershell içerisinde kullanacağımız Cmdlet “New-Object”‘ Office Excel uygulamasını çağırmak için ise “New-Object” cmdlet içerisinde –ComObject parametresine Excel.Application göndermektir. Aşağıdaki örnekte bu işlemi bir değişkene atayarak yapıyorum.

Excel uygulamasının tüm özellikleri artık Excel değişkenine atanmış durumdadır.COM Objesini oluşturduktan sonra process olarak arka tarafta başlatıldı fakat Visible değeri “$False” olduğu için uygulamayı görememekteyim. Bu değeri “$True” çekerek uygulamayı görebiliriz.

Excel uygulamamızı artık ekrana getirmeyi başardık. Şimdi ise Excel içerisine çalışma sayfaları eklemeye geldi. Bu işlemi yapabilmek için “Workbooks.Add()”çağırarak gerçekleştireceğiz. Powershell içerisinden çağırdım Excel içerisine çalışma sayfası eklenmiş olacak. Bu yöntemi kullanırken “Workbooks” adında bir değişkene atamasını yapıp, ilerleyen kısımlarda ilgili çalışma sayfasını seçim işlemlerinde kullanacağım.

Excel içerisine çalışma sayfası eklendikten sonra, isteğinize bağlı olarak yeni çalışma sayfaları ekleyebilirsiniz. Powershell içerisinde oluşturduğumuz “Workbooks” değişkenin “Sheets.Add()” methodunu kullanarak yeni çalışma sayfaları ekleyebilirsiniz.

$Workbooks.sheets.add()

Excel içerisinde Sheet oluşturduktan sonra, içerisine Powershell içerisinden yaptığımız sorguları yazdırmak için hazırlık aşamasına geçelim. İlk önce yapmamız gereken, ilgili verileri yazmak istediğimiz Sheet seçmemiz gerekiyor. Sheet seçimi için, Workbooks değişkenin özelliklerinde olan “WorkSheets.Item(‘pagenumber’)” methodunu kullanıp daha sonra bunu “Sheet1” adında bir değişkene atamasını gerçekleştirelim. Seçilen sayfanın tüm içeriğini artık “Sheet1” değişkeni üzerinden yönetiyor olacağız. Hemen bu özelliklerini iyice anlamamız için, “Sheet1” değişkenin Name özelliğini kullanarak Excel içerisindeki seçmiş olduğumuz çalışma sayfasının adını değiştirelim

Görüldüğü gibi, ilgili çalışma sayfasını seçip ismini Powershell kodu içerisinde belirttiğim gibi değiştiğini görmekteyim. Powershell içerisinden WMI sorgulama yaparak ortamdaki tüm bilgisayarlarımızın kullandıkları disklerindeki sürücü harfi, disk boyutu, kalan boyut, makine adı gibi kısımları getireceğim. Bu sorgunun cevabını yazdırmadan önce “Disk Report Page” adlı Sheet içerisine oluşacak raporun başlıklarını ekleyeceğim. Bu Sheet üzerinde işlemler yapacağım için “Sheet” değişkenimi kullanarak devam edeceğiz. Sheet değişkenin içerisindeki “Cells” özelliği içerisindeki “Item()” methodu ile Excel içerisindeki ilk satıra rapor başlıklarını ekleyeceğim. Bu methodun kullanım şekli “Cells.Item(,” şeklindedir.

Rapor için istemiş olduğumuz başlıkları oluşturduk. Dikkat ettiyseniz, kod içerisinde “Cells.Item()” methodunu kullanırken satır ve sütün bilgilerini gönderdik. Şimdi ilgili başlıklar altına istemiş olduğumuz verileri yazmaya geldik. Bu işleme başlamadan önce, Excel içerisinde verilerimizi yazdırırken ikinci satırdan başlamamız gerekiyor ve yazdırılan her veriden sonra, diğer satırlara devam etmesini sağlamamız gerekmektedir. Bunun için Powershell içerisinde döngü yapmamız gerekmektedir. Her yazdığımız veri aynı satır ve sütün içerisine yazmamızı için döngü içerisinde satırları ve sütünları saydırmamız için değişken oluşturup counter olarak kullanmalıyız. Satır ve Sütün için kullandığımız counter değişkenlerini “Cells.Items” içerisine göndermemiz gerekiyor. Öncelikle disk sorgusu yapmak için, Get-WmiObject cmdlet ile “win32_logicaldisk” WMI class kullanıp, daha sonra tüm sorguları “Foreach-Object” ile döngüye içerisine sokup counter değişkenlerini kullanıp Excel içerisindeki ilgili satırlara eklemesini gerçekleştireceğiz. Bununla beraber “if-else” ifadesini kullanarak eğer sorgulama yaptığımız disklerimizin kalan boyutları 10GB’tan küçük ve eşit ise ilgili hücrenin kırmızı ile boyanmasını gerçekleştireceğim. Bu renk değişimi için “Cells.Items” özelliği olan “Interior.ColorIndex” kullanarak gerçekleştireceğiz. “Interior.ColorIndex” özelliğinin alabileceği değerler ilgili sayfada bulunmaktadır.

Get-WmiObject ile clas belirtip sorgulamayı gerçekleştirdik. Get-Wmiobject’in parametlerinden olan “-ComputerName” ile tüm şirketteki bilgisayarlarınızı sorgular yapıp Excel içerisine yazdırabilirsiniz. Kod içerisinde comment-block oluşturarak detayları yazdım. “Interior.ColorIndex” için ise 3 değerini atamış bulunmaktayım. Yukarıda belirtmiş olduğum link içerisinde, 3 belirtirseniz ilgili alan kırmızı renk boyanıyor olacaktır.

Powershell içerisinden sorgulamalar yaparak Excel içerisine yazdırdık, belirtmiş olduğumuz kritelere göre renklendirmek yaptık. Bu işlemleri gerçekleştirip Excel dosyamızı kaydetmemek olmaz sanırım. Sırasıyla kaydetmek işlemi için yapmamız gereken, kullanmış olduğumuz “Workbooks” değişkeni içerisinden “SaveAs()” methodu içerisine kaydedilecek yolu göndererek bu işlemi gerçekleştirebiliriz. Kaydetme işlemi tamamlandıktan sonra, ComObjesi yaratırken kullanmış olduğumuz “Excel” değişkenin ise “Quit()” methodu ile Excel kapatabilirsiniz.

Dilerseniz yazmış olduğumuz Powershell Script tamına bu linkten erişebilirsiniz.

Powershell v5.0 ile Class Kullanımı – Part 1

Blog içerisinde Powershell v5.0 ile yeni gelen özellikleri paylaşmıştım. Eğer Windows 10 kullanıyorsanız, Powershell V5.0 sürümüne sahipsiniz demektir. Microsoft tarafından Powershell v5.0 için Windows Management Framework Production Preview sürümünü indirip, Windows 10 olmayan cihazlarınızda ilgili sürüme sahip olabilirsiniz.

Powershell v5.0 ile gelen hayatımıza, Desired State Configuration ciddi seviyede iyileştirmeler, Package Management ile deployment süreçlerinin inanılmaz sürelerde kısalması, Network Switch cmdlets ailesi sayesinde Microsoft sertifikalı switchleri yönetebilmek gibi birçok yenilik bizleri bekliyor. Bu yazımız da Powershell v5.0 ile gelen yeni özellik olan Nesne Yönelimli Programlama dillerin de Class yapılarını oluşturarak devam edeceğiz. Birçok PowerShell kullanıcıları bu kavramlara aşina olabilir. Class yapısının gelmesindeki en büyük avantaj Desired State Configuration tarafında olduğunu söylemekte fayda var.

Powershell’in artık Object Oriented Programming (Nesne Yönelimli Programlama) dil olduğunu üstüne basa basa söylemekte fayda var.
Object Oriented Programming (Nesne Yönelimli Programlama) 1960 yılların başlarında geliştirilen bir programlama tekniğidir. Bu programlama tekniği bizlere ne sağlıyor? Bu programlama tekniği programı geliştirirken daha hızlı, daha esnek olması, bakımının ve diğer geliştirme yöntemlerine daha fazla açık olmasını anlamına gelmektedir. OOP (Object Oriented Programming) bütün olaylara birer Object(Nesne) olarak bakmaktadır.

Object ( Nesne ) Nedir?

OPP(Object Oriented Programming) avantajlarından bahsettik. Şimdi ise Object kavramını açıklayalım. Normal fiziksel nesne ile karıştırmamız gerekiyor. Fiziksel bir nesne dediğimiz zaman, uzayda yer kaplayan hacmi olan kütlesi olan bir yapıdır. Kodlama tekniklerinde bir nesne dendiği zaman olayları olan, olaylara karşı reaksiyon gösterebilen ve işlevi olan yapılar anlamına gelmektedir.

Object(Nesne) içerisin de Properties (Özelliker ), Methods (Method) ve Events(Olaylar) barındırırlar. Bunları kısaca açıklayalım.

  • Properties : Bir nesne tarafından temsil edilen veri özellikleridir.
  • Method : Objenin davranışlarını temsil eder.
  • Event : Nesne ile arasındaki iletişimi kurarlar.

Class (Sınıf) Nedir?

Object kavramından sonra, Class yapısını cover etmemiz gerekiyor. Peki Class nedir?

Nesne Yönelimli Programlama ile geliştireceğimiz programlarda sadece objeler vardır. Bu objeler, veri alışverişi yaparak, birbirleriyle haberleşirler. Objeler OOP(Object Oriented Programming) de sınıf olarak ifade edilen şablonlardan yaratılır. Her Class içinde, o Class içerisinden üretilecek objelerin özelikleri, davranışları tespit edilir. Örneğin Araba isminde bir sınıf yaratabiliriz. Bu sınıftan üretilecek objelerin ortak yani, bir Marka, Model ve Renk gibi özellikleri olacaktır. Class yapısı obje üretmenin yanında Class yapıları arasında ilişki kurmak mümkündür.

Constructor ( Yapıcı Method ) Nedir?

Objelerin sınıflardan yapıldığını öğrendik. Objeler üretilirken, sahip oldukları değişkenlerin farklı değerlerde olması gerekir. Araba örneğinde olduğu gibi, Marka ve Model isimli iki objenin değişik değerlere sahip olmaları gerekir. Bu demek oluyor ki, objeler üretilirken, onlara değişik kimlikler verecek bir mekanizmaya ihtiyacımız var. Bu görevi sınıf içinde Constructor üstlenir. Objeler Constructor aracılığıyla üretilir. Constructor bir obje üretmeden önce, obje için gerekli değişken değerleri belirlenir ve bu değerler parametre olarak Constructor gönderilir. Constructor bu değerleri kullanarak, objeyi üretir. Her sınıf içinde, obje üretmek için bir Constructor vardir. Bu kullanım şekline örnek verecek olursa, “System.Net.Http.HttpClient” class içerisinde 3 farklı Constructor görebilirsiniz; Diğer 2 tanesi parametre farklı değerler alırken sizde MSDN sayfası üzerinden görebileceğiniz gibi bir tanesi hiçbir parametre almaz. Constructor “overloading” yapısını desteklemekte. Bu şekilde birçok Constructor yaratılabilmekteyiz.

Genel anlamlarıyla Class, Object, Properties, Method gibi kavramları açıkladık. Şimdi Powershell içerisinden Class oluşturmak için neler yapmamız gerekiyor onlardan bahsedelim. Yapmamız gereken bu kısımda aynı Powershell içerisin de function veya Workflow yazar gibi Class keyword ile başlayıp ClassName belirtmeniz gerekiyor.

Yukarıdaki örnekte görüldüğü gibi Powershell içerisin de herhangi bir Function, Workflow veya Configuration elementleri ile başladığımız gibi keyword olarak Class yazarak ve ClassName belirterek oluşturma işlemini gerçekleştiriyorum.

Şimdi ise Class içerisine “String”,”Int” ve “DateTime” tipinde objeler tanımladım. Artık bu Class çağırıldığı zaman bunlar benim için birer objedir. Class çağırmak için neler yapmam gerekiyor hemen ondan bahsedelim. Bu kısımda karşımıza “New-Object” adında bir cmdlet çıkıyor. Bu cmdlet içerisine Class Adını göndererek kullanabileceğim.

“A” adında bir değişken oluşturdum ve karşına New-Object ClassName şeklinde atayıp çalıştırdım. Daha sonra “A” değişkenine çağırdığım zaman karşımıza Class içerisin de tanımladığım objelerim gelmektedir. Şimdi Bu objeler içerisine değer atama işlemlerine bakalım.

Yukarıda görüldüğü gibi Class içerisinde tanımlamış olduğum objelerime değer atayıp çalıştırdıktan sonra, Class içerisindeki objelerin yeni değerlerini görebilir durumdayım. Bir sonraki yazımızda Class yapısını incelemeye devam edeceğiz.

SCVMM 2012 R2 Host Ekleme Bölüm 4

Bu bölümde HYPER-V Host veya Cluster’larımızı Virtual Machine Manager yazılımına nasıl entegre edeceğimizi göreceğiz.

Sol taraftan Fabric tab’ına geldikten sonra yukarıdan Add ResourcesHyper-V Hosts and Clusters seçeneğine basıyoruz.


– Windows Server computers in a trusted Active Directory Domain : SCVMM ile aynı domainde bulunan sunucuları eklemek için bu seçeneği kullanıyoruz.

– Windows computer in an untrusted Active Directory domain : SCVMM ile aynı domainde olmayan sunucular(farklı bir domain yapısında bulunan) için bu seçeneği kullanıyoruz.

– Windows Server computer in a perimeter network : Domainde olmayan sunucular “Workgroup” için bu seneği kullanıyoruz.

– Physical computers to be provisioned as virtual machine hosts : İşletim sistemi olmayan sunucular için bu seçenek kullanılır SCVMM ürünü ortam üzerinden bu sunuculara kurulum yapabilmektedir.

Ben domain yapımdaki Cluster’ı ortama dâhil edeceğim için ilk seçeneği seçerek “Next” seçeneği ile devam ediyorum.


Sunucuya erişeceğim yetkili bir Account bilgisini aşağıdaki gibi dolduruyorum ve “Next” seçeneği ile devam ediyoruz.


Specify an Active Directory query to search for Windows Server computers : Bu seçenek ile Active Directory içinde bulunan Computer nesneleri arasında arama yaparak VMM’e dahil edeceğim sunucuları belirtiyorum.



VMM otomatik olarak seçtiğim sunucuların Cluster’a dahil olduğunu algıladı ve aşağıda görüldüğü gibi Cluster’ı işaretledi “Next” seçeneği ile devam ediyoruz.


Host Group kısmında daha önceden oluşturduğumuz Host grup isimleri var ise bu VMM’e dahil edeceğimiz hostları gruplandırabiliriz. Biz daha önceden Host group oluşturmadığız için Varsayılan seçenekte bırakarak “Next” seçeneği ile devam ediyoruz.


Ayarları onayarak işlemleri tamamlıyoruz.


Jobs kısmından yapılan işlemlere ait log’ları takip edebiliriz.



Office 365 Shared Mailbox

Office 365 üzerinde bulunan bir kullanıcınız işten ayrıldığında aşağıdaki gibi arşivleyebilirsiniz.

Kullanıcının Mailboxının Shared Mailbox olarak Convert edilir ve istenildiği durumda herhang bir çalışanın mailinden görüntülenebilir.

Kullanıcının Mailinin Shared Mailbox’a Dönüştürülmesi ?

Örnek olarak işten ayrılan bir kullanıcının mailini Shared Mailbox’a dönüştürüp nasıl erişebileceğimizi göreceğiz.
İşten ayrılan kullanıcımızı yönetebilmemiz adına aşağıdaki adımları takip etmemiz gerekmektedir.

deneme@hakanmarangoz.net adlı kullanıcı işten ayrıldığı için Shared Mailbox’a dönüştürelim (Mailbox’ı Shared Mailboxa dönüştürdüğünüzde ilgili kullanıcının lisansı boşa çıkmaktadır)


Shared Mailbox’a dönüştüğümüz kullanıcıyı aşağıdan kontrol edebiliriz.

İşten ayrılan kullanıcımızın maillerine lazım olduğunda erişebilmemiz adına ilgili Shared Mailbox’un özelliklerine girip hangi kullanıcının görmesini istiyorsak ilgili kullanıcıya yetki veriyoruz.

Yetki verdiğimiz kullanıcının Outlook’u üzerinden erişeceğimiz Shared Mailbox’ı görüntüleyebiliriz.

Yetki verdiğimiz kullanıcının OWA’sından veya Outlook’undan aşağıdak gibi ilgili Shared Mailboxtaki maillerine erişebilmekteyiz.

SCVMM 2012 R2 Sanal Makine Oluşturulması Bölüm 5

Bu bölümde VMM üzerinde bulunan Hostlarımız üzerinde nasıl yeni bir sanal makine oluşturacağımızı göreceğiz.

Sol tarafta bulunan VMs and Servises Tab’ı altında bulunan All Hosts klasörü altında bulunan ilgili Host üzerinde sağ tıklayarak “Create Virtual Machine”seçeneğini tıklıyoruz.

Create the new virtual machine with a blank virtual hard disk : bu seçenek ile yeni sanal makine oluşturacağımızı belirtiyoruz.

 

Virtual machine name : Sanal sunucumuza vereceğimiz ismi belirliyoruz.

Generation : Generation 1 olarak seçerek “Next” seçeneği ile devam ediyoruz.

Not : Generation 1 , Generation 2 nedir bilgi almak için ;

http://social.technet.microsoft.com/wiki/contents/articles/21480.hyper-v-generation-2-virtual-machine-nedir-tr-tr.aspx

 

Oluşturacağımız sanal makinenin hangi platform üzerinde hizmet vereceğiniz seçiyoruz. Benim oluşturacağım sanal makine Hyper-v Platformu üzerinde çalışacağı için HYPER-V seçeneğini seçiyorum.

General Tab’ı altından oluşturacağımız sanal makine için kaynaklarımızı ayarlıyoruz (CPU,RAM,HDD)

 

Oluşturacağımız sanal makine eğer FailOver Cluster hizmeti altında çalışacak ise aşağıdaki “Make this virtual machine highly avaible” seçeneğini seçmemiz gerekmektedir. Bu seçeneği seçmeden sanal makine oluşturmamız durumunda kurulum sırasında size hata verecektir ve işletim sistemi kurulumuna başlamayacaktır.

 

Oluşturacağımız yeni sanal makinenin konumunu belirtiyoruz. Varsayılan olarak bırakarak “Next” seçeneği ile devam ediyorum.

 

Select a destionation for the virtual machine :
Bu kısımda bir önceki ekranda belirlediğimiz donanımsal özelliklere uygun sunucularımız “Rating” kısmında uygunluk durumuna göre listelenmiştir.

Sanal makinemin HVNOD1 adlı sunucu üzerinde kurulum yapılmasını istediğim için bu sunucuyu işaretleyerek “Next” seçeneği ile devam ediyoruz.


Locations : Sanal sunucumuz duracağı datastore bölümünü belirliyoruz.


Machine Reources: Sanal sunucumuz duracağı datastore bölümünü belirliyoruz.


Sanal makinemiz üzerine takılacak network kartının özellikleri dilersek bu kısımda yapılandırabilirsiniz. Varsayılan olarak bırakarak devam ediyorum.

Bu kısımda siz sanal makinenizin kurulum yapılacağı sunucu üzerindeki External’a açık kartı seçiniz.


Automatic Actions :

Select an action to perform automatically when the virtualization server starts : Sanal makinemizin sunucu açıldıktan sonra nasıl bir eylem izleyeceğini belirliyoruz. Ben sunucu açıldığında sanal makinenin kapalı pozisyonda kalması için varsayılan seçeneği bırakıyorum.

Action to take when the virtualization server stops : Sunucu durduğunda(Elektrik kesintisi vs) gibi durumlarda sanal makinelerin alacağı eylemi ayarlıyoruz. Varsayılan olarak gelen “Save State” sunucuyu güvenli moda almayı seçiyorum.

Operating System : Oluşturacağımız sanal makineye ait işletim sistemini belirliyoruz.


Uygulanacak ayarların genel özetini görüntülenmektedir.


Sanal makinemiz oluşturulmaktadır. Aşağıdaki gibi Log lardan takibini yapabiliriz.


Sanal makine oluşturulduktan sonraki hali aşağıdaki gibidir. Start ederek işletim sistemi kurulumuna başlayabilirsiniz.


Office 365 Quarantina (Karantina) Server Yapılandırması

Herkese Merhaba , Bugünkü makalemizde Office 365 üzerinde yer olan Exchange Online Protection hizmet ile gelen Quarantina ( Karantina ) serverı inceliyor ve ayarlarını gerçekleştiriyor olacağız.

Office 365 üzerindeki Exchange Online Protection hizmetinde default olarak gelen spam içerikli mailler Outlook ve Owa üzerinde gereksiz e-posta adlı bölüme düşmektedir.


Bazen firmalar veya IT yöneticileri gelen bu gereksiz maillerin Quarantina ( Karantina ) server da tutulmasını ve oradan kontrollü bir şekilde tercih edilen maillerin kullanıcılara iletilmesini istemektedir. Office 365 üzerinde gelen Quarantina özelliği ile bu ayarları gerçekleştirebilir ve böylece gereksiz e-postalarını kontrol altına alarak daha az bir gereksiz e-posta trafiğine sahip olabilirsiniz. Ayrıca karantina server üzerinde ilgili maillerde belirli kriterler eşiğinde arama yapabilir ve mailleri kullanıcılar için serbest bırakarak iletilmesini sağlayabilirsiniz.

Gelen gereksiz e-postaların karantina sunucusunda tutulması adına aşağıdaki adımları gerçekleştirmeniz gerekmektedir.

Exchange Yönetim MerkeziKorumaİstenmeyen posta filtresiDefaultDüzenle seçeneğine basıyoruz.

5 numaralı bölümde istenmeyen e-postaların ne yapılacağı ile ilgili ayarlar bulunmaktadır. Bu kısımda default olarak daha öncede belirttiğimiz gibi gelen gereksiz e-postalar kullanıcılarda “Gereksiz E-posta” klasörüne düşmektedir.


Biz burada gereksiz e-postaların karantina sunucusuna düşmesini istediğimiz için aşağıdaki gibi ilgili 2 seçeneği “İletiyi karantinaya al” seçeneği ile değiştiriyoruz.

Ek olarak aşağıda gelen gereksiz e-postaların karantina sunucusunda kaç gün tutulacağını belirtebiliyoruz. Varsayılan olarak bu süre 15 gün olarak gelmektedir. 15.ci günün sonunda istenmeyen e-posta karantina sunucusundan otomatik olarak silinmektedir.


Tutulacak süre maksimum 15 gün olarak yapılandırılabilmektedir.


Son kullanıcılara gelen gereksiz e-postaların karantina sunucusu tarafından bilgilendirmesini istiyorsanız son kullanıcı ayarlarını aşağıdaki gibi gerçekleştirmeniz gerekmektedir.

Kullanıcıya kaç günde bir bilgilendirme yapılacağı ve bildirim dilini kendinize göre özelleştirebilirsiniz.


Yukarıdaki ayarları aktif ettikten sonra artık Exchange Online üzerindeki kullanıcılarınıza gelecek olan gereksiz e-postalar aşağıdaki karantina bölümünde gözükecektir.


Gelen gereksiz e-posta iletisini kullanıcıya iletme ;

Karantina sunucusu üzerinde bulunan bir maile çift tıkladıktan sonra açılan pencereden gelen gereksiz e-posta ile ilgili detayları görebilmekteyiz. Gelen iletiyi “Şuraya bırak” seçeneği ile kullanıcıya ulaştırabilirsiniz.


Karantina’dan maili kullanıcıya ilettiğinizde Microsoft tarafından kullanıcıya bir bilgilendirme maili atılmaktadır Kullanıcı gelen bilgilendirme mailinde isterse gereksiz e-postanın Gelen kutusuna iletilmesini sağlayabilir. Ayrıca sağ alt köşede bulunan “Rapor” adlı bölümden ilgili alan adının White List’e eklenmesini sağlayabilir.


Ek olarak Kurallar üzerinden de oluşturduğunuz spesifik kurallarda da istemediğiniz mailleri karantinaya gönderebilirsiniz.


 

SCVMM 2012 R2 Kütüphane Sunucusu Ekleme Bölüm 6

Bu bölümde SCVMM 2012 R2 sunucumuz üzerine kütüphane sunucularının nasıl tanıtılacağınızı göreceğiz.

Library Server Rolü ile Microsoft Sanal ortamlarımız üzerinde barınan, sanal işletim sistemlerinin ihtiyaç anında kullanacak olduğu ISO imagelarının, virtual floppy diskslerinin, virtual hard disklerin barınmasını sağlayabiliriz. Bu dosya türlerinin haricinde VMM sunucumuzu kullanarak oluşturacak olduğumuz yeni sanal bilgisayarların oluşturulmasında kolaylık sağlayan Virtual Machine templates, Hardware profile ve Guest operation system profile, SysPrep answer files dosyalarının da barınmasını sağlayabilir ve bu oluşturmuş olduğumuz dosyaları sürekli olarak kullanabiliriz.

LibraryLibrary Servers üzerinde sağ tıklayarak “Add Library Server” seçeneğine tıklıyoruz.

Kütüphane sunucusu olarak belirleyeceğimiz sunucuya erişim bilgilerini giriyoruz.

Kütüphane sunucusu olarak belirleyeceğimiz sunucunun ismini girerek Add butonu ile ekleme işlemini yapıyoruz.

Sunucumuz üzerinde bulunan Paylaşımlı klasörler otomatik olarak gelmektedir.Bu aşamada sadece kütüphane sunucumuzu belirliyoruz bir sonraki makalede kütüphane sunucumuz üzerinde paylaşım oluşturmayı inceleyeceğiz.

“Next” seçeneği ile devam ediyoruz.

Add Library Servers seçeneği ile ekleme işlemine başlıyoruz.

Log kısmında görüldüğü gibi başarıyla ekleme işlemi tamamlanmıştır.

Aşağıda görüldüğü gibi W2012DC isimli sunucumuz artık kütüphane sunucusu olarak hizmet verecektir.

Server Management Tools Overview – Part 1

Azure içerisinde hizmet olarak bizlere sunulan Server Management Tools Preview olarak kullanıma açıldı . Jeffrey Snover ve Andrew Mason’ın Ignite’da yaptıkları demo bölümünde bu hizmeti tanımıştık. Server Manament Tools ile artık sunucularınızı tek merkezi noktandan Web-Based (GUI) veya komut satırı araçları ile kolay bir şekilde yönetmemizi sağlamaktadır. Preview olarak duyurulan bu hizmet şimdilik hem Azure üzerinde çalışan kaynaklarınızı yönetmenizi hemde Datacenter yapınızda bulunan sunuculara tek bir noktadan erişmenizi sağlacak.

Şimdilik, Server Management Tools yapabildikleri

  • İşletim sistemi görüntüleme ve değişiklikleri
  • Performance Counter, Process Yönetimi ve Servis Yönetimi
  • MMC Console yapısının hepsi ( Device Manager, Certificate Manager, File Explorer, Registry Ediyor vd.)
  • Event Viewer yönetimi
  • Update Management
  • Server üzerinde kurulan role ve features yönetimi
  • Powershell ile süreçleri otomatize etme ve hızlı müdahale etme

Server Management Tools Kurulumu ve Dağıtım Detayları,

Yukarıda görülen diyagram bizlere Server Management Tools hizmetinin nasıl çalıştığı hakkında fikir vermektedir. Server Management Tools kendi içerisinde iki bölümden oluşturmaktadır. Bunlar sırasıyla, “Server Management Tools Gateway” ve Server Management Tools Service” gözükmektedir.

“Server Management Tools Gateway” Azure Portal ve Windows Server makine(leri) arasındaki iletişimi sağlamak için gereklidir. Gateway Server yönetilmek istenilen Windows Server Makine(leri) ile aynı network üzerinde yapılandırılır. Gateway hizmetinin kurulu olduğu makinelerin internet bağlantısı olması gerekir. Gateway hizmetini barındıran sunucu Windows Server 2012 R2 olduğunda Windows Management Framework 5.0 kurulmalıdır. Windows Server 2012 R2, Windows Server 2016 Teknik Önizleme veya Nano Sunucu makineleri yönetirken PowerShell kullanılır. Gateway sunucunuz Windows Server 2012 R2 olacak ise WMF 5.0 yüklemek için şu bağlantıyı kullanın : http://aka.ms/wmf5download

Eğer Gateway hizmetini barındıran makine Windows Server 2016 Teknik Önizleme makinesinde ise , hiçbir ek gereksinime ihtiyacı yoktur. Server Management Tool hizmetini kullanabilmek için Azure Subscription gereklidir. Artık “Server Management Tools” ve “Server Management Tools Gateway” yapılandırma aşamasına geçelim.

“Server Management Tools” ile yönetmek istediğiniz sunucularınız var. Azure Ibıza Portal arayüzüne girilir. Market Place ekranı içerisinden “Management” sekmesinden “More” tıklanarak “Server Management Tools” hizmeti oluşturulur.

Bu oluşturduğunuz ilk “Server Management Tools ” hizmeti ise, aynı zamanda “Server Management Tool Gateway” hizmetini oluşturmak ve ona bir isim vermemiz gereklidir. “Server Management Tool” hizmeti oluşturulduktan sonra “Server Management Tool Gateway” yapılandırmasını tamamlamak için Portal size bir takım aksiyon almanız için uyarılar verecektir.


Yukarıda doldurulan alanlar için ve bu hizmetini anlatırken test ortamı hakkında kısaca bilgiler vermek istiyorum. Ortamımızda aşağıdaki sunucular bulunmaktadır.

  • WS2012R2-DC ( Domain Controller )
  • WS2016-Nano ( Nano-Server)
  • WS2016-S1 ( Server Management Gateway)
  • WS2016-TP5 ( Windows Server 2016 )

Görüldüğü gibi ortamımızda Domain Services hizmeti var ve bu hizmeti kullanırken bize bir takım kolaylıklar sağlayacak. Bunun detayını ilerleyen bölümlerde açıklayacağım. IP Adreslerin detayları aşağıdaki gibidir.

  • ComputerName : “Yönetmek istediğiniz sunucunun IP Adresini, FQDN veya HostName” yazmanız gereklidir.Bunun sebebi, bir sonraki adımda oluşturacağınız Gateway hizmeti girdiğiniz server bilgileri dahilinde erişim sağlayıp “Server Management Tools” sayfası üzerinde sizlere gösterim sağlayacaktır.
  • Create a new Server Gateway : Azure ile Yönetilmesi istenen sunucular arasında köprü görevi görecektir.

Dikkat edilmesi gereken ufak bir nokta var. Azure ARM dağıtım modelinin özelliği olan Resource Group ( kaynaklarınızı gruplamaya yarar.) yeni bir kaynak group (RG-ServerManagement) oluşturarak devam etmenizi tavsiye ediyorum. Sebebi ise yönetmek istediğiniz her sunucu için “Server Management Tools” oluşturmanız gerekiyor olacak. Yukarıdaki listedeki sunucularımı hepsini yönetmek istediğimde, her sunucu için ilgili hizmeti oluşturmam gereklidir. Bu sebepten dolayı tüm kaynakları aynı Resource Group içerisinde topladığınız daha kolay ve aradığınızı daha hızlı bulabilirsiniz. “Dilerseniz “Pin to dashboard” seçerek Dashboard sayfasında görebilirsiniz.

“WS2016-TP5.fabrikam.com” adıyla oluşturduğumuz “Server Management Tools” hizmetini detaylarına baktığımız zaman Gateway sunucusunun yapılandırmasını bizden beklemektedir. “Configuration Required” yazılı kısma tıkladığınız zaman Gateway rolünü üstlenecek sunucu için ( WS2016 veya WS2012 R2 destekler) ufak bir MSI paketi kurulumu gerçekleştirip gateway hizmetini aktif hale getireceğiz.

“Generate a Package link” tıklanarak bize iletilen adres üzerinden gateway kurulumuna başlayabiliriz. Demo ortamında bizim Gateway sunucumuzu “WS2016-S1” belirtmiştik. “GatewayService.MSI” hızlı bir şekilde install ettikten sonra Gateway servisinin kurulumunu tamamlayacağız.

Powershell ile PowerBI kullanarak Real Time Dashboard yaratılması – Giriş

Powershell ile ortamımızdaki bulunan sunucu veya istemcileri mevcut Cmdlet, WMI veya CIM teknolojileri sayesinde remote query yöntemlerini kullanarak aldığımız cevaplara göre HTML raporlar oluşturabiliyoruz. Bu oluşturulan HTML raporlar organizasyonun ihtiyaçlarına göre değişiklikler gösterebiliyor. Biraz daha kod tarafına değinirsek bu HTML raporlarına CSS eklenerek yapılırsa gerçekten çok başarılı sonuçlar elde edebilriz. Powershell ile gerçekleştirip aldığımız sonuçları IT Departmanına notification e-mail olarak gönderme şansımız var. Bu kısımda Monitoring tarafında fazla ulaştırılan notification belli bir süreden sonra bakılmaz hale gelebiliyor, dikkat edilmesi gereken anlamlı değerlerin karşımıza getirilmesi gerekiyor.

Kullanılan third party yazılımların yetemediği noktalarda araya Powershell araya eklenip alınan sonuçları bir şekilde notification haline döndürebiliyoruz. Blog içerisinde bir çok HTML raporlar paylaştım. Fakat hayalimde olan bu bilgilerin tek, heryerden erişelebilirlik ve her türlü cihazlardan esnek bir şekilde bakabilmesiydi.

Son zamanlar da Microsoft Power BI hızla yükselen yıldızı ile beraber ve Microsoft’un PowerBI için bizlere sunduğu REST API kullanarak, Powershell tarafında aldığımız sonuçları anlık bir şekilde PowerBI tarafına göndererek Real Time Monitoring sayfaları oluşturulabilir. Microsoft Power BI tarafında oluşturulan Dashboard sayfalarına isterseniz Web Browser veya Mobile uygulamalar sayesinde erişebilir ve oluşturduğunuz sayfalara bakabilirsiniz.

Mobile kısımda PowerBI desteklendiği platformlar; IOS, Windows, Android olduğunu söylemekte fayda var.

Hemen aşağıdaki kısımda yayınlamış olduğum Real Time Dashboard sayfamı mobile phone üzerinden görüntüsünü bulabilirsiniz.

Bu yazı serimiz de Powershell gücünü kullanarak aldığımız sonuçları PowerBI içerisinde yayınlayarak IT Departmanları için kolay, istenilen veriye istenildiği yerden ulaşılmasını sağlamak.

Yazımızın aşamaları aşağıdaki adımlardan oluşmaktadır.

  • Powershell içerisine PowerBI Modülünün eklenmesi
  • PowerBI client app register adımları
  • Powershell ile PowerBI içerisine Authentication işlemleri
  • Powershell verilerini PowerBI içerisine göndermek
  • PowerBI üzerinde Dashboard oluşturma ve yayınlamak

SCVMM 2012 R2 Kütüphane Sunucusu Üzerinde Dosya Paylaşımı Bölüm 7

Bu bölümde VMM üzerinde bulunan kütüphane sunucularımız için klasör ve dosya paylaşımlarına göz atacağız.

Elimizde bulunan Windows Server 2012 R2 iso’sunu kütüphanemize atacağız. Bu atacağımız iso ile sanal makinelerimizin kurulumlarını cd olmadan gerçekleştirebiliriz.

LibraryLibrary Servers altındaki kütüphane sunucunuza sağ tıklayarak “Add Library Shares” seçeneğini seçiyoruz.


Kütüphane sunucunuz üzerinde paylaşımlarınız nerede duracak ise ilgili lokasyona klasör açmanız ve buraya tanıtmanız gerekmektedir. Örneğin ben W12R2VMM adlı kütüphane sunucusunda C: dizini altında ISO isimli klasör yarattım ve buraya dosya yolu bilgisini girdim.


ISO seçeneğini işaretleyerek “Next” seçeneği ile devam ediyoruz.


Add Library Shares seçeneğini tıklayarak dosyamı paylaşıma açıyorum.


Loglarda görüldüğü üzere başarıyla kütüphane sunucumuza ISO klasörü oluşturulmuştur.


Peki bu oluşturduğumuz ISO klasörü altına Setuplarımızı nasıl atacağız?

Sol tarafta ISO klasörümüz refresh yaptıktan sonra geldi.(Kütüphane sunucunuzu refresh etmemeniz taktirde değişiklikler 1 saat aralıklarla kontrol edilmektedir.)

ISO klasörümüzü seçtikten sonra yukarı kısımda buluann “Import Physical Resource” butonuna basıyoruz.


Add Reource seçeneği ile ilgili iso dosyamızı gösteriyoruz.


Import butonuna basarak dosyanın kütüphane sunucusu içerisine alınmasını sağlıyoruz.


Görüldüğü gibi kütüphanemize iso dosyamız eklenmiş bulunmaktadır. İşletim sistemleri kurulumlarında iso olarak kütüphanemiz altında bulunan setup’ı kullanabiliriz.