PowerShell: Sistemde komut dosyası yürütme devre dışı bırakıldığından dosya yüklenemiyor

Microsoft, yüzlerce görevi basit, güvenli ve tamamen işlevsel bir şekilde gerçekleştirmek için Windows PowerShell'i ev (Windows 10) ve kurumsal (Windows Server) işletim sistemlerine varsayılan yönetim konsolu olarak entegre etti.

Şimdi, Windows PowerShell ile gerçekleştirebileceğimiz görevler arasında, rutin görevleri otomatikleştirme veya özellikle idari işlemleri kolaylaştırma görevi olan komut dosyalarının yürütülmesi var ve bu gerçekten yararlı bir şey olmasına rağmen, bazı riskler taşıyabilir. kötü niyetli içerik, kayıtları veya hizmetleri gibi çeşitli sistem bileşenlerini etkileyerek performansı ve çalışması üzerinde olumsuz bir etki yaratabilir.

Bu nedenle, Microsoft, kaynaklarından bağımsız olarak hepsini etkinleştirmekten (hiçbir şey önerilmez) hepsini kısıtlamaya kadar, komut dosyalarının yürütülmesi için kullanıcılar olarak seçebileceğimiz çeşitli seçenekler sunar.

1. Windows PowerShell Yürütme İlkelerini Görüntüle


Microsoft, komut dosyalarıyla ilgili her şeyde bize bir dizi Windows PowerShell yürütme yönergesi sağlar.

KısıtlıVarsayılan kuraldır ve bununla birlikte bireysel komutların yürütülmesine izin verilir, ancak hiçbir komut dosyası yürütülmez, buna ek olarak yapılandırma ve biçim dosyaları (.ps1xml), Modül dahil tüm komut dosyalarının yürütülmesini engeller. komut dosyaları (.psm1) ve Windows PowerShell profilleri (.ps1).

Allsigned (Yalnızca İmzalar)Bu tür yönerge komut dosyaları yürütülebilir, bunun için yerel bilgisayarda yazılan komut dosyaları dahil olmak üzere tüm komut dosyalarının ve yapılandırma dosyalarının güvenilir bir yayıncı tarafından imzalanması gerekir, Sınıflandırılmamış yayıncıların komut dosyalarını çalıştırmadan önce ek onay istenir. Kime güvenilmez veya güvenilmez.

uzaktan imzalıBu yönerge komut dosyalarının yürütülmesine izin verir, bunun için İnternet'ten indirilen komut dosyalarında ve yapılandırma dosyalarında (e-posta ve anlık mesajlaşma programları dahil) güvenilir bir yayıncıdan dijital imza gerektirir, komut dosyalarında dijital imza gerektirmez. yerel bilgisayarda yazılmıştır, yani İnternet'ten indirilmemiştir ve kilitleri açıksa, örneğin Unblock-File cmdlet'ini kullanarak İnternet'ten indirilen ve imzalanmamış komut dosyalarını çalıştırabilirsiniz.

sınırsızBu yönerge bize yüksek güvenlik riski olan imzasız komut dosyalarını çalıştırma yeteneği verir ve güvenlik eklemek için yapılandırma dosyalarını ve internetten indirilen komut dosyalarını çalıştırmadan önce kullanıcıyı uyarır.

Kalp ameliyatiBu yönerge ile hiçbir şey engellenmez ve ne uyarılar ne de güvenlik mesajları görüntülenmez, bu yürütme yönergesi, bir Windows PowerShell komut dosyasının daha büyük bir uygulamaya entegre edildiği yapılandırmalar veya Windows PowerShell'in temel aldığı yapılandırmalar için tasarlanmıştır. kendi güvenlik modeline sahip bir program.

TanımsızBu seçenek, geçerli kapsamda ayarlanmış bir yürütme ilkesi olmadığını belirtir; bu nedenle, tüm kapsamlardaki yürütme ilkesi Tanımsız ise, otomatik çalıştırma ilkesi, Windows 10'da varsayılan yürütme ilkesi olan Kısıtlı olur.

Tüm Windows PowerShell yönergelerini görmek için aşağıdakileri uygulayabiliriz. Şimdi Windows PowerShell'de bir betiği doğru bir şekilde yürütmek için yeni bir yönergenin nasıl oluşturulacağını göreceğiz.

 Get-ExecutionPolicy -Listesi 

BÜYÜT

2. Komut dosyasını ExecutionPolicy Windows PowerShell komutuyla çalıştırın

Aşama 1
Bu seçeneği kullanmak için Windows PowerShell'de yönetici olarak çalıştırmak için iki seçeneğimiz vardır:

 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy RemoteSigned -Force
Adım 2
Bu satırlardan herhangi biri yürütüldüğünde, aşağıdaki cmdlet'i kullanarak sonucu doğrulayabiliriz.:
 Get-ExecutionPolicy -Listesi

BÜYÜT

3. Komut dosyasını Windows PowerShell'de Kayıt Defteri Düzenleyicisi ile çalıştırın

Aşama 1
Bu yöntem için dosyaların yedek bir kopyasını oluşturmanız veya bir tür arıza durumunda bir geri yükleme noktası oluşturmanız önerilir, ardından aşağıdaki anahtarları kullanacağız ve aşağıdakileri gerçekleştireceğiz:

+ R

 Regedit 
Adım 2
Görüntülenecek pencerede aşağıdaki rotaya gidiyoruz.
 HKEY_LOCAL_MACHINE \ YAZILIM \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell 
Aşama 3
Orada "Microsoft.PowerShell" üzerine sağ tıklayıp "Yeni / Dize değeri" seçeneğini seçeceğiz:

4. Adım
Bu yeni değer "ExecutionPolicy" olarak adlandırılacaktır:

BÜYÜT

Adım 5
Bu değere çift tıklıyoruz ve "Değer bilgisi" alanına "Uzaktan İmzalı" yazıyoruz:

6. Adım
Kabul Et'e tıklayın ve bu yönergenin uygulandığını göreceğiz:

BÜYÜT

4. Komut dosyasını Windows PowerShell'de Grup İlkesi ile çalıştırın

Aşama 1
Bu seçenek, Windows 10'un Pro ve Enterprise sürümleri için mevcuttur ve bunlara erişmek için aşağıdaki anahtarları kullanacağız ve aşağıdakileri gerçekleştireceğiz:

+ R

 gpedit.msc 
Adım 2
Enter'a basıldığında aşağıdaki pencere görüntülenecek ve orada aşağıdaki rotaya gideceğiz:
  • Ekipman kurulumu
  • Yönetim Şablonları
  • Windows Bileşenleri
  • Windows PowerShell'i

Adım 2
Orada "Komut dosyalarının yürütülmesini etkinleştir" adlı politikayı seçip açıyoruz:

BÜYÜT

Aşama 3
Görüntülenen pencerede "Etkin" kutusunu etkinleştiriyoruz ve "Yürütme yönergesi" alanında aşağıdaki seçeneklerden herhangi birini seçebiliriz. Yönerge tanımlandıktan sonra, değişiklikleri kaydetmek için Uygula ve Tamam'a tıklayın.

  • Yalnızca imzalı komut dosyalarına izin ver
  • Yerel komut dosyalarına ve uzaktan imzalı komut dosyalarına izin ver
  • Tüm komut dosyalarına izin ver

Bu yöntemlerden herhangi biri ile Windows ortamlarında betiklerden doğru şekilde yararlanmak mümkün olacaktır.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave