PowerShell: Bu sistemde komut dosyası devre dışı bırakıldı

Windows 10, çeşitli görevleri yönetmek ve gerçekleştirmek için güçlü bir araca sahiptir - PowerShell. Bu konsol, komut dosyaları aracılığıyla tüm işletim sistemini kontrol etmelerine izin verdiği için yöneticilere yöneliktir. PowerShell, sistemde değişiklik yapmak için birçok arka plan uygulaması tarafından kullanılır ve bu, bilgisayarımızın güvenliğini riske atar.

Bir komut dosyası bizim bilgisayarda doğrusal çalışan kod ile yazılmış basit bir programdır. Görevleri otomatikleştirmek için kendi komut dosyalarımızı oluşturabilir ve yürütebiliriz veya uygulamalar, belirli yapılandırmaları ve görevleri gerçekleştirmek için bunları çalıştırabilir. Varsayılan olarak, Windows 10, uygulamaların veya imzalı veya "yerel" olmaları durumunda sistemde komut dosyaları çalıştırmamızı engellemez. Sorun, betiğimizi çalıştırdığımızda ortaya çıkıyor ve " Komut dosyası bu sistemde devre dışı bırakıldı " hatasını alıyoruz . Bu, kötü niyetli komut dosyalarının çalışmasını önleyen ve sisteminize zarar verebilecek PowerShell'de katmanlı bir güvenlik önlemidir. PowerShell güvenlik politikalarının nasıl değiştirileceğine bir göz atalım .

PowerShell Komut Dosyası Yürütme Politikaları

" Bu sistemde komut dosyası devre dışı bırakıldı " hatasını görürseniz, Windows 10'da yapılandırılan komut dosyalarını çalıştırmak için ilke yapılandırmasını kontrol edebiliriz. PowerShell'i yönetici olarak açın ve:

  • Get-ExecutionPolicy -List

Komut dosyalarını çalıştırmak için birkaç düzeyde politika izni görebiliriz.

Powershell politika yapılandırması

Komut dosyası yürütme politikasını değiştirmek için, alanların her birine atayabileceğimiz farklı ayrıcalık seviyelerinin farkında olmalısınız.

  • Kısıtlı : herhangi bir komut dosyasının yürütülmesi engellenir, ancak etkileşimli komutlara izin verilir.
  • RemoteSigned : Yüklenen komut dosyaları güvenilir bir yayıncı tarafından imzalanmalıdır. Yerel komut dosyaları imzasız çalışır
  • AllSigned : Hem yerel hem de uzaktan (yüklü) herhangi bir imzalı komut dosyasının yürütülmesine izin verir .
  • Sınırsız : Sınırsız. İmzalanmamış olanlar dahil tüm komut dosyalarını çalıştırabilirsiniz.

Komut dosyalarının koşullarını ve sınırlamalarını öğrendikten sonra bunları değiştirebilirsiniz. Örneğin, " Bu sistemde komut dosyası devre dışı bırakıldı " hatasını düzeltmek için yalnızca bir uygulama girmeniz gerekir. PowerShell'i yönetici olarak açın ve:

  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser - kullanıcı için kısıtlama olmaksızın başlatın.
  • Set-ExecutionPolicyRestricted -Scope CurrentUser Gerekirse geri dönün.

Yerel bir kullanıcı için sınırsız komut dosyası oluşturmaya izin verir. Kapsama dahil etme anahtarı politika değişikliği için de geçerlidir belirler. " CurrentUser " girdiğinizde, bu sadece mevcut kullanıcı için geçerlidir ve " LocalMachine " girdiğinizde tüm sistem için geçerlidir.

Yerel bir kullanıcı için sınırsız komut dosyası oluşturmaya izin verir

Yukarıdaki yöntem komut dosyanızı başlatmanıza yardımcı olmadıysa ve " Bu sistemde komut dosyası devre dışı bırakıldı " hatası görüntülenirse, kısıtlamaları tamamen kaldırabilirsiniz. Bunun büyük bir risk olduğunu ve betiğinizin% 101 güvenli olması gerektiğini anlamalısınız. PowerShell'i yönetici olarak açın ve:

  • Set-ExecutionPolicy Unrestricted - komut dosyalarının kısıtlama olmaksızın yürütülmesine izin ver
  • Set-ExecutionPolicy Restricted- varsayılana geri dönün.

komut dosyalarının kısıtlama olmaksızın yürütülmesine izin ver