IIS 7'de PowerShell kullanmak başlıklı yazıda Windows Server 2008'te IIS 7.0 ile Windows PowerShell Snap-In for IIS 7.0 kullanmak için yapılması gereken adımları anlatmıştım. Bu yazıda da Windows Server 2008 R2 üzerinde IIS 7.5 üzerinde PowerShell kullanmak için gerekenleri aktaracağım.
Windows Server 2008 R2 içerisinde PowerShell 2.0 geliyor. IIS 7.5 ile de Windows PowerShell Snap-In for IIS 7.0 extension'ını kurmak gerekmiyor. IIS ile ilgili komutlar IIS 7.5 ve Windows Server 2008 R2 ile sunucu içerisinde varsayılan olarak geliyor. Ancak birkaç adım ile bu komutları aktif etmemiz gerek.
IIS ile ilgili PowerShell komutlarını aktif edebilmek için öncelikle Start menüsünde Administrative Tools altından Windows PowerShell Modules linkine tıklayıp çalıştırmak gerekiyor. Bu linke ilk defa tıklandığında muhtemelen şu şekilde bir hata verecek:
WARNING: File C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDiagnostics\PSDiagnostics.psm1 cannot be loaded because the execıtion of scripts disables on this system...
Bu hatayı gidermek için PowerShell içerisiden Set-ExecutionPolicy AllSigned komutunu çalıştırmak gerekiyor. Bu komut ile imzalanmış olan komutların çalışmasına izin vermiş oluyoruz. Administrative Tools altından Windows PowerShellModules linkini tekrar çalıştırdığımızda IIS 7'de PowerShell kullanmak başlıklı yazıdaki gibi "Do you want to run software from this untrusted poblisher?" sorusu karşımıza çıkacak. Yine "A" (Always Run) ile devam edip komutun çalışmasının tamamlanmasını sağlayalım. Modüller aktif edilirken aralarında WebAdministration başlığı ile IIS 7.5 ile ilgili olanların da aktif edildiğini görebiliriz.
NOT : Tüm bu sorularla karşılaşmamak için Set-ExecutionPolicy Unrestricted komutu çalıştırılabilir. Ancak bu durumda bir dışarıdan gelen herhangi bir PowerShell scriptini çalıştırılabilir duruma getirmiş olacağız. Bunun da sistem için risk oluşturabileceğini göz ardı etmemek gerek.
Komut setini aktif etmekle işimiz bitmiyor :) get-help New-WebSite gibi bir basit komut verdiğimizde bile hata alıyoruz. Çünkü IIS ile ilgili PowerShell komutlarını çalıştırabilmek için her seferinde öncelikle Import-Module WebAdministration komutunu çalıştırmamız gerekiyor. Sonrasında IIS: komutu ile tamamen IIS ile ilgili komutları çalıştırabilir duruma geliyoruz.
Sonraki yazılarda PowerShell komutları ile neler yapabileceğimizi anlatmaya devam edeceğim.