Program PowerShell pravi "izvajanje skript je v tem sistemu onemogočeno."
Poskušam zagnati datoteko [tag:cmd], ki kliče skripto [tag:powershell] iz programa cmd.exe
, in dobim spodnjo napako:
V tem sistemu ni mogoče naložiti datoteke Management_Install.ps1
, ker je izvajanje skript onemogočeno.
Izvedel sem
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
in ko zaženem Get-ExecutionPolicy
iz [tag:powershell], dobim nazaj 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...
Datoteke
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1
ni mogoče naložiti, ker je izvajanje skript na tem sistemu onemogočeno. Za več podrobnosti glejte "get-help about_signing
".
V vrstici:1 znak: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 je Windows Server 2008R2.
Kaj delam narobe?
1532
3
Če uporabljate Windows Server 2008 R2, sta na voljo različici x64 in x86 programa PowerShell, za obe je treba nastaviti politike izvajanja. Ali ste izvajalno politiko nastavili na obeh gostiteljih?
Kot administrator lahko politiko izvajanja nastavite tako, da v okno PowerShell vnesete tole:
Za več informacij glejte Using the Set-ExecutionPolicy Cmdlet.
To politiko lahko obidete tako, da pri izvajanju programa PowerShell dodate
-ExecutionPolicy ByPass
.RemoteSigned: vse skripte, ki ste jih ustvarili sami, se bodo zaganjale, vse skripte, prenesene iz interneta, pa bo moral podpisati zaupanja vreden izdajatelj.
V redu, politiko spremenite tako, da preprosto vnesete: