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.

SCVMM 2012 R2 SQL Server Kurulumu Bölüm 2

Bu bölümde SCVMM 2012 R2 kurabilmemiz adına gerekli olan SQL kurulumunu gerçekleştireceğiz. SCVMM 2012 R2 versiyonun desteklediği SQL versiyonları aşağıdaki gibidir.


Kuruluma başlıyoruz.


SQL Setup’ını çalıştırdıktan sonra aşağıdaki gibi “New SQL Server stand-alone installation or add features to an existing installation” seçeneğini tıklıyoruz.


SQL otomatik olarak System Check etmektedir ve uygun olmayan bir durum söz konusu ise bizi uyarmaktadır.Şuan herşey kuruluma uygun olduğu için aşağıdaki gibi herhangi bir hata ile karşılaşmadık.


SQL Server’ımıza ait lisans bilgileri girdikten sonra “Next” seçeneği ile devam ediyoruz.


Kurulum sözleşmesini kabul ederek Next seçeneği ile devam ediyoruz.


Kurulum sırasında gereksinim duyduğu güncellemeleri aşağıdaki gibi göstermektedir “Next” seçeneği ile güncellemeleri indirerek kurmasını sağlıyoruz.


Güncellemeler indirilmektedir.


Güncelleme sonrası tekrar bir check işlemi yapmaktadır “Next” seçeneği ile devam ediyoruz.


Setup Role kısmında kurulum yapacağımız SQL feature larını seçeceğiz.


SCVMM 2012 R2’nin gereksinim duyduğu SQL özellikleri aşağıdaki gibidir. Sadece gerekli olan özellikleri kurmak karmaşıklığı azaltarak bize performans kazandıracaktır.


Gerekli olan bileşenler aşağıda görüldüğü gibi sorunsuzca kurulmuştur “Next” seçeneği ile devam ediyoruz.


Varsayılan şekilde bırakıyoruz ve “Next” seçeneği ile devam ediyoruz.


Kurulum yapacağız sunucu üzerinde gerekli boş alan kontrolleri yapılmaktadır “Next” seçeneği ile devam ediyoruz.


Server Configuration : Bu bölümde dikkat edilmesi gereken bir seçenek bulunmaktadır. Collation Tab’ındaki bilgiyi “SQL_Latin1_General_CP1_CI_AS” olarak yapılandırmanızı tercih ederim.


Database Engine Configuration : Bu bölümde SQL sunucumuzu yönetmeye yetkili olacak olan administrator account bilgisini ekliyoruz. İlgili birimi doldurduktan sonra “Next” seçeneği ile devam ediyoruz.

Error Reporting : Bu kısmı “Next” seçeneği ile geçiyoruz.


Installation Configuration Rules: Bileşenlerin kurulum öncesi hazır olduğu görüyoruz “Next” seçeneği ile devam ediyoruz.

Ready to Install : Install butonuna basarak kurulumu başlatıyoruz.



Kurulumu başarıyla tamamlıyoruz. SCVMM 2012 R2 yazılımı için gerekli olan SQL database altyapısını hazırlamış bulunmaktayız.


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

Yazımızın ikinci serisi ile devam ediyoruz. Class yapısını detaylı bir şekilde incelemeye devam edelim. Şimdi ise Class yapısı içerisin de Enum (Enumarator) kullanacağız fakat önce yapısından bahsedelim.

Enum (Enumaration) Nedir ?

Bu yapı yazılım dilinde enum, enumaration ya da enum sabitleri olarak adlandırılır. Değişkenlerin alabileceği değerlerin sabit (belli) olduğu durumlarda programı daha okunabilir hale getirmek için kullanılır. Programda birçok değişkene tek tek sayısal değer vermek yerine “Enum” kullanılabilir. Özet olarak “enum” yapısı sayıları anlamlı şekilde isimlendirerek kullanabilmeye izin verir.

Bu yapıya her yazılım eğitimin de verilen örnek ile kolayca ilerleyelim. SehirPlakalari isimli Enum yapısı içerisinde birkaç sehir ve bunlara atanan sayısal değerler (Plaka Numarası) tanımlanabilir. Ben Istanbul’u çağırdığım zaman karşıma ilgili Plaka Numarasının gelmesini isteyebilirim. Enum yapısının içindeki tanımlamaları yaptıktan sonra Class yapısı içerisin de kullanmayı göreceğiz. Ama şimdi hemen Enum ( Enumaration) tanımlamasını yapalım.

Hatırlarsanız, Class tanımlarken keyword olarak” Class” kullanıyorduk. Enum ( Enumaration) tanımlarken keyword olarak “Enum” ve daha sonra EnumName şeklinde kullanacağınız.

Yukarıdaki örnek içerisin de SehirPlakaları adında bir Enum oluşturdum ve içerisine üyelerimi tanıttım. Şimdi artık yapmam gereken bu Enum listesi içerisinden istediğim değeri çağırarak çıkan sonucu görmek.

Enum yapısını çağırmak için, ” [EnumAdı]::Name ” şeklinde kullanmanız gerekiyor. Fakat bu şekilde çağırdığınız zaman ilgili seçilen karşınısındaki değere ( Örnek : Ankara seçtiğimiz zaman 6 değerinin gelmesini istiyoruz.) sahip olmanız için aşağıdaki şekilde kullanmanız gerekiyor.

Yukarıdaki örnek içerisin de [SehirPlakalari]::Ankara içerisindeki değere ulaşmak için Enum yapısı içerisindeki değeri çağırdık. [SehirPlakalari]::Ankara.Value__ şeklinde değeri ekrana döndürdük. Şimdi Enum yapısını Class içerisinde kullanımına geçelim. Basit bir Araba adında Class oluşturacağım ve bunun için de Model, Manufacturer, Year ve Color gibi nesneler tanımlaması yapacağım. Daha sonrasında burada Color nesnesini sabit değer alabileceğini varsayıp Enum yapısına çevirelim.

Yukarıda görüldüğü gibi, Class tanımlamasını yaptık. Şimdi burada Color nesnesini Enum yapısına dahil edelim.

Class ve Enum detaylarını yukarıdaki gibi görebilirsiniz. Bu kısımda dikkatinizi çekmek istediğim bir nokta var, bir önceki resim de “Color” nesnesinin veri tipi “String” olarak tanımlanmış durumdaydı. Fakat ben bu nesneyi Enum yapısı içerisine alarak veri tipi kısmına tanımlamış olduğum Enum adını yazmış bulunuyoruz.

Şimdi kullanım şekline geçelim hemen, Aşağıdaki görüldüğü gibi Class yaratmak için New-Object Cmdlet kullanarak Class adını yazdım ve “A” isimli değişkene atamış durumdayım. “A” değişkenini çağırdığım zaman karşıma Class içerisindeki objeleri görmekteyim.

“A” değişkenini Color object içerisine değer atarken yukarıdaki dikkat ettiyseniz “1” yazmış bulunmaktayım. Bu rakam bana Enum içerisin de karşına tanımladığım değere denk gelmektedir. Enum içerisin de “1” değerinin karşına geldiği kısım “Red” değeri olduğu için, artık Class içerisindeki objeye içerisine “Red” ataması gerçekleşecektir.

Bununla beraber artık ilgili objeye Enum dışında tanımlanmış herhangi bir değer atama şansını bulunmuyor. Aşağıdaki örnekte Enum içerisinde olmayan bir değeri ilgili objeye atamaya çalıştığınız da aldığımız hatayı görebilirsiniz.

SCVMM 2012 R2 Kurulumu Bölüm 3

SCVMM 2012 R2 için gerekli olan bileşenlerin kurulumlarını daha önce Bölüm 1 ve Bölüm 2 kısımlarında tamamladık kurulum için her şey hazır kuruluma başlayabiliriz.

Kurulum Setup’ımızı çalıştırıyoruz.


Install seçeneği ile kurulum adımlarına başlıyoruz.


Sunucu üzerine kuracağımız VMM Management Server ve VMM console seçeneği otomatik gelmektedir. Varsayılan olarak bırakarak “Next” seçeneği ile devam ediyoruz.


Kuruluşumuza ait bilgilerimizi giriyoruz. Ürün anahtarını girmediğiniz durumlarda ürünü 180 gün boyunca tüm özellikleri ile beraber kullanabilirsiniz.


Kurulum sözleşmesini kabul ediyoruz.


Müşteri geliştirme programına katılıp katılmayacağımız sorulmaktadır. Bu seçeneği kişisel olarak istediğiniz gibi seçebilirsiniz.


Kurulumun yapılacağı lokasyonumuzu belirtiyoruz.


Database configuration bölümünde SQL sunucumuzun kurulu olduğu sunucumuzu belirtiyoruz. Yapımızda SQL sunucusu ile SCVMM2012 R2 yazılımı aynı sunucu üzerine olduğu için server name kısmı otomatik gelmektedir. SQL sunucumuza ait erişim bilgilerini de girdikten sonra “Next” seçeneği ile devam ediyoruz.


SCVMM 2012 R2 kurulumu için gerekli olan Local System account veya Domain account bilgilerini girmemiz gerekmektedir.Bu kısım önemli olduğu için bu kısıma deyinmekte fayda var.

  • SCVMM için atayacağınız Local System veya Domain Accountunu başka herhangi bir amaç için kullanmamalısınız.
  • SCVMM için atadığınız Account bilgileri sonradan değiştirilemez.Hesabı değiştirmek için SCVMM yazılımını kaldırıp tekrardan kurmanız gerekir.
  • SCVMM için Cluster yapısı düşünülüyor ise hizmet hesabı domain accountu olmalıdır.

Active Directory üzerinde “VMM” isimli bir hesap açarak bunu servis hesabı olarak atıyorum.


SCVMM 2012 R2 yazılımının çalışabilmesi için gerekli olan port listesi aşağıdaki gibidir. Varsayılan bir biçimde bırakarak “Next” seçeneği ile devam ediyoruz.


Library Configuration:

Kütüphane ayarlarımız için gerekli olan kütüphane ismini belirliyoruz “Next” seçeneği ile devam ediyoruz.


Install seçeneği ile kurulumu başlatıyoruz.


Kurulum için gerekli olan özellikler aşağıdaki gibi yüklenmektedir.


Kurulum başarıyla tamamlanmış bulunmaktadır.


Masaüstümüzden Microsoft System Center VMM ürünü çalıştırıyoruz. Connect seçeneği ile VMM sunucumuza login oluyoruz.

VMM ara yüzü bizi karşılamaktadır.

VMM 5 bölümden oluşmaktadır.

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.