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

Yazımızın ilk bölümünde Powershell içerisinden PowerBI içerisine erişebilmek için ilgili modülü kurulumu ve bu modül ile gelen cmdlet detaylarını inceledik. Şimdi ise, Powershell içerisinden aldığımız sonuçları PowerBI üzerindeki dashboard içerisinde anlık olarak gönderebilmemiz için bir PowerBI hesabına ihtiyacımız bulunuyor. Hesap bilgileri ile alınan Token sayesinde PowerBI REST API’dan faydalanıp erişimi gerçekleştirebileceğiz.

Powershell ile PowerBI içerisine Authentication işlemleri

PowerBI API kullanıcının kimliğini doğrulamak için Azure Active Directory ve OAuth 2.0 kullanır. Power BI client app sayesinde kimlik doğrulama işlemini gerçekleştirebiliriz. PowerBI REST API faydalanabilmek için Azure Active Directory üzerinden authentication işlemlerini gerçekleştirmemiz gerekiyor. Azure Active Directory tarafında PowerBI Client app tanıtıp, gerekli kullanıcılara izin verdikten sonra, ClientId ve Token sayesinde Power BI REST API kullanmaya başlayabiliriz.

Register Power BI Client App

Programlama dillerini (c#, powershell ve diğer) kullanarak PowerBI REST API faydalanmak için Azure Active Directory içerisinden Application eklememiz gerekiyor. Azure Management Portal içerisinden Azure Active Directory tabı içerisine gidelim ve uygulamamızı ekleyelim.

Azure Active Directory tabına geldiğimiz zaman hizmet aldığımız dizin hizmetlerini görmektesiniz. Benim şuna sadece mevcut dizin hizmetimden faydanalacağım. Eğer birden fazla dizin hizmeti alıyorsanız istediğinizi seçebilirsiniz. Azure Active Directory girdikten sonra, Application tabında gelip eklemeye başlayalım.

“Add” butonuna basıktan sonra bu kısımda “Add an application my organization is developing” kısmını seçip “Native Client Application” seçiyoruz. Application bir isim veriyoruz. Ben “PowerBIApp” olarak girdim.

“Native Client Application” seçtikten sonra, bir sonraki adımda karşımıza “Redirect URI” ekranı gelecektir. Bu kısımda dikkat etmemiz gereken yer URI adresinin doğru olmasıdır. Bu sayede authentication işlemleri gerçekleşecektir.

“Redirect URI” ekranında “Azure Active Directory” ile “Oauth 2.0” kullanarak authentication işlemlerini yapabilmemiz için girmemiz gereken adres;

Redirect URI : “https://login.windows.net/common/oauth2/authorize” şeklinde girilmedir. Diğer yöntemler için tıklayınız. Gereken bilgileri doldurduktan sonra “Complete” butonuna basıp Client App ekleme işlemini bitiriyoruz.

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.

Comparing Azure and Amazon EC2 Virtual Machines – Part 1

Uzun zamandır yazmak istediğim yazı ile karşınızdayım. Azure özelinde bir çok hizmeti müşterilerime ilgili hizmetlerin yapılandırmasını sağlayıp kullanmaları sağlıyorum. Fakat her zaman aklımın köşesinde bir yerde Azure Virtual Machine ile Amazon Virtual Machine (EC2 ) yapısını karşılaştırıp aradaki farkları yazmak gibi bir amaç içerisine girdim.

Azure Resource Manager Release olduğu zamandan beri bir yandan firmalar hızlı bir şekilde Classic Portal ( Service Manager) üzerindeki kaynakları Ibıza Portal ( Resource Manager ) alt yapısına geçişlerini yapmaktalar. Azure Virtual Machine ( Resource Manager) özelinde bir çok yeni kavram hayatımıza girdi ve bunların karşılaştırmasını Amazon Virtual Machine ( EC2) yapmak gerekiyor. Hemen yeri geldiği için açıklayalım, Alt yapısal değişikliği sebebi Classic Portal üzerinde çalışan VM’lerin hepsi Provisioning edildiği zaman bir Cloud Service yaratılıp daha sonra ilgili Cloud Service ile atanan IP adresleri ile erişim sağlanabiliyordu. Biraz daha geçmişe gidersek Microsoft Azure hizmetleri içerisinde Infrastructure as a Service (IaaS) vermeyi planlamıyordu. Gelen talepler üzerinde değişiklik yaptığı için bir takım eksiklikler göz ardı edilerek devam edildi. Bunun bir takım eksileri bulunmakta ve bu detaylar için şu yazıya göz gezdirebilirsiniz. Bu yazı serisi içerisinde mümkün oldukça bir Virtual Machine özelinde temel kaynaklar olan ( Compute, Storage ve Virtual Network) detaylandırıyor olacağız.

Yukarıda görüldüğü gibi temel olarak Azure Virtual Machine “VHD” formatını kullanır. Generation 1 VM’leri tam anlamıyla destekler. Yüksek disk hız gerektiren Azure VM Workload’ları ( SQL Server, Exchange Server, Dynamics Axapta vd.) için Azure Premium Storage hizmeti kullanılmalıdır.Amazon Virtual Machine (EC2) yapısında disk yapısının formatı “AMI” olarak gözlenmektedir. Yine Amazon alt yapısında ihtiyaca göre yüksek hız gerektiren sunucular için (IOPS) değerleri provisioning sürecinde sunularak baştan karar vermeniz sağlanır.Diğer bir fark ise, Azure tarafında seçtiğiniz Premium Storage seviyesine ( P10, P20, P30) göre faturalandırılır ve scale down gibi yöntemler ile yüksek IOPS ihtiyacınız bittiği zaman düşebilirsiniz. Azure Virtual Machine serilerinde ( A, D, F, G, N ) her sanal sunucu özelinde attach edilecek disk sayıları bulunmakta ve her Volume başına maksimum 1TB belirtebiliyoruz. Bu limit içerisine Operating System diskininde dahil olduğunu belirtelim. Varsayım üzerine konuşacak olur isek ihtiyaçlardan dolayı Azure VM içindeki herhangi bir Volume boyutu 4 TB olmak istediğinde Microsoft Storage Spaces özelliği ile eklenen disk’ler span disk haline getirilerek yapılabilir. Resim de görüldüğü gibi bir Azure üzerideki en güçlü sanal sunucuya maksimum 64 TB ( G5 Serisi ) disk eklenebilir. Fakat amazon üzerinde bu tarz limitler ile karşılaşmak pek mümkün değil.

Azure ve Amazon EC2 Virtual Machines serilerinin kullandıkları İşlemci,Disk ve Network detaylarının karşılaştırmasını aşağıdaki tabloda bulabilirsiniz.

Amazon EC2 Virtual Machines serisi ( T, M , C, R , G , D ) olarak anılmaktadır. Sanal sunucu farklılıklarına bakıldığı zaman dikkat edilmesi gerken noktalar içerisinde Azure ve Amazon içerisindeki her sanal sunucunun kendi serisi içerisinde CPU, RAM, Disk ve Network hızları değişiklik göstermektedir. Öncelikle her iki farklı Cloud Provider üzerinde sanal sunucu oluştururken karşımıza bir çok farklı yöntem çıkmakta ve hızlı bir şekilde bunlara göz gezdirelim.

Azure üzerinde Virtual Machine oluştururken, Ibıza Portal ( Azure Resource Manager) kavramı bizi karşılıyor olacak. Azure Ibıza Portal üzerinde sanal sunucu oluştururken aşağıdaki adımlar izlenebilir.

  • Azure Ibıza Portal ( Arayüz üzerinden )
  • Azure Resource Manager Powershell
  • Cross Platform Command Line Tools
  • Visual Studio – Azure SDK JSON Template
  • Azure Templates Deployment – Bkz

Azure Resource Manager içerisinden herhangi bir hizmeti Örneğin:”VMS, Virtual Network, Storage” Powershell, Visual Studio ile yönetildiği zaman her hizmetin kendine ait Provider bulunmakta ve bu detaylar Azure Resource Manager ( ARM) tarafından bilinmektedir. ARM tarafında en dikkat çekici özellik, Template Deployment tasarlanmasıdır. JSON formatında hazırladığınız ve ilgili Resource Provider yapısına göre yazdıktan sonra herhangi bir hizmeti saniyeler içerisinde provisioning sürecini başlatabiliyoruz.Bununla beraber Resource Manager kullanan Azure hesaplar isteğe bağlı olarak ADFS Server alt yapıları üzerinden Authentication süreçlerini tasarlayabilirler.

Amazon tarafında ise herhangi bir provisiong işlemi Azure Resource Manager ( ARM) yapısına oldukça benzemektedir. Cloud Formation olarak adlandırıdığımız bu dağıtım modeli Amazon da karşımıza çıkıyor. Azure Resource Manager özelinde gelen bir çok özellik var. Bunlar Resource Group, Tags, Lock, RBAC gibi yenilikler. Cloud Formation dağıtım modeli bu yapıya oldukça fazla benzemektedir. Amazon için JSON template hazırlandıktan sonra Command Line Interface kullanarak Cloud Formation dağıtım sürecini baştabiliriz. Azure Resource Manager ( ARM ) ve Cloud Formation kullanımı karşılaştırmasını aşağıdaki bulabilirsiniz. Pek fazla fark olmayan bu deployment yöntemlerini IT / DevOps ekipleri farklı bulut hizmeti sağlayıcılarını tercih ederken geçişlerde çok sıkıntı yaşamayacaklardır. Azure ( ARM) modelini kullanan bir kişi Cloud Formation tarafına çok kolay bir şekilde adaptasyon sağlayabilir.

Azure Resource Manager Nedir – Bölüm 1

Preview Portal ile birlikte hayatımıza giren en dikkat çekici özellik, Azure üzerinde barındırılan kaynaklarınızın yönetimi için yeni bir yöntem olan Resource Manager ortaya çıkmıştır. Azure Resource Manager kendi içerisinde iki kısımdan oluşmaktadır.

  • Resource Group
  • Resource Group Template

RESOURCE GROUP

Resource Group ile artık Azure üzerinde hizmet veren kaynaklarınızı mantıksal birim içerisine alarak görüntüleyebilirsiniz. Aşağıdaki görseldeki örnekteki (VM, Storage, Database) gibi kaynakları oluşturan mantıksal birimlere Resource Group denir. Bu mantıksal birimleri eski portal üzerinden görme şansınız bulunmamaktadır. Resource Group oluşturmamızın diğer sebepleri ise, kaynaklarınızı mantıksal bir grup içerisine alarak, örneğin tek bir Azure Subscription altında bulunan müşterileriniz, şirketinizde bulunan departmanlar veya Azure kaynakları ( VM, Database, Storage, Web App ) bazında Resource Group içerisine alarak kolay bir şekilde yönetebilirsiniz. Bu sayede Resource Group Azure üzerinde kullanılan kaynakların fatura bilgilerini, servis durumunu ve maliyet yönetimi kolaylıkla sağlayabilirsiniz. Biraz daha derinleştirelim, yapınızda birçok Resource Group var bunların içerisindeki kaynaklarınızı diğer Resource Group içerisine taşıyabilir veya tek tıklama ile seçtiğiniz Resource Group içerisindeki kaynaklarınızı Azure içerisinden kolayca silebilirsiniz.

Resim

Resource Group ile gelen özellikler

  • Role Based Access Control
  • Tags
  • Audit Logs
  • Resource Locks

ROLE BASED ACCESS CONTROL

Resource Group oluşturmamızın diğer avantajı ise, Azure içerisinde Resource Group bazında Role Based Access Control yetkisi verebiliyoruz.

TAGS

Resim

Resource Group veya Resource atanan “Tag(etiket)” sayesinde yönetimde büyük kolaylıklar sağlamaktadır. Artık kaynaklarınızı çağırırken ve aksiyon alırken atamış olduğunuz etiket adıyla çağırmanız yeterli olacaktır. Bu özellikte kısıtlamalar bulunmakta hemen ondan bahsedelim. Resource başına 15 adet “Tag(etiket)” atayabilmekteyiz. Azure üzerinde izlenen “Tag” yapılandırmasından inceleyelim.

  • Ortam bazında etiket ( Dev / Test / Prod )
  • Role bazında etiket ( Web Server, Database )
  • Departman bazında etiket ( Finans, Satış, IK )
  • Sorumlu kişi bazında etiketleme (ITPersonel1, ITPersonel2)

AUDIT LOGS

Oluşturduğunuz Resource Group’lar için Role Based Access Control ile yetki devri yaptığınızı varsayalım. Bu yetki devrinden sonra Audit Log’lar ile Resource Grouplar üzerinden yapılan işlemleri görebilirsiniz. Varsayılan olarak açıktır. Log içeriğini görüntülemek için Powershell ihtiyacımız bulunmaktadır.

RESOURCE LOCKS

Active Directory tarafında objelerin yanlışlıkla silinmemesi için korumaya aldığımız gibi, aynı yapıyı Azure Resource Group içerisindeki kaynaklar içinde kullanabiliyoruz. Kaynaklarımızın hatalı bir şekilde silinmemesini sağlayabiliriz.

Resource Group yönetmek için Preview Portal, Powershell, Azure CLI ( Mac, Linux, Windows),veya REST API kullanılabilir. Yazımızın içerisinde Preview Portal ve Powershell üzerinden örnekler gerçekleştireceğim. Artık Preview Portal üzerinde oturum açıp ilk Resource Group oluşturma işlemlerine başlayalım. Browse bastığınız zaman “Resource Group” listesini göreceksiniz. Add butonu ile yeni bir Resource Group yaratmak için Resource Group Name ve Region belirleyip oluşturalım. Alt kısımda ise Pin to Startboard seçili olarak gelmekte bu ise oluşturduğumuz Resource Group içerisine kolayca ulaşmak için Preview Portal başlangıç sayfasına bağlayabilirsiniz.

Resim

“Create” butonunu tıkladık, Resource Group oluşturma işlemi bittikten sonra, Preview Portal başlangıç sayfasına dönelim ve kontrol edelim.

Resim

“BAResourceGroup” olarak oluşturduğum Resource Group Preview Portal ana sayfasında görmekteyim. “BAResourceGroup” üzerine gelip tıkladığınız zaman oluşturduğunuz Resource Group detayları aşağıdaki gibi karşımıza gelmektedir.

Resim

Yukarıda “Summary” kısmında görüldüğü gibi yeni oluşturduğumuz Resource Group içerisinde herhangi bir kaynak bulunmamaktadır. “Settings” butonuna basarak Resource Group ile ilgili yazımızın başında bahsettiğimiz RBAC ayarlarını yani Resource Group yönetimini başka bir çalışana devretmek için Users kısmından gerçekleştirebilirsiniz. Bununla beraber, Properties Resource Group yapılandırma ayarlarınızı ( Region, Subscription) bilgilerini, Tags kısmında ise kaynaklarınıza etiket vererek verilen Tag adı ile çağırma şansına sahip olursunuz. Unutmayalım, Audit Logs ve Resource Locks Powershell ile yönetebilmektedir.

Resim

Oluşturulan Resource Group içerisinde “Add” butonuna tıklayarak, yeni bir kaynak ekleyebilirsiniz. Eklenen kaynaklar(VM, Web Site, Database, Storage) ile ilgili bazı kurallardan bahsedelim.

  • Her kaynak sadece bir Resource Group içerisine üye olabilir.
  • Herhangi bir kaynak istenildiği zaman Resource Group içerisinden çıkartılabilir veya başka bir Resource Group içerisine eklenebilir.( Powershell ile yapılıyor.)
  • Resource Group farklı Region üzerinde hizmet veren kaynakları üye olarak alabilir.

Resource Group içerisine girdiğimiz zaman “Summary” kısmında ise, Peers ve Linked Resources kısımlarını görmekteyiz.

Peer Resources: Resource Group içerisinde tutulan kaynakların listelendiği yerdir.

Linked Resources: Resource Group içerisinde bir web sitesi olduğunu düşünelim ve bu web sitesi Database kullanması gerektiğini ve bu Database sunucusu başka bir Resource Group içerisinde olsun. Farklı Resource Group içerisindeki kaynaklar ilişki içerisinde olsun. İşte böyle bir durumda başka Resource Group üzerinden kullanılan kaynaklar örnekte verdiğimiz gibi (Website + Database) linked Resources kısmında gözükecektir.

Resource Group içerisine ben bir adet sanal makine ekleyerek sizlere yazımızın başında bahsettiğimiz Servis durumunu ve fatura detaylandırmasını detaylarına beraber bakalım.

Resim

Yukarıda görüldüğü gibi Resource Group içerisinde Monitoring ve Billing detaylarını görebiliriz. Resource Cost kısmına bakacak olursak Resource Group içerisine eklemiş olduğum bir sanal makinem bulunmakta ve bunun bana maliyet detaylarını göstermektedir. Resource Group içerisine ekleyeceğiniz tüm kaynaklarınızın size yansıyan maliyet detaylarını bu ekrandan kontrol edebilirsiniz.

Azure DNS Preview

Mayıs ayı içerisinde Microsoft bizlere niyahet Azure üzerinde DNS Servisinin Preview olarak duyurdu. Artık Azure üzerinde Public DNS hizmeti alabileceğiz. Amazon içerisinde bu hizmet uzun süredir var. Şimdilik bu yeni gelen özelliği kullanmak için sadece Powershell ile gerçekleştirebiliyoruz.

DNS Hizmeti ile beraber yakın zamanda eklenecek olan özellikler ise,

  • DNSSEC Support
  • Traffic Manager ile beraber biçimde çalışma
  • Office 365 içerisine custom domain ekleme işlemleri
  • Azure Portal üzerinden yönetim arayüzü

Azure DNS servisini Powershell üzerinden yöneteceğimiz için Azure Powershell Modülünü güncellememiz gerekmektedir. GitHub üzerinden en güncel Azure Powershell modulü aşağıdaki linkte mevcuttur.

https://github.com/Azure/azure-powershell/releases

Azure Powershell Modülünü kurduktan sonra versiyon kontrol için aşağıdaki komutlar size yardımcı olacaktır.

Yapacağımız işlemleri sırasıyla özetleyelim.

  • Powershell içerisine Azure hesabının eklenmesi
  • Azure DNS önizleme sürümüne kaydolmak ( Preview Feature ekranı veya Powershell ile yapılabilir.)
  • Resource Group oluşturması ( Azure içerisinde mevcut Resource Gruplar kullanılabilir.)
  • Zone oluşturulması ve Registrar(tescil edilen firma) tarafında Name Server(NS) kayıtlarının güncellenmesi

Powershell içerisine Azure hesabınızı eklemek için Blog üzerinde daha önce detaylı bir yazı paylaşmıştım. Hızlıca tekrardan bahsedelim. “Add-AzureAccount” cmdlet kullanarak karşımıza gelen kısımda Subscription bilgileri ile Powershell içerisine Azure hesabımızı ekleyebiliriz.

Azure DNS Preview servisini kullanmak Preview Feature sayfasından bunu aktif etmeniz için aşağıdaki adresten başvuru yapmanız gerekmektedir.

http://azure.microsoft.com/en-us/services/dns/

Yukarıdaki işlemi dilerseniz Powershell ile gerçekleştirme şansınız bulunmaktadır. Azure Powershell Modülünü ResourceManager Moduna çekmeniz gerekmektedir. Bu sayede Provider ile ilgili cmdlet karşımıza gelecektir.

Switch-AzureMode AzureResourceManager

Register-AzureProvider -ProviderNamespace Microsoft.Network -Force

Register-AzureProviderFeature -ProviderNamespace Microsoft.Network -FeatureName azurednspreview -Force

Get-AzureProviderFeature -ProviderNamespace Microsoft.Network -FeatureName azurednspreview

Powershell içerisine Azure hesabımızı tanıttık, DNS Preview özelliğini kullanmak için ister Preview Feature sayfasından veya yukarıda görüldüğü gibi Powershell ile başvuru yapabiliyoruz. Yukarıdaki en son Powershell komutu ile yapılan DNS Preview servisi için RegistrationState kısmını ekrana getirdim. Eğer yeni başvuru yapsaydınız yaklaşık 24 saat içerisinde aktif hale gelecekti. Preview Feature sayfasından veya Powershell ile yapılan başvuruları buradan kontrol etmeniz gerekmektedir. Sebebi ise henüz DNS Preview servisini Azure Portal üzerinden göremiyoruz.

DNS Preview başvurusunun “Registration State” kısmını “Registered” gördükten sonra, artık DNS Zone tanımlamasını Azure DNS Servisi içerisinde yapalım. Yukarıdaki adımlarda belirttiğimiz gibi, DNS Zone oluşturmanız için Azure içerisinde mevcut yada yeni bir Resource Group yaratmalısınız.

Yeni bir Resource Group yaratmak için yine Azure Powershell Modulünü ResourceManager modunda ve kullanmanız gereken cmdlet “New-AzureResourceGroup –Name ResourceGroupName –Location AzureRegion” şeklinde olmalıdır.

Azure üzerinde artık DNS Zone yaratma işlemine geçelim. Unutmamız gereken nokta var, Azure DNS Servisi içerisine Zone yarattığımız zaman bizlere Name Server (NS) ve Start of Authority (SOA) iki adet kayıt oluşturacak. Bu kayıtlar bizlere Windows Server içerisinde DNS hizmeti içerisinde Zone oluşturduğumuz zamanda gelmektedir. Name Server(NS) kayıdı içerisinde DNS Sunucu bilgileri var ve biz bu isimleri alıp Alan adımızı Registrar ettiğimiz yani tescil ettiğimiz firma üzerinden Azure DNS Server adresimizi göstermemiz gerekmektedir.

Azure DNS Servisi içerisine DNS Zone eklemek için kullanacağımız cmdlet “New-AzureDNSZone –Name domainname –ResourceGroup ResourceGroupName” şeklinde olmalıdır.

Zone ekleme işlemi bitti, artık Zone oluştururken Name Server (NS) ve Start of Authority (SOA) kayıtlarımızı gösterelim. Bunun için kullanacağımız cmdlet, “Get-AzureDnsRecordSet -ZoneName domainname -ResourceGroupName ResourceGroupName -RecordType Kayıttipi(NS – SOA – A – SRV )

Not: RecordType parametresini kullanmaz iseniz DNS zone içerisindeki tüm kayıtlar listelenir.

Oluşturduğum Zone içerisinde bu Domain Adına hizmet veren DNS Server listesi yukarıdaki çalıştırdığım cmdlet sayesinde görmekteyim. Artık yapmam gereken sadece, Registrar arayüzünden (CPanel) içerisinden bu alan adı için belirtilen DNS Serverları kullanmam gerektiğini belirtmem gerekiyor.

Yukarıdaki gibi artık hasangural.com için Azure DNS Serverlarını kullanacağımı belirttim. Artık hasangural.com için Azure DNS hizmet veriyor. DNS Hizmetimizin başarılı bir şekilde çalıştığını anlamak için test amaçlı bir tane Resource Record kayıdı oluşturalım. Host (A) kayıdı oluşturup ve daha sonra bunu doğrulamasını gerçekleştirelim.

Azure üzerinde Zone içerisine Resource Record ( A, MX, SRV, PTR, TXT) kayıtlarını eklemek için kullanacağımız cmdletler, “New-AzureDnsRecordSet, Add-AzureDnsRecordConfig, Set-AzureDnsRecordSet” bunların hepsini pipeline süreci içerisinde kullanmamız gerekmektedir.

Azuredns.hasangural.com adında bir Host(A) kayıt eklendi ve ip adresi olarak “4.5.6.7” olarak gösterdik. Şimdi ise bunun bir doğrulamasını yapalım. ( Powershell veya Nslookup ile )

Configuring Azure VNet-to-VNet VPN – Part 2

Yazımızın ikinci bölümüyle devam ediyoruz. “Create Gateway” kısmına gelip “Dynamic Routing” tıklayarak Gateway adresi oluşması için yaklaşık olarak 30-40 dakika beklememiz gerekiyor. Bu Virtual Network(VNet) için bizlere VPN tünelinin oluşmasını sağlayan Public IP ataması gerçekleşecektir.

İki ayrı Virtual Network birbirine VPN yapacakları için her iki tarafında “Gateway” adresine ihtiyacı bulunmaktadır. “AzureVNet – West Europe “için de aynı şekilde “Dynamic Routing” tıklayarak gateway oluşturmasını sağlıyorum.

Gateway adresin oluşması için bir süre geçtikten sonra, “AzureVNet – East US” içerisine girelim ve Gateway IP Adresi oluşmuş durumdadır.

Diğer Virtual Network (“AzureVNet – West Europe”) içerisine girip, Gateway IP Adresinin tanımlandığını görmekteyim. Bu Gateway IP Adreslerini yazımızın ilk başlarında “Local Network” tanımlarken “VPN Device Address” kısmı bulunmaktaydı. Biz bu adresi “temp” olarak nitelendirmiştik. Sebebi ise ilgili Virtual Network içerisine VPN yapabileceğimiz Gateway IP Adresini henüz oluşturmamıştık.

Her iki VNet’in Gateway IP Adreslerini not alıp artık “temp” olarak girilen “Local Network için güncellemesini gerçekleştirelim. Azure Portal içerisinden “Networks” tabında gelip, “Local Networks” kısmına girdikten sonra, düzenlemek istediğiniz ilgili “Local Network” üzerine gelip “Edit” butonuna basalım. “VPN Device Adress” kısmına ise girmiş olduğumuz “temp” adresini silip oluşan ilgili Virtual Network (VNet) için oluşan Gateway IP Adresini girerek güncellemeniz gerekmektedir.

Aşağıda görüldüğü gibi güncellemeleri gerçekleştirdim. Azure üzerinden bu “Local Network” ile herhangi bir bağlantı “Site to Site VPN” ya da “VNet to VNet VPN” yapılmak istenirse, VPN Device Adresi üzerinden erişim sağlanacaktır.

Tanımlı olan “Local Networks” için “VPN Device Address” güncellemesi yaptıktan sonra, “Site to Site VPN” ile hiç ilgilendiyseniz orada Vendor göre bizlere hazır yapılandırma dosyaları indirmektedir. Fakat biz Azure içerisinde “VNet to VNet VPN” yapacağımız için, herhangi bir yapılandırma (Powershell script, config dosyası) indirip çalıştırmayacağız. Azure içerisinde VPN yaptığımız için böyle bir durumumuz yok. “Site to Site VPN” için yapılandırma dosyalarının(Powershell Script, Config) içerisinde kullanılan güvenlik protokolleri sebebiyle erişim için “Pre-Shared key” bilgileri saklanmaktadır. Şimdi biz de iki farklı VNet için oluşturduğumuz Gateway adreslerine “Pre-Shared key” tanımlaması gerçekleştirerek birbirleriyle bağlantı kurarken karşılıklı doğrulamaları gerekiyor. Bu kısımda yardımımıza Powershell koşuyor. Azure Powershell ile kullanacağımız cmdlet sayesinde belirtiğimiz Virtual Network (VNet) için şu “Local Network” içerisine giderken belirtilen “Pre-Shared key” tanımlamasını yapabiliriz. Azure Powershell yükleme ve hesap tanıtmak için bu yazım sizlere yardımcı olacaktır.

Set-AzureVNetGatewayKey –VnetName (VirtualNetworkAdı) –LocalNetworkSiteName(VPNYapılacakLocalNetworkAdı) –sharedKey (Paylaşımlı Anahtar) şeklinde bu cmdlet kullanabilirsiniz.

Sadece VNet to VNet VPN yaparken birbirlerine bağlantı yapılacak Virtual Network(VNet) için Gateway adreslerine “Pre-Shared Key” atanması gerekiyor.

#region Set-AzureVNetGatewayKey Pre-sharedkey

Set-AzureVNetGatewayKey
-VNetName
“AzureVNet – East US”
-LocalNetworksiteName
“AzureVNet – West Europe – Local Network”
-sharedKey bilgeAdamPass

Set-AzureVNetGatewayKey
-VNetName
“AzureVNET – West Europe”
-LocalNetworksiteName
“AzureVNET – EastUS – Local Network”
-sharedKey bilgeAdamPass

#endregion

Powershell üzerinden VNet to VNet VPN yapılabilmesi için Pre-SharedKey atamasını gerçekleştikten sonra, VPN bağlantısını aktif etmemiz için isteğinize bağlı olarak herhangi bir Virtual Network(VNet) içerisine girip “Connect” butonuna basmanız yeterli olacaktır.

Bağlantı kurulmaya başlıyor. Bu işlem bittikten sonra, “Dashboard” sekmesine gelip arada bağlantı ve giden gelen trafiği görebilirsiniz. Artık Azure içerisinde bulunan “AzureVNet – West Europe” ve “AzureVNet – East US” adındaki farklı Azure DataCenter da bulunan Virtual Network(VNet) yapısı birbiriyle VNet to VNet VPN sayesinde erişim sağlanabilir.

Dilerseniz Powershell ile bağlantı durumunu kontrol edebilirsiniz. “Get-AzureVNetConnection” cmdlet ile Virtual Network (VNet) adını göndererek, kolayca bağlantı durumu hakkında rapor alabilirsiniz.

#region Check VNet to VNet Connection Status

Get-AzureVNetConnection
-VNetName
“AzureVNet – East US”
,
ft
LocalNetworkSiteName,
ConnectivityState

#

Get-AzureVNetConnection
-VNetName
“AzureVNET – West Europe”
,
ft
LocalNetworkSiteName,
ConnectivityState

#endregion

Son olarak yazımızın başında belirtmiş olduğum iki adet Virtual Machine bulunmakta ve bunlar iki ayrı Virtual Network (VNet) içerisinden olduklarından dolayı Farklı Azure Datacenter içerisinde ve farklı IP aralıklarına sahiplerdi. Yaptığımız “VNet to VNet VPN” ile birbirleriyle iletişim haline geçebildiklerini görmek için ICMP paketi göndererek test işlemini gerçekleştirelim.

Configuring Azure VNet-to-VNet VPN – Part 1

Azure üzerinde barındırdığımız hizmetlerimiz ile On-Premises yapımızın aynı network içerisindeymiş gibi iletişim halinde olmalarını sağlamak için Site to Site VPN teknolojisini kullanıyoruz. Son kullanıcı olarak Azure ile VPN yaparken ise Point to Site VPN ile erişim sağlayabiliriz. Bu yazımızda Azure içerisinde farklı bir konu olan VNet to VNet VPN kapsamından ve senaryodan bahsetmek istiyorum.

Tüm VPN yöntemlerini açıklayan resim aşağıda bulabilirsiniz.

Azure üzerinde birden fazla Virtual Network yapınız var, bunları kullanan Sanal Makinelere sahipsiniz ve birbirleriyle VPN yaparak aynı network içerisindeymiş gibi iletişim haline geçmesini istiyorsunuz. Biraz daha konuyu derinleştirirsek, farklı Azure Data Center üzerinde tutulan sanal sunucularınız var. ( Örneğin; West-US – East US)

Yukarıdaki detayı biraz daha genişletelim. İki farklı “Azure Subscription” arası bu yöntemi kullanarak farklı Microsoft Azure Hesapları içerisindeki Virtual Network yapılarını aynı network içerisindeymiş gibi iletişim halinde olmalarını sağlayabilirsiniz.

Yazımızın başında belirtmiş olduğumuz gibi biz Azure üzerinde farklı Data Center üzerinde barındırdığımız sanal sunucularımızın birbirlerine erişmeleri için, VNet to VNet VPN yöntemini gerçekleştireceğiz. Aşağıdaki resimde gerçekleştireceğimiz senaryomuz bulunmaktadır.

Yapımızı anlamak için Azure Portal içerisinden Network kısmına göz gezdirelim.

Görüldüğü gibi iki adet Virtual Network(VNet) yapılandırmamız bulunmakta ve bu Virtual Network’leri kullanmaktalar.

Azure Portal İçerisinden “Virtual Machines” kısmına girdiğimde Location kısmına dikkat edelim, Sanal Makinemi oluştururken seçmiş olduğum Virtual Network ( VNet ) sayesinde ilgili Azure Data Center içerisinden oluşturulmasını ve hizmet vermesini sağlamış durumdayım. Şimdi ise Virtual Network (VNet) içerisindeki IP Aralıklarını görelim. Bunu dilerseniz, Portal üzerinden de bakma şansınız var. Ben Powershell ile daha kolay olduğu için tercih ettim. VNet İsmi, Lokasyonu ve Adres aralığını görmekteyiz.

Network bilgilerimizi öğrendik. Azure ile On-premises yapınızı birbirine bağlamak için Site to Site VPN yöntemini yapılandırırken, On-Premises
Network
bilgilerimi Azure Portal içerisine eklememiz gerekiyor. Aynı şekilde bizde VNET to VNET VPN yapabilmemiz için Azure Portal üzerinden Networks kısmında Virtual Network (VNet) adreslerini Local
Network olarak tanıtmamız gerekiyor. Bunun sebebi ileride VNet to VNet VPN kurarken, VPN yapılacak karşı tarafın, “Local Network” adresini belirtmemiz gerekiyor.

New Butonuna basıktan sonra, “Virtual Network” içerisinden “Add Local Network” tıklayarak Virtual Network(VNet) içerisinde tanımla olan IP aralıklarını girelim. İlk olarak “AzureVNet – East US” isimli Virtual Network’ün IP Adres aralığını tanıtıyorum.

Name alanında oluşturacağım “Local Network” için bir isim vermem gerekiyor. Bu isimlere dikkat edelim, çok fazla “Local Network” ile çalışınca karmaşık bir yapıya yol açabiliyor. Benim vermiş olduğum isim Virtual Network adresimin yanına “Local Networkprefix ekledim. “VPN Device IP Adress” kısmına şimdilik “temp” bir adres girmem gerekiyor. Sebebi ise karşılıklı VNet to VNet VPN yapacağımız için iki tarafta bir Gateway Adresi oluşturma işlemimizi henüz gerçekleştirmedik. Bu adımları ilerde beraber yaptıktan sonra bu kısmı tekrar güncellemesini yapıyor olacağız.

AzureVNet –East US” isimli Virtual Network’ün Local Network IP Adres aralığını tanıtıyorum. VNet adres aralıkları için Powershell çıktısına tekrardan bakabilirsiniz.

“Complete” butonuna basıktan sonra, Local Network oluşturma işlemini tamamladım. Tekrar Aynı şekilde “AzureVNetWest
Europe” isimli Virtual
Network’ün
IP
Adres aralığını tanıtıyorum. Yukarıda belirtmiş olduğum gibi Name alanına “Local
Networkprefix ekleyerek devam ediyorum. “VPN Device IP Adress” kısmına yine bir “temp” adres belirtiyoruz.

AzureVNet –West Europe” isimli Virtual Network (VNet) içerisinde kullanılan IP Adres aralığını tanıtıyorum.

Complete” butonuna basıyorum ve artık Azure içerisindeki tüm Virtual Network’ler(VNet) için “Local Network” tanımlamalarını tamamladık. Artık VNet to VNet VPN işlemleri başlatmak için, Azure
Portal üzerinden her iki Virtual
Network(VNet) ayarlarına girip, VPN kurmak istediğimiz karşı Virtual
Network(VNet) için tanıtmış olduğumuz “Local Network” adını seçmemiz gerekiyor. İstediğiniz Virtual Network(VNet) içerisine girip, (“AzureVNet – East US” olarak başladım.) “Configure” tabına gittiğiniz zaman “Connect
to
the
local
network” seçerek bağlantı kurmak istediğimiz “Local Network” seçiyoruz. Daha sonra “Virtual
Network
Adress
Spaces” kısmında ise “Add
Gateway
Subnet” kısmına tıklayarak ileride oluşacak Gateway adresimiz için bir subnet ekliyoruz.

Save” Butonuna tıklayıp yaptığımız ayarlarımızı kaydediyoruz.

Aynı işlemleri diğer Virtual Network(VNet) için gerçekleştirelim. “AzureVNetWest
Europe” isimli Virtual
Network(VNet) içerisine girip “Configure” tabına giriyorum. Connection kısmında bulunan “Connect
to the local network” butonunu tıklayıp, VPN yapmak istediğim ve tanıtmış olduğum “Local
Network” bilgilerini seçiyorum. Yukarıda gerçekleştirdiğimiz gibi “Gatewaysubnet ihtiyacımız bulunmaktadır. Add
Gateway
Subnet” kısmına tıklayarak ileride oluşacak Gateway adresimiz için bir subnet ekliyoruz.

Save” Butonuna tıklayıp eklemiş olduğumuz ayarları kaydediyoruz. Artık Azure içerisin de bulunan tüm Virtual
Network(VNet) için VPN yapmaları gereken Local
Network adreslerini belirtip ve Gateway oluşturmaları için subnet ekleme işlemlerini tamamladık. “AzureVNetEast
US” isimli Virtual
Network içerisine girelim ve artık VPN yapabilmemiz için Gateway adresi oluşturmamız gerekiyor. Hatırlarsanız yukarıda, Gateway
Subnet oluşturmuştuk. Bu sayede bizlere bu aralık içerisinden Gateway adresi oluşturacak ve Public
IP üzerinden iki farklı Virtual
Network(VNet) birbirleriyle görüşecekler.”Static
Routing” ve “Dynamic
Routing” olarak iki adet farklı Gateway ekleme şansınız bulunmaktadır. Baktığınız zaman bu seçenekler karşı taraftaki cihazın özellikleri ile seçilen bir alandır. “Static
Routing” seçtiğimiz zaman sadece “Site
to Site VPN” işlemini gerçekleştirebilirsiniz. “Dynamic
Routing” seçtiğiniz zaman tüm senaryoları destekliyor. Bununla beraber “Static
Routing” Security protokolü olarak “IKEv1” kullanmaktadır. Dynamic
Gateway ise “IKEv2” protokolünü kullanmaktadır. Daha detaylı bilgiyi ilgili sayfada bulabilirsiniz.

https://msdn.microsoft.com/en-us/library/azure/jj156075.aspx

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 5.0 Preview ( Windows Management Framework 5.0 Preview)

Windows Management Framework 5.0 Preview versiyonu yayınlandığından günden beri bizlerde inceleyemeye aldık ve yeni gelen güzel özelliklerin birkaçından bu yazımızda bahsediyor olacağız. Windows Management 5.0 Preview Public beta durumda olup, aşağıdaki linkten indirebilirsiniz.

x64 Platform Link : WindowsBlue-KB2969050-x64.msu

x86 Platform Link : WindowsBlue-KB2969050-x86.msu

Öncelikle Windows Management Framework 5.0 yükleyebilmeniz aşağıdaki işletim sistemlerine sahip olmanız gerekmektedir.

Operating System Service Pack Editions
Windows 8.1 All
Windows Server 2012 R2 All

İndirme işlemini yaptıktan sonra,

İndirdiğiniz dosya tıklayarak yükleme işlemini başlatabilirsiniz.


Dilerseniz komut satırı aracılığı ile kurulum yapabilirsiniz.
•x64 bit tabanlı İşletim Sistemleri için Windows 8.1 Pro, Windows 8.1 Enterprise, Windows Server 2012 R2
Windows8.1-KB2969050-x64.msu /quiet
•x86 bit tabanlı İşletim Sistemleri için Windows 8.1 Pro, Windows 8.1 Enterprise, Windows Server 2012 R2
Windows8.1-KB2969050-x86.msu /quiet
WMF 5.0 Preview ( Powershell 5.0 Preview) kurulumu yaptıktan sonra, versiyonu olduğunuzu doğrulamak için Powershell Console üzerinde ;
“$PsVersiyonTable”
ya da “Get-Host”
yazarak bulunduğunuz versiyonu öğrenebilirsiniz.

İlgili kurulum aşamalarını bitirdikten sonra, Powershell 4.0 versiyonuna göre Powershell 5.0 üzerinde aşağıdaki alanlarda güncellemeler gelmiştir.

  • Windows PowerShell
  • Windows PowerShell Integrated Scripting Environment (ISE)
  • Windows PowerShell Web Services (Management OData IIS Extension)
  • Windows PowerShell Desired State Configuration (DSC)
  • Windows Remote Management (WinRM)
  • Windows Management Instrumentation (WMI)

Bu versiyon da saymakla bitmeyen ve esnek yapısıyla günümüzde BT çalışanlarının günlük işlerini otomatize etmeye yarayan betik dil olan karşımıza ileride BT çalışanların işlerini ne kadar kolaylaştıracağını şahit olacaksınız. Powershell 5.0 Preview ( Windows Management Framework Preview 5.0) sürümünü kurduğunuzda iki adet yeni modülü inceliyor olacağız.

  • NetworkSwitch
  • OneGet

Dilerseniz Powershell Console üzerinde “Get-Module –ListAvaible” komutunu çalıştırarak aktif olan modülleri görebilirsiniz.

Network Switch” Modülü ile artık Microsoft Logolu gördüğünüz Switchleri yönetme şansına sahip olacaksınız. Microsoft endüstri standardı olan DMTF (Distributed Management Task Force) kapsamında kullanarak bu süreci geliştirdiğini söylemekte fayda var. Yönetebildiğimiz Switch markalarından bazıları; Cisco ve Huawei markalarını örnek verebiliriz. Kısaca Powershell ile yapabildiklerimiz;

  • Global switch yapılandırması
    • Hostname ataması
    • Switch yapılandırmasını kaydetmek
    • Switch üzerindeki özellikleri kapatıp açmak
  • VLAN yapılandırması:
    • VLAN oluşturmak ve silmek
    • VLAN kapatmak ve açmak
    • VLAN isim ataması
  • Port yapılandırması:
    • Port kapatmak, açmak
    • Port özelliklerini ve Port modlarının değiştirilmesi
    • Trunk port yapılandırması

Network Switch” modülü ile ilgili komutları dilerseniz;
“Get-Command – Module NetworkSwitch” yazarak görmeniz mümkün.

One Get
” Modülü ile artık web tabanlı uygulama kurulumları gerçekleştirebiliyoruz. Linux tarafıyla ilgilenenler için vazgeçilmez olan YUM ( Yellowdog Updater, Modified

) ve APT ( Advanced Packaging Tool
) harika bir araç olmakla beraber kolayca konsol üzerinden uygulama yüklenmesini ve kaldırmasını kolaylık sağlamaktadır. Artık Windows tarafında oldukça kolay bir şekilde bizde web tabanlı tanımlı olan galeriler üzerinden Powershell konsolu üzerinden uygulama yükleyip kaldırabileceğiz. İsteğinize bağlı olarak web tabanlı farklı uygulama galerileri ekleyebilir, şirketiniz içerisinde, bir uygulama galerisi oluşturup Powershell için uygulamaları kendi bünyenizde barındırıp ilgili sunucular üzerinden kurulumları gerçekleştirebilirsiniz. Bu sayede uygulama kurulumlarını indirmek için her seferinde internete ihtiyacınız kalmaz.

Şunu söylemekte fayda var, bu işlemleri daha önceden powershell üzerinden yapabiliyorduk, fakat özel eklentiler ve tanımlamalar yapmamız gerekiyordu. Buna örnek olarak,
Chocolatey aracını kullanarak powershell içerisinden uygulama yükleyebiliriz. Artık Powershell 5.0 ile beraber bu Cmdletlerin otomatik bir şekilde gelmesi ve Chocolatey Galerisini eklenmesi, yakın zamanda Microsoft’un kendi galerisini oluşturması ( gün geçtikçe gelişmekte olan bir galeriye sahip ). Artık yapmamız gereken tek şey kurmak istediğimiz uygulamanın adını yazmak.

OneGet” modülü ile ilgili komutları dilerseniz;

“Get-Command – Module OneGet” yazarak görebilirsiniz.



Powershell içerisine internet üzerinde kullanılan galerileri ekleyebilirsiniz. Default olarak “Chocolatey” galerisi otomatik şekilde gelmektedir. Dilerseniz “Add-PackageSource” komutu ile bu galeriler ekleyebilirsiniz.

Get-PackageSource” cmdlet’i kullanarak Powershell üzerinde tanımlı olan uygulama galerilerini görmeniz mümkün.


Tanımlı olan uygulama galerilerine inceledikten sonra, bu galeriler üzerinden uygulama kurmaya geldi. İstediğimiz uygulamanın adı “Find-Package –Name” cmdlet’i ile aratabilirsiniz. Eğer “Find-Package”
komutu “–Nameparametresi olmadan çalıştırırsanız Chocolatey galerisi üzerindeki tüm uygulamalara listelersiniz.

Find-Package –Name uygulamanızınadı şeklinde arama yapabilirsiniz. Aşağıdaki örnekte “Adobe Reader” uygulamasını powershell üzerinden araması gerçekleştirdik ve “Chocolatey” galeri üzerinde uygulamamızı bulduk artık kurma işlemlerini başlatabiliriz.

Uygulama aramasını “Where-Object” komutu ile filtreleyebilirsiniz.

Örnek Komut : “Find-Package | Where-Object Name –like ado*”

Farklı bir örnek ile “Out-GridView” cmdleti ile sonucunuzu “Grid view” penceresi içerisinde görebilirsiniz.

Örnek Komut : “Find-Package | Where-Object Name –like ado* | Out-GridView”

Bulduğumuz uygulamamızı kurmak için kullanacağımız komutumuz;

“Install-Package AdobeReader –Verbose –Force” Verbose parametresi ile kurulum adımları gerçekleştirirken ayrıntılı bir şekilde bize bilgi veriyor olacak. Bu sayede indirilen paketin nereye kaydedildiğinin öğreniyor olacağız.

İlgili uygulamayı Chocolatey galerisi üzerinden indirip, sessiz kurulum şeklinde devam etmektedir.

Uygulama kurulum işlemleri bittiği zaman “Installed” şeklinde görmemiz gerekmektedir.

Uygulamanın kurulduğumu teyit ediyorum.

Farklı bir senaryo ile “Install-Package” komutumuzu kullanmaktan bahsetmek istiyorum. Bir “.txt” uzantılı dosyamız olduğunu varsayalım ve bu dosyamızım içerisine kurmak istediğimiz uygulama adlarını girelim.

Örnek;

Not: Kurmak istediğiniz uygulama isimlerini Find-Packagekomutu çalıştırarak uygulama listesini görebilirsiniz.

Uygulama listesi adında bir txt uzantılı dosyamı oluşturup kaydettim. Daha sonra bu .txt
dosyasını çağırıp içerisindeki tüm uygulamaları “Install-Package”
komutu içerisine göndereceğim.

Install-Package –Name ( Get-Content .UygulamaListesi.txt )”

UygulamaListesi.txt” içerisindeki yazan tüm uygulamaların otomatik bir şekilde “Install-Packagekomutu ile kuruldu.

Tüm uygulamaların kurulduğunu görmekteyiz. Dilerseniz, “Uninstall-Package –Name uygulama-adınız “
ya da “Uninstall-Package –Name ( Get-Content .UygulamaListesi.txt )” komutu ile yüklediğiniz uygulamaları kaldırabilirsiniz.


Windows Management Framework 5.0 Preview aşağıdaki komut ile sisteminizden kaldırabilirsiniz.

wusa /uninstall /kb: KB2969050

Bir başka yazımızda görüşmek üzere,

 

Office 365 Planner Kullanımı

Office 365 Planner Kullanımı

Birkaç kişinin bir araya gelip bir işi yapmaları dünyanın en zor işlerden biridir. Oysa ekip ruhu ve takım liderliğinde BEN yerine BİZ odalı olabilmek, bir bütün içinde birlikte hareket etmek ve yaratıcı fikirleri oraya çıkararak faydalı bir oluşum sağlanabilir. Rekabetin arttığı bu dünya da şirketler, aralarındaki yarışı kazanabilmek için ve verimliliklerini arttırmak amacıyla değişik ruhlar/takımlar oluşturularak bir bütün olduklarını bilelim. Takım liderliği, takım çalışması ve bunun motivasyona olan etkisi günümüz işletmelerin en önemli sermaye kaynağıdır. Hemen hemen her firmada süreçler; şirket içindeki takım liderleri tarafından ekipteki kişilere birtakım görevler atanır. Bu görevlerin kime atandığı ve ne aşamada olduğu, görevin ne zamana kadar bitmesi konusunda birçok havada kalan sorunlar ortaya çıkmaktadır. Bu sebeple ekip yöneticisi çalışanların performansını ve işlerin durumunu doğru bir şekilde izleyemiyor. Office 365 Planner sayesinde görev takibini daha kolay yapabilirsiniz. 

Office 365 Planner?

Office 365 Planner, ekibinizin planlarını oluşturmalarını, çalışmalarını düzenleme ve atamalarını, dosya paylaşmalarını, kimin ne üzerine çalıştığı hakkında sohbet etmeleri ve ilerlemelerine dair güncel bilgilerin bir arada buluduğu bir servistir. Özellikle farklı konumlarda bulunan ekiplerin online olarak aynı projeyi tamamlamasını kolaylaştıran proje yönetim uygulamaları, bir işi daha küçük parçalara bölerek, her birini ayrı bir kişiye görev olarak atama imkanı tanıyor. Daha sonra bu işler yöneticiler tarafından kolaylıkla takip edilebiliyor. Projenin hangi ayağını kim yönetiyor, hangi işler kimler tarafından yapılıyor gibi soru işaretleri bu uygulamalarla ortadan kalkıyor.

Aynı proje üzerinde çalışan ekiplerin mevcut durumu her an telefonla ya da e-postayla birbirine sormasının önüne geçerek, birden fazla kişinin aynı proje üzerinde daha verimli çalışmasını sağlıyor. Office 365 ile birlikte ücretsiz olarak yayınlanan Planner, OneNote ve Outlook gibi diğer ofis araçlarıyla entegre çalışmaktadır.

Office 365 Planner genel bakışhttps://www.youtube.com/watch?v=Y4x8SO8bWkA Office 365 Planner; Exchange Online, Sharepoint Online, OneDrive for Business, Skype for Business gibi servislerde kullanılmaktadır.


Office 365 Planner- Çalışma Panosu

  1. Ekipleriniz ve iş planlarınız 

  2. Atanan görevler 

  3. Henüz başlanmamış görevler kutusu 

  4. Devam eden görevler kutusu 

  5. Tamamlanan görevler kutusu 

  6. Renkli Kategori Etiketi

  7. Görevin atandığı kişi 

 

Office 365 Planner- Görev Kartı

Office 365 Planner – Raporlama Ancak Planner’ı tüm rakiplerinden ayıran şey, Office 365 ailesiyle tamamen entegre çalışması.

  • Planner – Outlook 

  • Planner – Takvim 

  • Planner – Sharepoint 

  • Planner – OneNote 

  • Planner – Yammer 

Aşağıdaki lisans tiplerine sahipseniz Office 365 Planner’ı hemen deneyebilirsiniz. Office 365 Planner şimdilik; 

  • Office 365 Enterprise E1–E3-E5 

  • Office 365 Business Essentials 

  • Office 365 Business Premium 

  • Office 365 Education