安装RavenDB时运行run.ps1触发PowerShell脚本权限报错如何解决
PowerShell执行run.ps1脚本报错解决方案
报错内容:
PS D:\RavenDB> .\run.ps1 File D:\RavenDB\run.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details. At line:1 char:10 + .\run.ps1 <<<< + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException
报错原因
该报错由Windows PowerShell默认的脚本执行安全策略导致,系统默认禁止运行未经过数字签名的本地PowerShell脚本,属于系统安全防护机制,和RavenDB安装包本身无关。
解决方案
所有操作都需要先以管理员身份启动Windows PowerShell,再根据使用场景选择对应操作:
- 临时生效方案(关闭PowerShell窗口后自动恢复默认策略,安全性最高,适合单次运行场景)
执行命令:Set-ExecutionPolicy RemoteSigned -Scope Process
弹出确认提示时输入Y后按回车确认,随后切换到RavenDB所在目录执行.\run.ps1即可正常运行。 - 当前用户长期生效方案(仅对当前登录的Windows用户生效,不会影响其他用户)
执行命令:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
弹出确认提示时输入Y后按回车确认,后续当前用户运行任意本地未签名PowerShell脚本都不会触发该限制,从互联网下载的脚本仍会校验签名,安全系数较高。 - 全用户长期生效方案(适合多用户共用设备的场景,谨慎操作)
执行命令:Set-ExecutionPolicy RemoteSigned -Scope LocalMachine
弹出确认提示时输入Y后按回车确认即可。
补充说明
- 上述方案使用的
RemoteSigned是PowerShell官方推荐的平衡安全与易用性的执行策略,不建议直接设置为Unrestricted,会大幅降低系统安全系数。 - 可以执行
Get-ExecutionPolicy -List查看所有作用域的执行策略配置,验证修改是否生效。
内容的提问来源于stack exchange,提问作者Chhanda Podder
相关产品推荐
相关产品推荐

