Windos 11 veya 10 da internetten bulduğunuz bir Powershel scriptini çalıştırmayı denediğinizde Muhtemelen ; Kırmızı yazılarla "Running scripts is disabled on this system" hatası alırsınız bunun sebebi ; Powershell
in güvenlik amacıyla , varsayılan olarak kötü amaçlı komut dosyalarının çalışmasını önleyen güvenlik özelliğidir. Gel gelelim Powershell de kendi oluşturduğunuz ve uzantısı ps1 olan bir script te aynı şekilde davranacaktır. Mesela ben masaüstüme "mbr_gpt.ps1" isimli bir Powershell scripti oluşturdum. Ardından Powershell konsolunu yönetici yetkilerinde çalıştırıp scriptin bulunduğu masaüstü konumuna giderek ilgili scripti çalıştırmak için ; ./mbr_gpt.ps1 komutunu uyguladım , sonuç aşağıdaki şekilde gerçekleşti.
Görüldüğü üzere Kırmızı yazılarla "Running scripts is disabled on this system" hatası verdi , Türkçesi ; Bu sistemde komut dosyası çalıştırma devre dışı. Sizdede benzeri bir durum varsa herhangi bir kod kullanmadan ayarlar uygulaması üzerinden Bu hatayı giderebilirsiniz.
Ayarlar Uygulaması üzerinden Powershell scriptlerine çalışma yetkisi verin
Öncelikle Geliştirici moduna gitmemiz gerekiyor , Microsoft un iş bilmez çalışanları ha bire özelliklerin yerlerini değiştirdikleri için en son şu konumu takip etmeniz gerekir ; Ayarlar - Sistem - Geliştiriciler için.
Ardından Powershell Kısmına tıklayıp "Yerel Powershell Betiklerinin imzalanmadan çalışmasına izin vermek için yürütme ilkesini değiştir. Uzak betiklerin imzalanmasını gerekli kıl" Butonunu açık konuma getirin.
Artık Oluşturduğunuz scriptleri çalıştırırken ilk resimdeki hatayı almayacaksınız ve script düzgün şekilde çalışacaktır. Peki ama Ayarlar uygulaması üzerinden ilgili butonun açık veya kapalı olması neyi değiştirmektedir diye Powershell üzerinden kısaca test edersek. Buton kapalı iken Yönetici yetkilerinde çalıştırılmış bir Powershell scriptinde aşağıdaki komutu verelim.
Get-ExecutionPolicy -List
Ardından Ayarlar uygulaması üzerinden Powershell scriptlerinin tam yetki ile çalışmasını sağlayan butonu açık konuma getirip üstteki komutu tekrar verelim. Sonucu aşağıda görüyorsunuz.
Elbette Powershell konsolu üzerinden verilecek aşağıdaki komut ile de
Set-ExecutionPolicy Unrestricted
Aynen butonu açık konuma getirmiş gibi Powershell scriptlerine tam yetki verilebilir lakin Komutu bire bir hatırlamak daha zor olduğundan Ayarlar uygulaması üzerinden açıp kapatmak çok daha sorunsuzdur. Script denemelerinizden sonra Güvenlik amacı ile ilgili ayarı tekrar kapatmanızı tavsiye ederiz.
- Powershell Yetki sorunlarını çözelim Burada
- Uzantısı ps1 olan bir Poweshell scripti nasıl çalıştırılır Burada
- Powershell varsayılan yetkilerine nasıl dönülür Burada
Memnun oldum , Selamlar.
Teşekkürler bu hata ile karşılaşıyordum sorunu anlamamıştım. Yardımcı oldunuz.