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?
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.
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