- PowerShell yürütme politikasını değiştirmek için, PowerShell'i (yönetici olarak) açın ve komut dosyalarının yürütülmesine izin vermek için "Set-ExecutionPolicy RemoteSigned" komutunu çalıştırın. "Set-ExecutionPolicy AllSigned" komutu, güvenilir yayıncılardan gelen komut dosyalarına izin verir. Veya "Set-ExecutionPolicy Unrestricted" komutu, kısıtlama olmaksızın komut dosyalarına izin verir.
- Değişiklikleri geri almak ve komut dosyalarının çalışmasını engellemek için "Set-ExecutionPolicy Restricted" komutunu da çalıştırabilirsiniz .
- Son olarak, Windows 11 ve 10 Ayarlar uygulamasından politikayı değiştirerek PowerShell komut dosyalarına izin verebilirsiniz.
Windows 11'de ( veya 10'da) varsayılan olarak, PowerShell'de bir komut dosyası çalıştırmaya çalıştığınızda, "Bu sistemde komut dosyası çalıştırma devre dışı bırakıldığı için yüklenemiyor" hata mesajıyla başarısız olur. Bunun nedeni, PowerShell'in kötü amaçlı kodların sistemde çalışmasını önlemek için yapılandırma dosyalarının nasıl yükleneceğini ve komut dosyalarının nasıl çalıştırılacağını kontrol eden bir "yürütme politikası" güvenlik özelliğine sahip olmasıdır.
Windows 11 (veya 10) üzerinde bir komut dosyası çalıştırmanız gerekiyorsa, yerel bilgisayar, geçerli kullanıcı veya oturum için yürütme politikasını değiştirebilirsiniz.
Yerel bilgisayar ve geçerli kullanıcı için bir PowerShell yürütme ilkesi belirlediğinizde, bilgiler Kayıt Defteri'nde saklanır. İlkeyi belirli bir oturum için yapılandırırsanız, bellekte tutulur ve oturumu kapattığınızda kaybolur.
Microsoft'a göre , yürütme politikası eylemleri kısıtlamıyor. Komut satırı arayüzünde (CLI) komut dosyasını yazarak politikayı atlayabilirsiniz. Politika, kullanıcıların kötü amaçlı komut dosyalarını çalıştırmasını önlemeye yardımcı olmak için tasarlanmıştır.
Bu kılavuzda , Windows 11 veya 10'da PowerShell'de komut dosyalarını başarıyla çalıştırmak için yürütme politikasını nasıl değiştireceğinizi öğreteceğim.
Windows 11'de PowerShell üzerinden yürütme politikasını değiştirme
Windows 11 (veya 10) üzerinde PowerShell yürütme politikasını değiştirmek için şu adımları izleyin:
-
Windows 11'de Başlat'ı açın .
-
"PowerShell" kelimesini arayın , en üstteki sonuca sağ tıklayın ve " Yönetici olarak çalıştır" seçeneğini seçin.
-
Geçerli yürütme politikasını onaylamak için aşağıdaki komutu yazın ve Enter tuşuna basın :
Yürütme Politikasını Al
-
(İsteğe bağlı) Etkin PowerShell yürütme politikalarını görüntülemek için aşağıdaki komutu yazın ve Enter tuşuna basın :
Get-ExecutionPolicy -List
-
Windows 11'de komut dosyalarının çalışmasına izin vermek için PowerShell yürütme politikasını değiştirmek üzere aşağıdaki komutu yazın ve Enter tuşuna basın :
Set-ExecutionPolicy RemoteSigned
-
(İsteğe bağlı) Komut dosyalarının çalışmasını engellemek için yürütme politikasını değiştirmek üzere aşağıdaki komutu yazın ve Enter tuşuna basın :
Set-ExecutionPolicy Restricted

Adımları tamamladıktan sonra, betiği tekrar çalıştırabilirsiniz ve artık Windows 11'de başarıyla çalışması gerekir. Bilgisayarınızda betiklerin çalışmasına artık izin vermek istemiyorsanız, adımlarda belirtilen isteğe bağlı komutu çalıştırabilirsiniz.
Komut dosyalarının yalnızca geçerli kullanıcı veya yerel bilgisayar için çalıştırılmasını sağlayacak şekilde yürütme politikasını değiştirmek istiyorsanız, "Kapsam" seçeneğini şu şekilde kullanmanız gerekir: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserveya Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.
Windows 11'de, komut dosyalarına izin vermek veya bunları reddetmek için dört farklı yürütme politikası arasından seçim yapabilirsiniz:
- Kısıtlı — herhangi bir komut dosyası dosyasının çalışmasını engeller.
- RemoteSigned — komut dosyalarının bilgisayarda oluşturulmasına olanak tanır. Ancak, başka bir cihazda oluşturulan komut dosyaları güvenilir bir imza olmadan çalışmaz.
- AllSigned — tüm komut dosyalarının çalışmasına izin verir. Ancak, yalnızca güvenilir bir yayıncı imza eklemişse.
- Sınırsız — herhangi bir komut dosyasını kısıtlama olmaksızın çalıştırır.
Gerekli parametrelere sahip olmayan ve çıktı döndürmeyen bir komut dosyasını çalıştırmanız gerekiyorsa, yürütme politikasını değiştirmenize gerek yoktur. Bunun yerine, PowerShell.exe -File "FILENAME" -ExecutionPolicy Bypasskısıtlamaları atlamak için komutu kullanabilirsiniz.
Windows 11'de yürütme politikasını Ayarlar'dan değiştirin.
Windows 11 ve 10'da, Ayarlar uygulamasından komut konsolunun yapılandırmasını değiştirerek de komut dosyalarının PowerShell'de çalışmasına izin verebilirsiniz.
Windows 11'den
Ayarlar uygulamasından PowerShell yürütme politikasını değiştirmek için şu adımları izleyin:
-
Ayarları açın .
-
Sistem'e tıklayın .
-
Geliştiriciler için sayfasına tıklayın .
-
PowerShell ayarına tıklayın .
-
“Yerel PowerShell komut dosyalarına izin vermek için yürütme politikasını değiştir […]” seçeneğini etkinleştirin .

Bu özelliğe artık ihtiyacınız yoksa, aynı adımları izleyerek komut dosyalarını engelleyebilirsiniz, ancak 5. adımda “Yerel PowerShell komut dosyalarına izin vermek için yürütme politikasını değiştir […]” seçeneğini kapatın .
Windows 10'dan
Ayarlar uygulamasından PowerShell yürütme politikasını değiştirmek için şu adımları izleyin:
-
Ayarları açın .
-
Güncelleme ve Güvenlik'e tıklayın .
-
Geliştiriciler için sayfasına tıklayın .
-
PowerShell ayarı için “Yerel PowerShell komut dosyalarına izin vermek için yürütme politikasını değiştir […]” seçeneğini işaretleyin .

-
Uygula düğmesine tıklayın .
Bu özelliğe artık ihtiyacınız yoksa, aynı adımları izleyerek komut dosyalarını engelleyebilirsiniz, ancak 4. adımda “Yerel PowerShell komut dosyalarına izin vermek için yürütme politikasını değiştir […]” seçeneğinin işaretini kaldırın ve değişiklikleri uygulayın.
Bu adımları tamamladıktan sonra, ayar PowerShell için yürütme politikasını "RemoteSigned" olarak belirleyecektir. Bu politika, komut dosyalarını imzalamadan çalıştırmanıza olanak tanır, ancak uzaktan erişilen komut dosyaları için imzalama gerektirir.
Dijital olarak imzalanmamış komut dosyalarına izin vermek için yürütme politikasını değiştirin.
Başka bir bilgisayarda oluşturulmuş veya internetten indirilmiş bir PowerShell betiğiniz varsa, betiği çalıştırmaya çalıştığınızda “Dosya […].ps1 yüklenemiyor. Dosya […].ps1 dijital olarak imzalanmamış. Bu betiği mevcut sistemde çalıştıramazsınız” veya “Betik sistemde yürütülemeyecek” hata mesajını alabilirsiniz. Ancak, betiğin güvenli olduğunu ve güvenilir bir kaynaktan indirdiğinizi biliyorsanız, betiği başarıyla çalıştırmak için “İşlem” kapsam politikasını değiştirebilirsiniz .

PowerShell betiği dijital olarak imzalanmamış hatası / Resim: Mauro Huculak
Dijital olarak imzalanmamış bir “.ps1” betiğini çalıştırmak için PowerShell yürütme politikasını değiştirmek için şu adımları izleyin:
-
Başlat'ı açın .
-
"PowerShell" kelimesini arayın , en üstteki sonuca sağ tıklayın ve " Yönetici olarak çalıştır" seçeneğini seçin.
-
Dijital imzalı PowerShell komut dosyalarına izin vermek için aşağıdaki komutu yazın ve Enter tuşuna basın :
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Adımları tamamladıktan sonra, geçerli oturum sırasında komut dosyasını çalıştırabilirsiniz .\Your-PowerShell-Script.ps1. PowerShell oturumunu kapattıktan sonra, yürütme politikası diğer komut dosyalarının çalışmasını engellemek için orijinal durumuna geri dönecektir.
Başka bir komut dosyası çalıştırmanız gerekiyorsa, yukarıda belirtilen adımları tekrarlayabilirsiniz.
10 Ekim 2024 Güncellemesi: Bu kılavuz, doğruluğu sağlamak ve süreçteki değişiklikleri yansıtmak amacıyla güncellenmiştir.