Komut Dosyası Yürütme İlkesini etkinleştirerek Windows PowerShell'den en iyi şekilde nasıl yararlanabileceğiniz aşağıda açıklanmıştır.

iPowerShell, varsayılan olarak, konsolu aracılığıyla komutları (cmdlet'ler) çalıştırmanıza izin verir. Bir komut dosyasını yürütmek için, komut dosyası koduyla bir not defteri dosyası oluşturabilir, bunu bir .ps1 dosya uzantısıyla kaydedebilir ve PowerShell konsolu aracılığıyla çalıştırabilirsiniz. Komut dosyasını yürütme için doğrudan konsola da yapıştırabilirsiniz.

Ancak, PowerShell aracılığıyla ilk kez bir komut dosyası çalıştırıyorsanız, "çalışan komut dosyası devre dışı bırakıldı" hatasıyla karşılaşırsınız. Varsayılan olarak, kötü amaçlı komut dosyalarının sisteminizde çalışmasını önlemek için bir güvenlik önlemi olarak PowerShell'de komut dosyası yürütme devre dışı bırakılmıştır. Burada size Windows PowerShell'de komut dosyası yürütme ilkesini etkinleştirmenin iki yolunu gösteriyoruz.

Mevcut Yürütme Politikanızı Nasıl Kontrol Edebilirsiniz?

Geçerli yürütme ilkenizi almak için bir PowerShell cmdlet'i kullanabilirsiniz. Mevcut yürütme politikanızı bilmek, bir politika değişikliğine ihtiyacınız olup olmadığını bilmek için gereklidir.

instagram viewer

Mevcut kullanıcı için mevcut yürütme politikanızı almak için:

  1. Windows PowerShell'i yönetici olarak açın.
  2. PowerShell konsolunda aşağıdaki komutu yazın ve Enter tuşuna basın:
    elde etmek-yürütme politikası
  3. Komut dosyasını yürütürken bir hatayla karşılaştığınız için, dönüş büyük olasılıkla Sınırlı mevcut yürütme politikanız olarak.
  4. Desteklenen tüm kapsamlar için yürütme ilkesini görüntülemeniz gerekirse:
    elde etmek-yürütme politikası -listesi

Yerel komut dosyalarını hatasız çalıştırmak için yürütme ilkesini RemoteSigned olarak değiştirmeniz gerekir. Yürütme ilkesini Ayarlar uygulamasından ve PowerShell'den değiştirebilirsiniz.

Ayarlar Uygulamasını Kullanarak PowerShell Yürütme İlkesini Etkinleştirme

Ayarlar uygulamasını kullanarak PowerShell yürütme ilkesini değiştirebilir ve RemoteSigned olarak ayarlayabilirsiniz. Tek yapmanız gereken, PowerShell betiği yürütmeyi etkinleştirmek için yürütme ilkesini değiştirmek üzere geliştiriciler bölümündeki PowerShell ayarlarında ince ayar yapmaktır.

Yürütme politikasını Ayarlar'ı kullanarak değiştirmek için:

  1. Basmak Kazan + Ben Se'yi açmak içinTşeyler.
  2. Gizlilik ve Guvenlik sol bölmedeki sekme.
  3. Sonra, tıklayın Geliştiriciler için.
  4. genişletmek için tıklayın Güç kalkanı bölüm.
  5. Anahtarı konumuna getir Yerel PowerShell komut dosyalarının imzalanmadan çalışmasına izin vermek için yürütme ilkesini değiştirin - Uzak komut dosyaları için imza gerektir.
  6. Bittiğinde, PowerShell'i açın, get yazın yürütme politikası, ve bas Girmek. Geçerli kullanıcı için yürütme ilkesi artık şu şekilde ayarlanmıştır: Uzaktan İmzalandı.
  7. Yürütme ilkesini devre dışı bırakmanız gerekirse, PowerShell anahtarını değiştirin ve olarak ayarlayın. Kapalı.

PowerShell Kullanarak Betiklerin PowerShell'de Çalıştırılmasına Nasıl İzin Verilir?

kullanabilirsiniz PowerShell cmdlet'i yürütme ilkesini RemoteSigned olarak ayarlamak için. Komut satırı arabirimi, Ayarlar uygulamasını kullanmadan yürütme ilkesini hızlı bir şekilde değiştirmeyi kolaylaştırır.

Ayrıca, Ayarlar uygulaması yalnızca RemoteSigned yürütme ilkesini etkinleştirebilir veya devre dışı bırakabilir. Oysa PowerShell, diğer politikaları ve kapsamları da belirlemenize izin verir.

PowerShell kullanarak yürütme ilkesini değiştirmek için:

  1. PowerShell'i yönetici olarak açın.
  2. PowerShell penceresinde, aşağıdaki komutu yazın ve tuşuna basın. Girmek:
    Ayarlamak-ExecutionPolicy RemoteSigned
  3. İstenirse, basın A eylemi onaylamak için. Bu ayarlayacak Uzaktan İmzalı tüm kullanıcılar için yürütme politikası. Yürütme politikasını ayarlamak istiyorsanız, Şu anki kullanıcı yalnızca Kapsam parametresini ve ardından kullanıcı adını kullanın.
  4. Örneğin, ayarlamak için Uzaktan İmzalı için yürütme politikası Şu anki kullanıcı, aşağıdaki komutu kullanın:
    Ayarlamak-ExecutionPolicy RemoteSgined -Kapsam Şu anki kullanıcı
  5. Yer değiştirmek Şu anki kullanıcı yukarıdaki komutta diğer kullanıcılarla (Kapsam) ihtiyacınıza göre.

PowerShell Kullanarak Komut Dosyası Yürütme İlkesi Nasıl Kaldırılır

Betik yürütmeyi devre dışı bırakmak istiyorsanız yürütme ilkesini şu şekilde ayarlayın: Tanımsız th kullanarake Set_ExecutionPolicy cmdlet. Bu varsayılan bir durumdur ve PowerShell'in herhangi bir betiği yürütmesini engeller.

PowerShell kullanarak betik yürütmeyi devre dışı bırakmak için:

  1. PowerShell'i yükseltilmiş izinle açın.
  2. Ardından, aşağıdaki komutu yazın ve tüm kullanıcılar için komut dosyası yürütmeyi devre dışı bırakmak için enter tuşuna basın:
    Ayarlamak-İcra Politikası Tanımsız
  3. Yukarıdaki komut, tüm kullanıcılar için yürütme politikasını varsayılan (tanımsız) olarak ayarlayacaktır. Belirli bir kapsam için betik yürütmeyi devre dışı bırakmak istiyorsanız aşağıdaki komutu kullanın:
    Ayarlamak-İcra Politikası Tanımsız Geçerli Kullanıcı Kapsamı
  4. Yukarıdaki komut, komut dosyasının yürütülmesini devre dışı bırakacaktır. Şu anki kullanıcı.

Yürütme Politikalarını ve Kapsamlarını Anlamak

Basitçe söylemek gerekirse, PowerShell'in yürütme ilkesi, PowerShell'in yapılandırma dosyalarını ve betikleri nasıl yürüttüğünü denetleyen bir ilkedir. Amaç, kullanıcıların yanlışlıkla kötü amaçlı komut dosyaları çalıştırmasını önlemektir. Yedi PowerShell yürütme ilkesi şunlardır: Varsayılan, Kısıtlı, RemoteSigned, AllSigned, Unrestricted, Bypass ve Undefined.

Aşağıdaki tabloda tüm PowerShell yürütme ilkeleri kısaca açıklanmaktadır:

Yürütme Politikası

uygulama

Varsayılan

Varsayılan yürütme ilkesini Windows İstemcisinde Kısıtlı ve Windows Sunucusunda RemoteSigned olarak ayarlar.

Hepsi İmzalandı

Yayıncı imzalı komut dosyalarının yürütülmesine izin verir.

Kalp ameliyati

Daha büyük uygulamalar için komut dosyalarının sınırsız yürütülmesi.

Uzaktan İmzalı

Yerel olarak yazılmış komut dosyasının yürütülmesine izin verir. İnternetten indirilen komut dosyaları için dijital imza gerektirir.

Sınırlı

Betik yürütmeye izin vermez, yalnızca bireysel PowerShell komutlarına izin verir.

Tanımsız

Yürütme ilkesini Windows istemcileri için Restricted ve Windows Server için RemoteSigned olarak ayarlar.

sınırsız

İnternetten indirilen komut dosyaları için bir uyarı ile imzasız komut dosyası yürütülmesine izin verin.

Yürütme Politikası Kapsamı

PowerShell'de belirli bir kapsam için yürütme ilkesi ayarlayabilirsiniz. Beş yürütme politikası kapsamı şunlardır: MachinePolicy, UserPolicy, Process, CurrentUser, Ve Yerel makine.

Aşağıdaki tablo, tüm yürütme politikası kapsamlarını kısaca açıklamaktadır:

Yürütme Politikası Kapsamı

uygulama

Kullanıcı Politikası

Geçerli kullanıcı için bir Grup İlkesi tarafından yapılandırılmıştır.

Makine Politikası

Tüm kullanıcılar için bir Grup İlkesi tarafından yapılandırılmıştır.

Para Kullanıcısı

Geçerli kullanıcı için yapılandırılmış ve HKEY_CURRENT_MACHINE kayıt defteri alt anahtarında saklanmıştır.

Yerel makine

Tüm kullanıcılar için yapılandırılmış ve HKEY_CURRENT_MACHINE kayıt defteri alt anahtarında saklanmıştır.

İşlem

Geçerli PowerShell oturumunu etkiler ve oturum kapatıldığında otomatik olarak silinir.

Windows'ta PowerShell Komut Dosyası Yürütme İlkesi Ekleme veya Kaldırma

PowerShell'de betik yürütme, Windows istemcileri için varsayılan olarak devre dışıdır ve Windows sunucusu için RemoteSigned olarak ayarlanmıştır. Ancak uzman kullanıcılar, yerel, imzalı ve imzasız PowerShell betiklerini çalıştırmak için yürütme ilkelerini değiştirebilir.

Alternatif olarak, betiği bir PowerShell konsoluna yapıştırarak veya betiğinizi PowerShell standart girişine ECHO yaparak PowerShell yürütme ilkesini atlayabilirsiniz. Yürütme ilkesini değiştirmeden komut dosyalarını yürütmek istiyorsanız bu kullanışlıdır.