Bu makalemizde Azure ile ilgili işlemleri powershell üzerinden yapabilmemiz için gerekli olan powershell modullerinin yuklenmesini anlatacağım.
Azure PowerShell’i PowerShell üzerinden yükleyebilmek için PowerShellGet modulunun yüklü olması gerekiyor. Bu modulun yuklu olup olmadığını kontrol etmek için powershell üzerinde ;
Get-Module PowerShellGet -list | Select-Object Name,Version,Path
komutunu çalıştırmamız gerekiyor. Default ta windows 10 üzerinde yüklü gelir aşağıda göreceğiniz gibi test pc mizde de yüklü gelmiş ;
PowerShellGet modulu yuklu olduguna göre Azure PowerShell ‘i yükleyebiliriz artık. Aslında yükleyeceğimiz modulun adı Azure Resource Manager module . Bunun için çalıştıracağımız komut ;
Install-Module AzureRM
Bu komutu powershell’e yazdığımız da aşağıdaki gibi hata alırız. Bunun sebebi bu modulu yuklemek için administrator haklarına sahip olmamız gerektiğidir. Oturum açtığımız account administrator yetkisine sahip olsa da bu hatayı alırız.
Bu hata ile karşılaşmamız için powershell ‘i sağ click ile “Run As administrator” şeklinde çalıştırmalıyız. “NuGet sürümümüz eskiyse bunu guncellememiz gerekir bununla ilgili sorumuza da “Y” cevap vererek devam ederiz.Ek olarak PowerShell galerisi defaultta PowerShellGet için güvenilir depo olarak tanımlanmadığı için bize “untrested repository” den yüklemeye devam edip etmeyeceğimizi sorar. Buna “Y” cevap verip devam ederiz. Sonrasında powershell konsolda da görebileceğimiz gibi AzureRM için gerekli olan paketler arka planda indirilerek yüklenir. Bu işlem ortalama 5-10 dk arası sürecektir .
Modulu yükledikten sonra modulu PowerShell oturumumuz için import etmemiz gerekir. Burda önemli ayrıntı default ta powershell üzerinde Execution Policy ile güvenlik nedeniyle script çalıştıramayız. Çalıştıracağımız komut ;
Import-Module AzureRM
Çalıştırmayı denediğimizde aşağıdaki gibi hata alırız ;
Import-Module : File C:\Program Files\WindowsPowerShell\Modules\AzureRM\4.4.0\AzureRM.psm1 cannot be loaded because run
ning scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/
fwlink/?LinkID=135170.
Bu sorunu gidermek için Script çalıştırmayı kısıtlayan policy ‘i geçici olarak kısıtlamasız hale getiririz. Geçici diyorum çünkü bu komutu bu şekilde bırakırsanız ileride powershell üzerinde güvenlik açığı oluşabilir. Virus yada benzeri uygulamalar powershell üzerinde script çalıştırabilir. Defaultta kapalı olmasının sebebi de güvenlik nedeniyledir. Çalıştıracağımız komut ;
Set-ExecutionPolicy Unrestricted
ardından gelen değişiklik sorusuna “Y” diyerek devam ederiz.
Ardından komutumuzu tekrar çalıştırmayı deneriz.Komut çalıştıktan sonra ekran bir süre tepkisiz kalabilir endişelenmeyin ;
Import-Module AzureRM
Gördüğümüz gibi herhangi bir hata almadan komutumuz çalıştı.
Sonrasında güvenlik nedeniyle script kısıtlamasını Execution Policy tekrar default taki haline getirmek için aşağıdaki komutu kullanıp policy değişikliği ile ilgili gelen soruya “Y” diyerek devam ederiz ;
Set-ExecutionPolicy Restricted
Böylelikle PowerShell üzerinde Azure modulunu yukleyip oturumumuza yüklediğimiz Azure modulunu import ettik. Execution Policy ‘mizide işlemimizi tamamladıktan sonra güvenlik gereği başlangıçtaki kısıtlı hale geri getirdik. Artık Azure ile ilgili işlemlerimizi PowerShell üzerinden gerçekleştirebiliriz. Script çalıştırmak istediğimizde alacağımız Execution Policy hatasında artık ne yapacağımızı bildiğimize göre yolumuza PowerShell üzerinden devam edebiliriz.
Umarım sizin için faydalı bir makale olmuştur. Bir başka makale de görüşmek dileğiyle…







