Category: Powershell

Access to Azure Cloud Shell from Visual Studio Code

Nowadays, I’m greatly passing the time with Visual Studio Code. I’m a huge fan of Visual Studio code. As you know, Azure Cloud Shell was published a years ago by Microsoft. When the Azure Cloud Shell announced a years ago, I had given a webcast. You can watch that webcast on this link. Azure Cloud Shell has been giving a chance to managing your Azure Resources on web-based support shell. It is supporting Bash and Powershell. In this context, you will be able to manage your resource web-based and you do not need to configure PowerShell module and version. In this article, I’m going to share with you useful feature which is Azure Cloud Shell on Visual Studio Code.



Powershell ile WMI ve CIM Kullanımı – Part 3

CIM ve WMI tarafından kullanılan repository, farklı namepsace yapısı içerisinde düzenlenmiştir. Bir namespace alanı temelde bir klasör gibi düşünülebilir ve farklı yönetim amaçlarıyla ilgili öğeleri gruplamak için kullanılır. Namespace alanları kendine içinde class(sınıflar) içerir. Bir class, yönetilebilir bir yazılım veya donanım bileşenini temsil edebilir. Örneğin, Windows işletim sistemi, işlemciler, disk sürücüleri, hizmetler, kullanıcı hesapları vb. Için class yapısı bizlere sağlar. Network ortamında bulunan her bilgisayar, farklı işletim sistemlerine sahip olacağından dolayı farklı namespace alanları ve class yapısına sahip olabilir.

Farklı namespace ve class yapısına hızlı bir örnek verecek olursak, Örneğin Active Directory rolüne sahip bir bilgisayar ile Windows Client arasında namespace ve class yapısı doğal olarak farklılık gösterecektir. Gelelim bu repository içerisinde nasıl aramalar yapılır bu namespace ve class nasıl erişeceğim dediğiniz duyar gibiyim. İşte bu kısımda yardımımıza önereceğim araçlar yetişiyor olacak ve işimiz çokta kolaylaştıracak.



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 Cloud Shell – WebCast

Powershell meraklıların özellikle katılmasını tavsiye ettiğim, Azure Cloud Shell hizmetinin detaylarının derinlemesine konuşacağım WebCast davetlisiniz.



Azure Stack hakkında bilmeniz gerekenler – Bölüm 2

Azure Stack Lisans ve Fiyatlandırma

Bu benim için gizemli soru dediğim konudur çünkü erkenden bilgiler edindiğimi söylebilirim. Fakat şu meşhur NDA durumuna uymak için, bu bilgiyi paylaşma hakkım ne yazık ki yok. Bahsedebileceğim şey, lisans verme modeli ne olursa olsun, bana kalırsa pahalı olacak ve SMB markete ulaşabileceğini düşünmüyorum. Hatırlatmakta fayda var. 3 adet farklı third-party var. Bunlar donanım sağlayıcısı, yazılım sağlayıcısı ve entegratörlerdi.

Sistem Entegratörleri Bütününün Hangi Parçasında Yer Alıyor ?

Bu kendime sorduğum sorulardan biriydi. Windows Azure Pack ve Sistem Center gibi standart ürünlerin üzerinde, sistem entegratörleri neredeyse müşterilerin datacenter yapısı içerisine bu ürünleri başarılı bir şekilde deploy etmek zorundaydılar. Fakat yalnızca Azure Stack Bütünleşmiş bir sistem olacağından dolayı zihinlerde bir soru yükseldi. Sistem entegratörlerine artık ihtiyaç gözükmüyor gibi duruyor. Çözüm deploy etmeleri için daha fazla ihtiyaç yok. Bir çeşit tak ve çalıştır…



Azure Stack hakkında bilmeniz gerekenler – Bölüm 1

Uzun zamandır bloğumda Azure Stack ile ilgili hiçbir paylaşımda bulunmadım ve sadece sessizce takip ettim. Birkaç ayda pek çok yenilik gerçekleşti ve bu paylaşımımda yeniliklerde en çok etkin olan özellikleri açıklayacağım.

Azure Stack geçen yıl TP1 ( Teknik önizlemesi 1 ) adı verilen proof of concept ile beklenilenden daha önce bir sürede tanıtıldı. Bizlere sunulan bu teknik önizlemenin hedefi müşterilere, danışmanlara ve ilk deneyimleyenlere Microsoft’un private ve hybrid cloud ortamının geleceğinin nasıl ne gibi ne tür yeniliklerinin geldiğinin ilk denemesinin yapıldığını göstermekti. Ama, sahiden nedir bu Azure Stack?



Remove Empty Azure Resource Group with Powershell

Azure Resource Manager dağıtım modelinde en çok karşılaştığım ve çok fazla tepki aldığım konulardan bir tanesi için geliştirdiğim Powershell Fonksiyonunu paylaşmak istiyorum. Bu fonksiyon sayesinde artık bağlandığınız Subscription üzerindeki bulunan Resource Group’ların içerisinde herhangi bir kaynak yok ise sizin için bu script temizliyor olacak.

Öncelikle Azure Resource Manager modülünün kurulu olduğunu emin olduktan sonra yapmanız gereken Azure Powershell üzerinde “Login-AzureRmAccount” cmdlet çalıştırıp oturum açalım.



Check Azure Resource Manager (ARM) Usage Limit – Part 1

Service Manager Azure VM’ler için, Classic Portal içerisinde sekme üzerinden kullanım ve kota limitlerini kontrol ve gözlemleyebilirsiniz. Ancak, ARM için klasik veya yeni portal yoluyla mümkün değildir. Kullanımı ve aboneliğiniz için o anda ayarlanmış olan eşikleri denetlemenin tek yolu, Azure PowerShell’i kullanmanız gerekir. Azure PowerShell modülünü buradan indirebilirsiniz. Öncelikle bu kontrol işlemine Classic Portal üzerinden nereden baktığımızı hatırlayalım.



Powershell Fonksiyon Kullanımı – Part 3

Yazımızın ilk ve ikinci bölümünde Fonksiyon kullanımın önemini, kullanım şeklini ve basit bir örnek yaparak anlatmaya çalıştık. Birkaç farklı örnek ile fonksiyonları anlayama devam edelim. Yine örnekler üzerinden kolayca ilerlemeye çalışalım. Geliştireceğimiz bu seferki fonksiyonda artık parametreler ile çalışmayı öğrenelim.

  • Fonksiyon Adı : Verb-Noun ilişkisi – Get-ComputerInformation
  • Parametre : Bilgisayar adını argument olarak göndermeye çalışalım.
  • Script Block : ‘Get-WMIObject’ cmdlet’i ile ilgili class yapısı kullanılarak istenilen sorguları yazalım.