Windows PowerShell’de karşılaşılan Set-ExecutionPolicy sorunu ve çözümü!

Quinones

Yaşayan Forum Efsanesi
8 Eki 2008
13,570
1
10BAXl.jpg


Windows PowerShell komut yürütme seçeneklerini değiştirmeyi, Set-ExecutionPolicy sağlar. Güvenlik önlemi olarak script’lerin yürütülmesi kısıtlanmıştır ve çalıştırılmadan önce dijital olarak imzalanmış olması gerekir.

PowerShell üzerinden Set-ExecutionPolicy ayarını değiştirirken aşağıdaki gibi bir hatayla karşılaşmış olabilirsiniz.


Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective execution policy of “Unrestricted”. Type “Get-ExecutionPolicy -List” to view your execution policy settings. For more information, please see “Get-Help Set-ExecutionPolicy.

Bu hata yürütme politikasını etkileyen daha özel bir ayar olduğunu ve bu yüzden yaptığınız değişikliğin başarıyla yürütülse de geçersiz olduğunu belirtiyor. Öncelikle yürütme politikası ayarlarını ve daha sonra sorunu nasıl çözebileceğinizi anlatacağım değerli turkhackteam üyeleri.

Yürütme Politikası Seçenekleri;

- Restricted: Yapılandırma dosyalarını ya da script’leri yürütmez. Bu varsayılan yürütme politikasıdır.

- AllSigned: Güvenilir bir geliştirici tarafından imzalanmış yapılandırma dosyalarını ve script’leri yürütür. Yerel bilgisayarınızda yazdığınız script’leri de içerir.

- RemoteSigned: İnternet üzerinden indirilmiş yapılandırma dosyaları ve script’lerin güvenilir bir geliştirici tarafından imzalanmasını gerektirir.

- Unrestricted: Tüm yapılandırma dosyalarını ve script’leri yürütür. İnternet üzerinden imzalanmamış bir script yürütürseniz çalıştırmadan önce izin verip vermediğiniz sorulacaktır.

- Bypass: Herhangi bir şey engellenmeyecektir ya da uyarı verilmeyecektir.

- Undefined: Halen geçerli atanmış yürütme politikasını kaldırır.



Sorun Çözümü;

Belirtilen hatayı aldığınızda PowerShell’e aşağıdaki komutu girip yürütme politikalarını “Get-ExecutionPolicy -List” komutuyla görüntülediğinizde karşınıza aşağıdaki gibi bir çıktı gelebilir.

MachinePolicy = RemoteSigned
UserPolicy = Undefined
CurrentUser = Unrestricted
LocalMachine = RemoteSigned


Örneğin burada CurrentUser için “Unrestricted” yürütme politikası geçerli olduğu için, girdiğiniz komutla genel bir değişiklik yapmak isteseniz de size izin vermeyip bahsedilen hatayı gösterecektir.

Sorunu çözmek için yönetici haklarıyla çalıştırılmış PowerShell penceresine aşağıdaki komutları sırasıyla girmeniz gerekir.


Kod:
[CENTER]Set-ExecutionPolicy [COLOR="Lime"]"RemoteSigned"[/COLOR] -Scope Process -Confirm:$false[/CENTER]

Kod:
[CENTER]Set-ExecutionPolicy [COLOR="Lime"]"RemoteSigned"[/COLOR] -Scope [COLOR="Lime"]CurrentUser[/COLOR] -Confirm:$false[/CENTER]

Eğer örnekteki gibi CurrentUser’da değil de başka bir grupta hataya yol açabilecek farklılık varsa, yukarıda CurrentUser yazan yeri ona göre değiştirerek de komutu girebilirsiniz. Eğer RemoteSigned yerine başka bir yürütme politikası kullanmak istiyorsanız, yine bu değeri istediğiniz ile değiştirip komutu yürütebilirsiniz.

Sorun bu yolla çözülmediyse Win + R tuş kombinasyonunu kullanarak Çalıştır’ı açın ve regedit.exe yazarak kayıt defterini açın. Ardından aşağıdaki yolu izleyin.


Kod:
[CENTER]HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell[/CENTER]

Burada yer alan ExecutionPolicy değerini sıfırlayın ya da silin. Yürütme politikasını değiştirmek istediğiniz komutu tekrar girin. İşlem bu kadar!
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.