İmzasız Powershell Dosyası Nasıl Çalıştırılır?
ExecutionPolicy
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:
ÇÖ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.
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 birExecutionPolicy
ü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
Unutmayın, PowerShell’i YÖNETİCİ olarak çalıştırmalısınız.