Bazen Windows, komut dosyalarını çalıştırmayı devre dışı bırakan bir seçeneği gerekçe göstererek sizi PowerShell'den engeller. Bunu nasıl düzelteceğiniz aşağıda açıklanmıştır.

PowerShell'de bazı komutlar çalıştırıyorsunuz ve aniden "PowerShell yüklenemiyor çünkü bu sistemde çalışan komut dosyaları devre dışı bırakıldı" şeklinde bir hata mesajı görüyorsunuz.

Bu soruna neyin neden olduğunu ve nasıl çözebileceğinizi mi merak ediyorsunuz? Bu sorunu kesin olarak çözmenize yardımcı olabilecek kolay yöntemleri size göstereceğiz.

Haydi dalalım!

1. PowerShell'i Yönetici Modunda Çalıştırın

Şu anda PowerShell'i uygun yönetici hakları olmadan mı kullanıyorsunuz? Eğer öyleyse, o zaman belki de sorunun yattığı yer burasıdır.

O halde, aracı yönetici modunda çalıştırmak için uygulamanız gereken adımları inceleyelim:

  1. Basmak Kazan + X Hızlı Erişim menüsünü açmak için
  2. seçin Windows PowerShell (Yönetici) seçenek.

Ve bu yardımcı olmazsa, kontrol edin Windows PowerShell'i açmanın çeşitli yolları. Ancak, yalnızca aracı yönetici ayrıcalıklarıyla nasıl çalıştıracağınızı gösteren yöntemlere odaklanmalısınız.

instagram viewer

2. PowerShell'de Yürütme İlkesini Değiştirme

Bazı durumlarda, yürütme politikasını değiştirmek yardımcı olabilir. Ancak çözümleri keşfetmeden önce, sizi yürütme politikasının ne olduğunu ve nasıl çalıştığını görelim.

Yürütme Politikası Nedir ve Nasıl Çalışır?

Yürütme ilkesi, cihazınızda PowerShell betiklerini çalıştırma şeklinizi denetleyen bir güvenlik özelliğidir. Yalnızca hangi tür betiklerin çalıştırılabileceğini ve hangilerinden kaçınılması gerektiğini belirler. En iyi yanı, bu politikayı beğeninize göre yapılandırabilmenizdir.

Yürütme ilkesini yapılandırırken seçebileceğiniz seçenekler şunlardır:

  • Sınırlı: Bu ilke, herhangi bir PowerShell betiğini çalıştırmanızı yasaklar.
  • sınırsız: Herhangi bir komut dosyasını çalıştırmanıza izin verir ancak şüpheli komut dosyalarını çalıştırdığınızda size bir uyarı mesajı gösterir.
  • Uzaktan İmzalı: Bu ilke, çevrimiçi olarak indirdiğiniz komut dosyalarını çalıştırdığınızda dijital imza gerektirir. Ancak, yerel komut dosyaları için imza gerektirmez.
  • Kalp ameliyati: Bu, herhangi bir komut dosyasını herhangi bir kısıtlama olmadan çalıştırmanıza izin verir. "Sınırsız" politikasının aksine, "ByPass" politikası, şüpheli komut dosyaları çalıştırdığınızda size herhangi bir uyarı mesajı göstermez. Bu nedenle, bu politikayı her zaman yalnızca yasal komut dosyaları çalıştırırken uygulayın.
  • Hepsi İmzalandı: Bu politika, yalnızca güvenilir bir yayıncı tarafından imzalanmış komut dosyalarını çalıştırır.

Şimdi, PowerShell'i düzenli olarak kullanıyorsanız, yürütme ilkesini zaman zaman değiştirmek isteyebilirsiniz. Ancak, PowerShell betiklerinizi çalıştırdığınızda bazı yürütme ilkeleri hata mesajları görüntüleyebilir.

Örneğin, "Kısıtlı", "AllSigned" veya "RemoteSigned" politikalarının etkinleştirilmesi, "çalışan komut dosyaları devre dışı bırakıldı" hatası gibi hata mesajlarına yol açabilir.

Sorunu çözmek için yürütme politikasını "Sınırsız" veya "ByPass" olarak değiştirmeniz yeterlidir. Ama hepsi bu kadar değil; politikanın nasıl uygulanması gerektiğine de karar vermeniz gerekir. Örneğin, ilkeyi tüm kullanıcılar için mi yoksa yalnızca mevcut PowerShell oturumunuz için mi uygulamak istiyorsunuz?

Tüm ekleri keşfedelim PowerShell komutları yürütme politikasını değiştirirken şunları eklemeniz gerekecek:

  • Şu anki kullanıcı: Bu politika, yalnızca o anda cihazda oturum açmış olan kişinin tüm PowerShell oturumlarına uygulanacaktır.
  • Yerel makine: Cihazda hesabı olan tüm kullanıcılar için geçerlidir. Bu politika yalnızca yönetici ayrıcalıklarına sahip yerel kullanıcılar tarafından yapılandırılabilir.
  • İşlem: Yalnızca geçerli PowerShell oturumunda geçerlidir. Bu, yeni bir oturum başlatırsanız politikayı tekrar yürütmeniz gerekeceği anlamına gelir.
  • Makine Politikası: Bu politika, cihazınızda hesabı olan tüm kullanıcılar için geçerlidir. Ancak, yalnızca uygun izinlere sahip ağ yöneticileri tarafından yapılandırılabilir. Ancak yerel yöneticilerin bu yürütme ilkesini Yerel Grup İlkesi Düzenleyicisi'ni kullanarak yapılandırması genellikle mümkündür.
  • Kullanıcı Politikası: Tüm PowerShell oturumları ve belirli bir kullanıcı tarafından yürütülen betikler için geçerlidir.

Artık her şey açık olduğuna göre, "PowerShell yüklenemiyor" sorununu çözmek için ilgili ilkeleri nasıl uygulayabileceğinizi keşfedelim.

Yürütme Politikasını "Sınırsız" Olarak Değiştirme

Eldeki sorunu çözmenin en iyi yolu, yürütme politikasını "sınırsız" olarak değiştirmektir. Ancak bundan önce, her yürütme ilkesinin nasıl yapılandırıldığını kontrol etmeniz gerekir.

Yürütme ilkelerinin nasıl yapılandırıldığını kontrol etmeye yönelik adımlar şunlardır:

  1. Basmak Kazan + X Hızlı Erişim Menüsünü açmak için
  2. Seçme Windows PowerShell (Yönetici) seçeneklerden.
  3. Aşağıdaki komutu yazın ve basın Girmek:
Get-Yürütme Politikası -Liste

Bu, yürütme ilkelerinin farklı kullanıcılar ve sistemler için nasıl yapılandırıldığını size göstermelidir.

Mevcut aktif kullanıcı için yürütme politikasını "Sınırsız" olarak değiştirmek için aşağıdaki komutu yazın ve tuşuna basın. Girmek:

Ayarlamak-Yürütme Politikası Sınırsız -Kapsam Şu anki kullanıcı

Yürütme politikasını tüm kullanıcılar için "Sınırsız" olarak değiştirmek için aşağıdaki komutu yazın ve tuşuna basın. Girmek:

Ayarlamak-Yürütme Politikası Sınırsız -Kapsam Yerel makine

Komutu çalıştırmayı bitirdiğinizde, bu değişiklikleri kaydetmek için PowerShell'i kapatın ve bilgisayarınızı yeniden başlatın.

Yürütme Politikasını "ByPass" Olarak Değiştirme

"ByPass" yürütme ilkesi, herhangi bir PowerShell betiğini sorunsuz bir şekilde çalıştırmanıza olanak tanır. Ancak hatalı dosyaları çalıştırmanıza da izin verebileceğini unutmayın. Bu nedenle, bu yürütme ilkesini her zaman yalnızca güvenilir PowerShell dosyalarını çalıştırırken yapılandırın.

Mevcut aktif kullanıcı için yürütme politikasını "ByPass" olarak değiştirmek için aşağıdaki komutu yazın ve tuşuna basın. Girmek:

Ayarlamak-Yürütme Politikası ByPass -Kapsam Şu anki kullanıcı

Yürütme ilkesini tüm kullanıcılar için "ByPass" olarak değiştirmek için aşağıdaki komutu yazın ve tuşuna basın. Girmek:

Ayarlamak-Yürütme Politikası ByPass -Kapsam Yerel makine

İşiniz bittiğinde, PowerShell'i kapatın ve ardından cihazınızı yeniden başlatın.

3. Yerel Grup İlkesi Düzenleyicisi Aracılığıyla Yürütme İlkesini Değiştirme

Yerel Grup İlkesi Düzenleyicisi (LGPE), yürütme ilkesini değiştirmenizi de kolaylaştırır. Aslında bu araç, çeşitli sistem ayarlarını yapılandırmanıza veya tonlarca bilgisayar sorununu gidermenize de yardımcı olabilir.

Unutmayın, asıl amaç, PowerShell betiklerinizi sorunsuz bir şekilde çalıştırabilmeniz için yürütme politikasını değiştirmektir. Ve bunu yaparak, PowerShell'de "çalışan komut dosyaları devre dışı bırakıldı" hatasından kurtulacaksınız.

LGPE'deki yürütme politikasını şu şekilde değiştirebilirsiniz:

  1. Tip Grup politikasını düzenle Başlat menüsü arama çubuğunda ve En iyi eşleşme. Alternatif olarak, kontrol edin LGPE'yi açmanın çeşitli yolları.
  2. Şu yöne rotayı ayarla Bilgisayar Yapılandırması > Yönetim Şablonları > Windows Bileşenleri > Windows PowerShell.
  3. üzerine çift tıklayın Komut Dosyası Yürütmeyi Açın seçenek.

kontrol et Etkinleştirilmiş kutu. Oradan, tıklayın Yürütme Politikası açılır menü ve seçin Yerel komut dosyalarına ve uzaktan imzalı komut dosyalarına izin ver. Bu seçenek, daha önce keşfettiğimiz "RemoteSigned" seçeneğine benzer.

Tüm betikleri kısıtlama olmadan çalıştırmak istiyorsanız, Tüm komut dosyalarına izin ver "Yürütme Politikası" açılır menüsünden seçeneği.

Oradan tıklayın Uygula ve ardından tıklayın TAMAM Bu değişiklikleri kaydetmek için

4. Kayıt Defteri Düzenleyicisini Kullanarak Yürütme İlkesini Değiştirme

Diğer yöntemler yardımcı olmadıysa, Kayıt Defteri Düzenleyicisi'ni kullanarak yürütme ilkesini değiştirmeyi deneyin. Ancak, Kayıt defteri anahtarlarını düzenlerken dikkatli olmanız gerekir. Yanlış tuşları değiştirirseniz, PC'nize zarar verebilirsiniz.

Şimdi, yürütme ilkesini Kayıt Defteri Düzenleyicisi aracılığıyla nasıl değiştireceğiniz aşağıda açıklanmıştır:

  1. Basmak Kazan + R Çalıştır komutu iletişim kutusunu açmak için.
  2. Tip Regedit ve bas Girmek Kayıt Defteri Düzenleyicisi'ni açmak için.
  3. Aşağıdaki komutu kopyalayıp adres çubuğuna yapıştırın ve tuşuna basın. Girmek:
HKEY_LOCAL_MACHINE\YAZILIM\Microsoft\Güç kalkanı\1\Kabuk kimlikleri\Microsoft.Güç kalkanı

bulun Yürütme Politikası sağ taraftaki değer.

Değer eksikse, şu adımlarla oluşturun:

  1. Sağ taraftaki boş bir alana sağ tıklayın.
  2. Seçme Yeni > DWORD (32-bit) Değeri.
  3. Değeri şu şekilde adlandırın: Yürütme Politikası ve bas Girmek.

üzerine çift tıklayın Yürütme Politikası değer. Sonra yazın Uzaktan İmzalı "Değer verileri" bölümünde. Bu, PowerShell'in yerel ve imzalı betikleri yürütmesine izin verecektir.

Alternatif olarak, yazın Kalp ameliyati "Değer verileri" bölümünde. Bu, PowerShell'in sınırlama olmaksızın herhangi bir betiği yürütmesine izin verecektir.

"Değer verisi" bölümünde tercih ettiğiniz değeri girdikten sonra TAMAM Değişiklikleri kaydetmek için. Son olarak, Kayıt Defteri Düzenleyicisini kapatın ve ardından cihazınızı yeniden başlatın.

PowerShell Betiklerinizi Herhangi Bir Kısıtlama Olmadan Çalıştırın

Aniden Windows PowerShell'de belirli komutları yürütememeniz oldukça sinir bozucu olabilir. Ancak "komut dosyaları devre dışı" hatasıyla karşılaşırsanız, ele aldığımız çözümler yardımcı olacaktır.

Şimdi, PowerShell size sık sık başka sorunlar veriyor mu? Size yardımcı olabilecek daha fazla çözüm var.