PowerShell’de İmzalanmamış Betikleri Çalıştırmak

AppFabric Cache ile ilgili olarak yazmış olduğum yönetim betiği (script) ile ilgili aldığım olumlu yorumlar dışında, bazı bilgisayarlarda “AppFabricCacheSetup.ps1 cannot be loaded because the execution of scripts is disabled on this system.” şeklinde bir hata mesajı alndığını ve betiğin çalıştırılamadığını öğrendim.

Bu hatayı almanızın sebebi PowerShell’in varsayılan olarak güvenilir bir elektronik imza ile imzalanmamış (un-signed) betikleri çalıştırmayacak şekilde yapılandırılmış olmasıdır. Doğru şekilde çalıştırmanın iki yolu var; betiği bir elektronik imza ile imzalamak ya da komut satırından aşağıdaki komutu yazarak imzalanmamış betiklerin çalışmasına izin vermek.

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

Bu komutta kapsam (-Scope) parametresine verdiğiniz Process değeriyle PowerShell’e bu çalıştırma ilkesini sadece içinde bulunduğumuz PowerShell oturumu süresince uygulaması gerektiğini belirtmiş olursunuz. Bu durumda imzalanmamış bir betik kullanacağınız her bir oturumda bu komutu yeniden vermeniz gerekmekte.

Yine komutta çalışma ilkesi (-ExecutionPolicy) parametresine verdiğiniz RemoteSigned değeriyle sadece internetten indirdiğiniz betikler için güvenilir imza zorunluluğu olduğunu belirtmiş olursunuz.

 

Bu komutu her oturumda tekrar tekrar girmek size zor geliyorsa Scope parametresine CurrentUser (aktif kullanıcı) ya da LocalMachine (yerel makine) değerlerini vermelisiniz. Ek olarak; ExecutionPolicy parametresine vereceğiniz Restricted, AllSigned, RemoteSigned, Unrestricted, Bypass ve Undefined değerleriyle çalıştırma ilkesinin ne şekilde yapılandırılacağını belirtebilirsiniz.

Fatih Boy

Ankara'da yaşayan Fatih, bir kamu kurumunda danışman olarak çalışmaktadır. ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook - Google+

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir