Sto cercando di eseguire un file [tag:cmd] che chiama uno script [tag:powershell] da cmd.exe
, e sto ottenendo il seguente errore:
Management_Install.ps1
non può essere caricato perché l'esecuzione degli script è disabilitata su questo sistema.
Ho eseguito
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
e quando eseguo Get-ExecutionPolicy
da [tag:powershell], ottengo indietro Unrestricted
.
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...
Il file
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1
non può essere caricato perché l'esecuzione degli script è disabilitata su questo sistema. Vedi "get-help about_signing
" per maggiori dettagli.
Alla linea:1 char: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 . . .
Il sistema è Windows Server 2008R2.
Cosa sto facendo di sbagliato?
Se stai usando Windows Server 2008 R2 allora c'è una versione x64 e x86 di PowerShell che devono avere entrambe le loro politiche di esecuzione impostate. Hai impostato la politica di esecuzione su entrambi gli host?
Come Amministratore, puoi impostare la politica di esecuzione digitando questo nella tua finestra PowerShell:
Set-ExecutionPolicy RemoteSigned
Per maggiori informazioni, vedi Using the Set-ExecutionPolicy Cmdlet.
RemoteSigned: tutti gli script creati da voi saranno eseguiti, e tutti gli script scaricati da Internet dovranno essere firmati da un editore affidabile.
OK, cambiate la policy semplicemente digitando
Set-ExecutionPolicy RemoteSigned