Category: Genel

Powershell ile WMI ve CIM Kullanımı – Bölüm 1

Bu yazı serisinde Powershell ile WMI ve CIM teknolojilerinin nasıl çalıştığını, kullanım methodlarını genel hatlarıyla detaylandırmaya çalışıcam. Artık Blog üzerinde genelde seriler yazmaya çalışıyorum ve bu yazı serisine başlamak için çok sabırsızdım. Bir şekilde herkes Powershell ile haşır neşir oluyor fakat bu tarz derinlemesine konulara bakmaya fırsatı olmuyor veya dokunamıyor. İşte bu yazı serisinde bu teknolojilerin öneminden bahsedeceğim.



Powershell ile WMI ve CIM Kullanımı – Bölüm 2

CIM komutlarını iki şekilde kullanabilirsiniz. İlk yöntem olan bağlanmak istediğiniz uzaktaki bilgisayarın WinRM’yi yüklenmesi ( işletim sistemi versiyonu detayını unutmayalım) ve aktifleştirmenizi gerektirir. Bu süreç genellikle, Windows Management Framework 3.0’ın yüklenmesini ve Windows PowerShell Remote Session özelliğinin aktif hale getirilmesi durumudur. CIM komutlarını kullanmanın ikinci yöntemi ise, komutu eski hali olan WMI teknolojisini kullanması durumudur. Bu sayede, WMI komutlarıyla aynı sorgulara cevaplar alabilir ve Windows Management Framework uzak bilgisayarda kurulmasını ve aktifleştirilmesi gibi süreçler ile uğraşılmaz.

Windows Management Instrumentation (WMI) komutları ve teknolojisinin detayları

WMI komutları ile CIM komutları aynı havuzu kullanırlar. Aralarındaki tek fark, WMI komutlarının uzak bir bilgisayara nasıl bağlandığının detayıdır. WMI komutları session tabanlı bağlantıları desteklemez. Komutlar, yalnızca geçici bağlantıları DCOM üzerinden destekler. WMI veya CIM komutlarıyla kullanıldığında, DCOM bazı durumlarda kullanımı zor olabilir. DCOM, Remote Procedure Call (RPC) protokolünü kullanır. Bu protokol doğru çalışması için güvenlik duvarı istisnaları gerektirir.

WMI komutları, WMI servisiyle iletişim kurar. Uzak bilgisayarda herhangi bir WMI sorgusu yaptığınız zaman Windows Management Framework herhangi bir sürümünün detayı aranmaz ve Windows PowerShell Remote Session özelliğinin etkinleştirilmesi ile uğraşılmaz. Bağlanılacak uzak bilgisayarda Windows Güvenlik Duvarı özelliği etkinleştirilmişse ve third-party bir hizmet aktif ise, WMI sorguları için uzak bilgisayarda güvenlik duvarı tarafında kuralları WMI servisi için kurallar yazılması gereklidir. CIM komutları DCOM’u da kullanabileceğinden, WMI komutları session olarak sorgulama yapmadığı için (ad-hoc connection model) WinRM’in uzak bilgisayarda aktif edilmesi aranmaz. CIM ve WMI özetine baktığımız zaman, WMI ile sorgular yaparken herhangi bir servisin aktif edilmesi ile uğraşılmasına gerek kalmaz sadece Firewall tarafında bir takım kurallar yazılması gereklidir.



PowerShell Geliştirmek için Visual Studio Code Kullanmak

Uzun bir zaman aralığından beri PowerShell ISE’yi kullanmaktayım. Powershell 2.0 versiyonu ile hayatımıza giren Integrated Script Envoirment artık yerini devretme zamanı geldi mi? Bunun dışında Third Party olarak çok sık kullandığım Powershell Studio aracından hiç bahsetmiyorum fakat bazen çok fazla kaynak tüketip beni üzüntü ve muz kabuğuna uğratabiliyor. Ek olarak, PowerShell de Visual Studio Code tarafından şahane bir şekilde desteklendiğini söyleyebilirim. Ayrıca, Visual Studio Code, PowerShell Core için tüm platformlarda (Windows, MacOS ve Linux) desteklenirken Powershell Integrated Script Environment henüz Powershell Core desteklemiyor. Powershell Core merak edenler için uzun bir seri hazılıyorum.



Azure Building Blocks – Part 1

Azure Resource Manager şablonlarının yazılması ve deploy edilmesi size esneklik ve otomatik bir ortam sunmasını sağlarken bazı durumlarda, Azure Resource Manager şablonları kısa sürede çok karmaşık hale gelebilir. Ayrıca, Azure Infrastructure ortamınız için Microsoft’un en iyi uygulamalarının ekibiniz tarafından yazılan her şablona yansıtılması sağlamak bazı durumlarda zor olabilir. Eğer Azure Resource Manager dağıtım modeline hakim değilseniz, Azure Resource Manager makale serimi okumanızı tavsiye ederim.

Bu makale serisinde, Azure Resource Manager şablonunu geliştirirken ve dağıtımını basitleştirmeye yardımcı olan açık kaynak kodlu Azure Building Blocks ele alacağız. Microsoft içerisinde bulunan dağıtım modelleri ve uygulamalar ekibi tarafından öngörülen en iyi uygulamaları yansıtan ( IaaS, PaaS ) – benzeri olan Azure Resource Manager şablonlarını içerir. Azure Resource Manager şablonlarını kullanarak ( Template Deployment – Github) kaynak dağıtımını destekler. Azure kaynaklarını yöneten bir kişi, Resource Manager Deployment API sayesinde JSON formatında bir model kullanır ve bunu Azure Resource Manager API üzerine gönderir. Örnek olarak ortamınıza deploy etmek istediğiniz kaynakları ; Virtual Machine, Virtual Network, Storage, Network Security Group olarak belirterek gerekli dağıtımı sağlayabilirsiniz. Yine talebinize göre dağıtımı yapılmak istenilen kaynağın özelliklerinin tamamı, dağıtım yapılacak zamanda parametrik hale getirilerek özelleştirilir. Aşağıda bulunan resim içerisinde Azure Resource Manager dağıtım modelini destekleyen bir JSON dosyası bulunmaktadır.



Azure Building Blocks – Part 2

Yazımızın ilk serisinde genel hatlarıyla Azure Resource Manager ile Building Blocks yapısını anlamamız için açıklamalarda bulunduk. Building Blocks açık kaynaklı bir yazılım olduğunu ve Resource Manager dağıtım modelinde bize daha seri bir şekilde deployment yapmamıza yardımcı olacağından bahsettik. Şimdi ise genel yapısını ve nasıl kullanabileceğimize bakalım. Öncelikle Building Blocks aracını kurmanız için bir çok yöntem karşımıza çıkıyor. Eğer mevcut bilgisayarınız içerisinden bu tool erişip gerekli dağıtımı yapmak istiyorsanız, Azure Command Line Interface ( Azure CLI ) Yönetim aracını kurmanız gerekmektedir. Burası tamamen sizin seçiminize kalmakla beraber, dilerseniz Linux Bash üzerinden Building Blocks aracını yükleme şansına sahipsiniz. Ben bu yazı serisi içerisinde Azure CLI üzerinden devam edeceğim. Alternatif olarak tool kurulum süreçleri ile uğraşmak istemiyorum diyenler Azure Cloud Shell tercih edebilir ve Web Based olarak devam edebilirler.

Bir önceki yazımızda bahsettiğimiz gibi Azure Building Blocks 2.0 versiyonu ile indirilebilir durumdadır. Open Source bir araç olduğu için ve Azure CLI üzerinden kullanabilme durumunu hesaba katıp geniş bir şekilde bir çok platformda bu aracı tercih etmenizi sağlayacağını söyleyebiliriz. Bunların başını çeken, macOS, Ubuntu, Red Hat Enterprise Linux (RHEL), Fedora, or CentOS gibi İşletim sistemleri bulunmaktadır. Windows ise zaten söylememe gerek olduğunu düşünmüyorum. Şimdi sırasıyla Azure Building Blocks için neler gerektiğine bir göz gezdirelim.



Azure Building Blocks – Part 3

Azure Building Blocks temelde bir adet “Settings File” ihtiyaç duyar. Bu “Settings File” içerisine, Deploy etmek istediğiniz kaynağın detayları belirtirsiniz. Bu size tanıdık gelen bir format olacak fakat Azure Resource Manager Deployment modelinde geliştirdiğinizden oldukça basit bir şekilde karşınıza çıkmaktadır. Bu kısımdaki esneklikleri anlamak için hemen boş bir “Settings File” oluşturalım ve ardından ilk örneğimizle yola çıkalım.



Azure Building Blocks – Part 4

Building Blocks olarak son serimiz olan bu yazımızda artık geliştirdiğimiz “Settings File” nasıl deploy edeceğimiz üzerinden konuşacağız. Öncelikle Azure CLI tarafında dağıtım yapmak istediğiniz hesap ile oturum açmanız gerekmektedir.



Change the Azure Subscription Directory

It has been a while that I couldn’t write. There have been a lot of changing. The beginning of “Azure Subscription Directory Change Steps.” It was most complicated process while you were moving resource between Subscriptions. Your resources must be in the same directory when you decided to migrate resource between Azure Subscriptions. As you know, Azure Service Management Portal has been terminated.

Before you begin, you need some requirements

You must sign in with account that has RBAC Owner access to the subscription and It must be allowed to connect both the current directories



Overview Azure Migrate – Part 1

Microsoft’un Ignite 2017 de duyurduğu hizmet ile yine karşınızdayım. Bu sefer hizmeti ele almamım temel sebebi, yapmış olduğum birçok geçiş sonrası karşılaştığım sorunlara nasıl çözüm bulduklarını anlamak adına aradaki farkları yazmaya çalışacağım. Azure Migrate hizmeti, kaynaklarınızın Azure’a geçişi için kurum içi ve iş yüklerini değerlendirmeyi kolaylaştıran bir hizmettir. Azure Migrate, taşınabilme uygunluğunu, performansa dayalı boyutlandırmayı, kurum içi iş yüklerini Azure da çalıştırmak için yapılan maliyet tahminlerini değerlendirir. Meşhur Scale Up, Scale Down ve Scalue Out gibi kavramlara yakın olup geçişi düşünüyorsanız ve geçişin erken değerlendirme aşamasındaysanız, bu hizmet tam sizin için.



Overview Azure Migrate – Part 2

Bir önceki yazımızda Azure Migrate hizmetini genel hatlarıyla aktarmaya çalıştım. Şimdi ise Azure Migrate hizmetinin nasıl çalıştığına biraz göz gezirelim. Öncelike preview olan bu hizmeti aktif hale getirmek için şu sayfa üzerinden gerekli formu doldurup tarafınıza onay gelmesini bekleyiniz.