Viac na
PowerShell hovorí "vykonávanie skriptov je v tomto systéme zakázané."
Snažím sa spustiť súbor [tag:cmd], ktorý volá skript [tag:powershell] zo súboru cmd.exe
, a dostávam nasledujúcu chybu:
Management_Install.ps1
nemožno načítať, pretože vykonávanie skriptov je v tomto systéme zakázané.
Spustil som
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
a keď spustím Get-ExecutionPolicy
z [tag:powershell], dostanem späť 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...
Súbor
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1
nemožno načítať, pretože vykonávanie skriptov je v tomto systéme zakázané. Ďalšie podrobnosti nájdete v časti "get-help about_signing
".
Na riadku: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 . . .
Systém je Windows Server 2008R2.
Čo robím zle?
1532
3
Ak používate Windows Server 2008 R2, potom existuje x64 a x86 verzia prostredia PowerShell, v oboch prípadoch je potrebné nastaviť zásady vykonávania. Nastavili ste zásady vykonávania na oboch hostiteľoch?
Ako administrátor môžete nastaviť politiku vykonávania tak, že do okna PowerShell napíšete toto:
Viac informácií nájdete v časti Použitie príkazu Set-ExecutionPolicy Cmdlet.
Túto zásadu môžete obísť pridaním
-ExecutionPolicy ByPass
pri spustení prostredia PowerShellRemoteSigned: všetky skripty, ktoré ste sami vytvorili, budú spustené a všetky skripty stiahnuté z internetu budú musieť byť podpísané dôveryhodným vydavateľom.
OK, zásady zmeníte jednoduchým zadaním: