PowerShell "bu sistemde komut dosyalarının yürütülmesi devre dışı bırakıldı.&quot diyor;

cmd.exe`den bir [tag:powershell] betiğini çağıran bir [tag:cmd] dosyasını çalıştırmaya çalışıyorum ve aşağıdaki hatayı alıyorum:

Management_Install.ps1 yüklenemiyor çünkü bu sistemde komut dosyalarının yürütülmesi devre dışı bırakıldı.

Ben koştum

Set-ExecutionPolicy -ExecutionPolicy Unrestricted

ve [tag:powershell]'den Get-ExecutionPolicy çalıştırdığımda, Unrestricted geri alıyorum.

PS C:\Users\Administrator\> Get-ExecutionPolicy
Unrestricted

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> powershell .\Management_Install.ps1 1

WARNING: Running x86 PowerShell...

C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1 dosyası, bu sistemde komut dosyalarının yürütülmesi devre dışı bırakıldığı için yüklenemiyor. Daha fazla ayrıntı için lütfen "get-help about_signing" bölümüne bakın.

Satır:1 karakter:25

  • .\Management_Install.ps1 <<<< 1
  • CategoryInfo : NotSpecified: (:) [], PSSecurityException
  • FullyQualifiedErrorId : RuntimeException
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE

Press any key to continue . . .

Sistem Windows Server 2008R2'dir.

Neyi yanlış yapıyorum?

Çözüm

Windows Server 2008]1 R2 kullanıyorsanız, PowerShell'in x64 ve x86 sürümleri vardır ve her ikisinin de yürütme ilkelerinin ayarlanmış olması gerekir. Her iki ana bilgisayarda da yürütme ilkesini ayarladınız mı?

Bir Administrator olarak, PowerShell pencerenize bunu yazarak yürütme ilkesini ayarlayabilirsiniz:

Set-ExecutionPolicy RemoteSigned

Daha fazla bilgi için bkz Set-ExecutionPolicy Cmdlet'ini Kullanma.

Yorumlar (6)

PowerShell'i çalıştırırken -ExecutionPolicy ByPass ekleyerek bu ilkeyi atlayabilirsiniz

powershell -ExecutionPolicy ByPass -File script.ps1
Yorumlar (5)

RemoteSigned: kendi oluşturduğunuz tüm komut dosyaları çalıştırılacak ve İnternet'ten indirilen tüm komut dosyalarının güvenilir bir yayıncı tarafından imzalanması gerekecektir.

Tamam, sadece yazarak politikayı değiştirin:

Set-ExecutionPolicy RemoteSigned
Yorumlar (1)