PowerShell说"在这个系统上禁用脚本的执行"。
我试图运行一个[tag:cmd]文件,该文件从cmd.exe
调用一个[tag:powershell]脚本,但我得到了以下错误。
Management_Install.ps1
不能被加载,因为在这个系统上脚本的执行被禁止。
我已经运行了
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
当我从[tag:powershell]运行Get-ExecutionPolicy
时,我得到了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...
文件
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\Management_Install.ps1
不能被加载,因为在这个系统中脚本的执行被禁止。请参阅"get-help about_signing
"了解更多细节。
在行:1 char:25
.
Management_Install.ps1` <<<< 1
- CategoryInfo : 未指定。(:) [], PSSecurityException
- FullyQualifiedErrorId : RuntimeException
C:\Projects\Microsoft.Practices.ESB\Source\Samples\Management Portal\Install\Scripts\> PAUSE
Press any key to continue . . .
该系统是Windows Server 2008R2。
我做错了什么?
1532
3
如果你使用的是Windows Server 2008R2,那么有一个_x64_和_x86_版本的PowerShell,它们都必须设置其执行策略。你在两台主机上都设置了执行策略吗?
作为一个管理员,你可以通过在PowerShell窗口中输入这个来设置执行策略。
更多信息,请参阅使用Set-ExecutionPolicy Cmdlet。
你可以通过在运行PowerShell时添加 "ExecutionPolicy ByPass "来绕过这一策略。
RemoteSigned:所有你自己创建的脚本都将被运行,所有从互联网上下载的脚本都需要由一个受信任的发布者签名。
好了,通过简单的键入来改变策略。