运行yo office生成Office加载项时出现PowerShell执行策略报错
错误原因
该报错由PowerShell默认的执行安全策略拦截导致:默认配置下PowerShell禁止运行未经过数字签名的脚本,你通过npm全局安装Yeoman时生成的启动脚本yo.ps1属于未签名脚本,因此触发了权限拦截。
解决方案
方案一:临时允许当前会话运行未签名脚本(最安全,关闭窗口后自动失效)
- 在当前要执行
yo office的PowerShell窗口中,先运行命令:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process - 弹出确认提示时输入
Y并回车确认 - 直接执行
yo office即可正常启动
该方案仅对当前打开的PowerShell窗口生效,关闭窗口后安全策略自动恢复默认,不会修改系统全局配置,适合临时使用的场景。
方案二:永久修改当前用户的执行策略(开发环境常用配置,兼顾安全与便捷)
- 打开任意PowerShell窗口,运行命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - 弹出确认提示时输入
Y并回车确认
该配置仅对当前登录的Windows用户生效,不会影响设备上的其他用户。配置后,后续所有PowerShell窗口都可以正常运行npm安装的全局工具脚本:仅会拦截从互联网下载的未签名脚本,本地生成的脚本不需要签名即可运行,安全风险极低。
方案三:全局修改系统所有用户的执行策略(不推荐,仅适合个人完全自用的设备)
- 以管理员身份启动PowerShell窗口,运行命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine - 弹出确认提示时输入
Y并回车确认即可,该配置会对设备上所有用户生效。
注意:不建议将执行策略设置为Unrestricted,会大幅降低系统安全阈值,容易被恶意脚本入侵。
内容的提问来源于stack exchange,提问作者Mahdi Abyaznezhad
相关产品推荐
相关产品推荐

