Windows 10'da PowerShell Yürütme Politikası Nasıl Değiştirilir
Varsayılan olarak, PowerShell, son kullanıcı bilgisayarlarında çalışan komut dosyalarını kısıtlar. Bu ayar güvenlik açısından iyidir. Ancak kendi indirdiğiniz veya kodladığınız çok sayıda script kullanıyorsanız bu gerçekten can sıkıcı olabilir. Bu yazıda, Windows 10'da PowerShell betikleri için varsayılan yürütme politikasının nasıl değiştirileceğini inceleyeceğiz.
Windows PowerShell'in dört farklı yürütme ilkesi vardır:
- Kısıtlı - Hiçbir komut dosyası çalıştırılamaz. Windows PowerShell yalnızca etkileşimli modda kullanılabilir.
- AllSigned - Yalnızca güvenilir bir yayıncı tarafından imzalanmış komut dosyaları çalıştırılabilir.
- RemoteSigned - İndirilen komut dosyaları çalıştırılmadan önce güvenilir bir yayıncı tarafından imzalanmalıdır.
- Sınırsız - Kısıtlama yok; tüm Windows PowerShell komut dosyaları çalıştırılabilir.
- Tanımsız - Yürütme ilkesi ayarlanmadı.
Yürütme ilkesi ayarlanmazsa ve yapılandırılmazsa "Tanımsız" olarak görüntülenir. Mevcut değeri şu şekilde görebilirsiniz.
PowerShell Yürütme İlkesi nasıl görüntülenir?
- PowerShell'i açın.
- Aşağıdaki komutu yazın veya kopyalayıp yapıştırın ve Enter tuşuna basın:
Get-ExecutionPolicy -Listesi
Komut, tüm yürütme ilkelerini gösterecektir. Gördüğünüz gibi, yürütme politikasının tanımlanabileceği bir dizi kapsam vardır. Tüm kullanıcılar, yalnızca geçerli kullanıcı veya mevcut süreç için global olarak ayarlanabilir. Geçerli işlem ilkesi, geçerli kullanıcının ayarlarından daha önceliğe sahiptir. Geçerli kullanıcı ilkesi, genel seçeneği geçersiz kılar. Bunu aklında tut. Şimdi, PowerShell için komut dosyası yürütme politikasının nasıl değiştirileceğini görelim.
Bir işlem için PowerShell Yürütme ilkesini değiştirme
- bir aç Komut istemi veya PowerShell.
- -ExecutionPolicy Unrestricted bağımsız değişkeniyle powershell.exe dosyasını başlatın. Örneğin,
Powershell.exe -ExecutionPolicy Unrestricted -Dosya c:\data\test.ps1
Bu, komut dosyanızı Sınırsız yürütme ilkesini kullanarak başlatır. Komut dosyası yerine bir cmdlet veya istediğinizi başlatabilirsiniz. "Sınırsız" yerine, yukarıda belirtilen başka herhangi bir politikayı kullanabilirsiniz.
İpucu: Açık bir PowerShell konsolu için şu komutu kullanarak yürütme ilkesini değiştirebilirsiniz:
Set-ExecutionPolicy Unrestricted -Scope Süreci
Geçerli PowerShell penceresini kapatana kadar etkin kalacaktır.
Geçerli kullanıcı için PowerShell Yürütme ilkesini değiştirin
- PowerShell'i açın.
- Aşağıdaki komutu yazın veya kopyalayıp yapıştırın ve Enter tuşuna basın:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Yürütme ilkesi geçerli kullanıcı için ayarlandığında, "LocalMachine" kapsamını geçersiz kılar. Yine, bir işlem için, yukarıda açıklandığı gibi mevcut PowerShell örneği için onu geçersiz kılabilirsiniz.
Genel PowerShell Yürütme ilkesini değiştirin
Bu yürütme ilkesi bilgisayar için geçerlidir, yani tek tek uygulanan yürütme ilkesi olmayan kullanıcı hesapları için geçerlidir. Varsayılan ayarlarla tüm kullanıcı hesaplarına uygulanacaktır.
Windows 10'da PowerShell Yürütme ilkesini değiştirmek için, aşağıdakileri yapın.
- PowerShell'i yönetici olarak açın.
- Aşağıdaki komutu yürütün:
Set-ExecutionPolicy Unrestricted -Scope LocalMachine
Bitirdiniz.
Bir Registry tweak ile PowerShell Execution politikasını değiştirin
Yürütme politikasını, hem geçerli kullanıcı hem de bilgisayar için bir Kayıt Tweak'i ile değiştirmek mümkündür. İşte nasıl yapılabileceği.
- Aç Kayıt düzenleyici.
- Geçerli kullanıcının yürütme politikasını değiştirmek için adresine gidin.
HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft. Güç kalkanı
- ExecutionPolicy dize değerini aşağıdaki değerlerden birine ayarlayın: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
- LocalMachine kapsamının yürütme politikasını değiştirmek için adresine gidin.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft. Güç kalkanı
- ExecutionPolicy dize değerini aşağıdaki değerlerden birine ayarlayın: Restricted, AllSigned, RemoteSigned, Unrestricted, Undefined.
İpucu: Kayıt defteri anahtarına nasıl gidileceğini görün tek tıklamayla. Sen de yapabilirsin Windows 10'un Kayıt Defteri Düzenleyicisi'nde HKCU ve HKLM arasında hızla geçiş yapın.
Bu kadar.