İmzasız Powershell Dosyası Nasıl Çalıştırılır?

ExecutionPolicy

İçindekiler

Windows, güvenlik gerekçeleriyle güvenli olmayan PowerShell dosyalarının çalıştırılmasına varsayılan olarak izin vermez. Ancak, bu dosyaları güvenli bir şekilde çalıştırmak için kullanabileceğiniz bir PowerShell komutu bulunmaktadır: Set-ExecutionPolicy.

HATA

Windows’ta PowerShell scriptlerini çalıştırmaya çalışırken karşılaşılan yaygın bir hata, güvenlik politikaları nedeniyle çalıştırma izninin olmamasıdır. Bu hatanın bir örneği aşağıda görselde görülebilir:

Powershell running script hatası

ÇÖZÜM

Set-ExecutionPolicy komutu, Windows PowerShell’de komut yürütme seçeneklerini değiştirmenize olanak tanır. İmzasız script’lerin çalıştırılması güvenlik önlemi olarak kısıtlanmıştır; çalıştırılmadan önce script’lerin dijital olarak imzalanmış olması gerekmektedir.

Varsayılan ExecutionPolicy değerini görmek için Get-ExecutionPolicy komutunu kullanabilirsiniz.

powershell executionpolicy

ExecutionPolicy için aşağıdaki 6 farklı parametre kullanılabilir:

  • Restricted: Varsayılan parametredir. İnternetten indirilen hiçbir PowerShell dosyasını çalıştırmaz.
  • AllSigned: Yalnızca güvenilir bir yayıncı tarafından imzalanmış PowerShell scriptlerinin çalıştırılmasına izin verir. Bu, yerel olarak yazılmış scriptleri de içerir.
  • RemoteSigned: İnternetten indirilen PowerShell scriptlerin güvenilir bir yayıncı tarafından imzalanmış olmasını gerektirir.
  • Unrestricted: Tüm PowerShell script dosyalarını çalıştırır. İnternetten indirilen bir scripti çalıştırdığınızda onay ister.
  • Bypass: Tüm PowerShell script dosyalarını sorunsuzca çalıştırır. Unrestricted ile arasındaki fark, herhangi bir onay istememesidir.
  • Undefined: Mevcut ExecutionPolicy‘i kaldırır. Ancak, bu parametre, Grup İlkesi (GPO) tarafından ayarlanan bir ExecutionPolicy üzerinde değişiklik yapamaz.

İstediğiniz yetkilendirmeyi bu parametreler arasından seçebilirsiniz. Örneğin, tüm kısıtlamaları kaldırmak için aşağıdaki komutu kullanabilirsiniz:

Set-ExecutionPolicy Unrestricted

Executionpolicy unrestricted

Unutmayın, PowerShell’i YÖNETİCİ olarak çalıştırmalısınız.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir