PowerShell sier "kjøring av skript er deaktivert på dette systemet";
Jeg prøver å kjøre en [tag:cmd]-fil som kaller et [tag:powershell]-skript fra cmd.exe
, og jeg får feilen nedenfor:
Management_Install.ps1
kan ikke lastes fordi kjøring av skript er deaktivert på dette systemet.
Jeg har kjørt
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
og når jeg kjører Get-ExecutionPolicy
fra [tag:powershell], får jeg Unrestricted
tilbake.
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...
Filen C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1
kan ikke lastes fordi kjøring av skript er deaktivert på dette systemet. Se "få hjelp om signering" for mer informasjon.
På linje:1 tegn:25
.\Management_Install.ps1
<<<<< 1
- CategoryInfo : NotSpecified: (:) [], PSSecurityException
- FullyQualifiedErrorId : Kjøretidsunntak (RuntimeException)
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE
Press any key to continue . . .
Systemet er Windows Server 2008R2.
Hva gjør jeg feil?
1532
3
Hvis du bruker Windows Server 2008 R2, er det en x64 og x86 versjon av PowerShell som begge må ha sine kjøringspolicyer angitt. Har du angitt kjøringspolicyen på begge vertene?
Som Administrator kan du angi kjøringspolicyen ved å skrive dette i PowerShell-vinduet:
For mer informasjon, se Bruke Set-ExecutionPolicy Cmdlet.
Du kan omgå denne policyen ved å legge til
-ExecutionPolicy ByPass
når du kjører PowerShellRemoteSigned: alle skript du har opprettet selv, vil bli kjørt, og alle skript som lastes ned fra Internett, må signeres av en pålitelig utgiver.
OK, endre policyen ved ganske enkelt å skrive: