Azure içerisindeki çeşitli işlemlerinizi gerçekleştirmek için Windows Powershell kullanabilirsiniz. Azure ile ilgili cmdlet’leri kullanmak istiyorsak Azure Powershell modülünü kurmamız gerekmektedir. Azure ile ilgili cmdlet’leri kullanarak, Azure üzerinde aldığınız tüm hizmetlerinizi yönetebilirsiniz. Örnek verecek olursak; Sanal Makine oluşturma, Web Sitesi yönetme, Storage Account, Cloud Services, Resource Manager,Windows Azure Pack vd.
Microsoft Web Platform Installer yükleyerek Azure Powershell modülünü yükleyebilirsiniz. Web Platform Installer şu Link adresten erişebilirsiniz.
İlgili adresten indirme işlemini tamamladıktan sonra, Web Platform Installer çalıştırılır.
Daha sonra ise, karşımıza Install etmek için bir onay bilgisi gelir. Bu kısmı da kabul ederek geçiyorum.
“Install” tıklanır ve kurulum işlemi bittikten sonra, Windows Azure Powershell açılır, dilerseniz Windows Powershell içerisinden “Import-Module Azure” diyerek Azure ile ilgili cmdletlere erişebilirsiniz..
Yüklemiş olduğunuz Azure Module bilgilerini görmek için;
1 | Get-Module –Name Azure | Select-Object Version,Name,Author |
Azure hesabıma nasıl bağlanabilirim ?
Azure ile ilgili cmdlet’leri kullanmak için Azure hesabınızı Windows Powershell içerisinde eklemeniz gerekmektedir. Azure hesabınızı Windows Powershell içerisine eklemek için iki yolumuz bulunmaktadır. Windows Powershell ile Azure hesabınızı yönetebilmek için sertifika yada Azure hesabınızı yönetmiş olduğunuz Microsoft Account (Account-Based) ile Windows Powershell eklemeniz gerekmektedir. Eğer Microsoft Account ile eklerseniz, Azure Active Directory tarafından size bir Access token verilerek Azure Powershell cmdtlerlerini kullanmaya başlayabilirsiniz.
Bu yöntemlerden önerilen Account-Based yöntemini kullanmak, başlıca sebepleri içerisinde Azure Resource Manager API içerisine sertifika tabanlı erişim ile ulaşamamaktadır. Certificate-Basederişimler ise daha zor yönetilen olarak gözükmektedir. Subscription ve sertifikanın geçerlilik süresi boyunca Powershell üzerinden Azure hesabınıza bağlanmaya devam edeceksiniz fakat farklı kullanıcılar için yönetim oldukça zor olacaktır.
Account-Based bağlanma yöntemi
Windows Powershell içerisinde, “Add-AzureAccount” cmdlet yazıp çalıştırdığımız zaman karşımıza Sign in penceresi gelecektir. Bu ekranda ilgili hesaplar girilir ve Windows Powershell içerisine Azure hesabı eklenmiş olur.
Hesabınızı başarılı bir şekilde girdikten sonra, aşağıdaki gibi bir sonuç görmem gerekiyor. Id, kısmında Account-Based olarak yaptığım erişim için hesabımın adı yazmaktadır. Dilerseniz mevcut hesaplarınızı “Get-AzureAccount” komutu ile listeleyebilirsiniz.
Powershell ile Azure bağlanmak için Account-Based yöntemini kullandık. Azure hesabınızı eklediğimiz zaman bize Access token verdiğinden bahsetmiştik. Bu profil detaylarıAppdata\Romaing\WindowsPowershell içerisinde tutulmaktadır.
Powershell üzerinden Azure içerisine göndereceğiniz komutlar için bu TokenCache.Dat dosyasını kullanarak Credentials bilgileriniz önbellek alınmış durumdadır. AzureProfile içerisinde de eklemiş olduğunuz Account bilgileri yer almaktadır. Eğer bu TokenCache.dat silerseniz, Powershell üzerinden tekrar hesabınızı bağlanmanız gerekmektedir.
Certificate-Based bağlanma yöntemi
Sertifika bazlı bağlanmak için Windows Powershell içerisinde “Get-AzurePublishingSettingFile” cmdlet çalıştırarak sizi Azure Management Portal üzerinde özel bir sayfaya yönlendirecektir. Daha sonra o aşamada bir sertifika oluşturup size, “.publishsettings” uzantılı dosya verecektir. Bu dosyanın adı şu şekilde oluşmaktadır.
“SUBSCRİPTİONName-Date-credentials. publishsettings” olarak indirilmektedir. Örnek olarak;
İndirmiş olduğumuz Azure PublishSettingsFile dosyamı Powershell içerisine çağırarak user bazında bir sertifika oluşmasını sağlayacak ve bu sertifika sayesinde Powershell içerisinden Azure hesabımı yönetebileceğim. “PublishSettingsFile” dosyamı powershell içerisine çağırmak için kullanacağım cmdlet “Import-AzurePublishSettingsFile” ve ilgili dosyanın path belirtmek olacaktır.
Import-AzurePublishSettingsFile C:\BilgeAdam-1-5-2015.credentials.publishsettings |
İlgili hesap eklendi ve user bazında bir sertifika eklendi. Bu sertifikanın ve subscription geçerli olduğu sürece Azure hesabıma bağlanıp ilgili cmdlet’ler üzerinde çalışmalar yapabileceğim. Dilerseniz sertifikayı erişimi kapatabilirsiniz.
Powershell ile Azure hesabımı bağladıktan sonra, Azure üzerindeki sanal makinalarımı görmek için birkaç cmdlet yazarak sonuçlarına göz gezdirelim. Örnek olarak;
“Get-AzureVM” cmdlet çalıştırarak Azure üzerinde bulunan sanal makinalarımı listeledim.