Set-ExecutionPolicy命令失效,PowerShell执行脚本遇弹窗如何解决?
解决PowerShell执行策略修改时弹出选择应用的问题
问题原因
该弹窗一般是因为系统对Set-ExecutionPolicy命令的关联出现异常,误将其识别为需要匹配外部应用的文件类型,或是PowerShell相关的文件关联被破坏导致。
解决步骤
确保打开正确的PowerShell环境
通过Win + X快捷键打开快捷菜单,选择「Windows PowerShell (管理员)」,确认打开的是官方原生的PowerShell程序,而非被错误关联的快捷方式。使用完整路径执行命令
直接调用PowerShell可执行文件的完整路径来运行修改命令,绕过异常关联:C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted"修复PowerShell文件关联
如果关联问题持续,打开命令提示符(管理员),执行以下命令修复.ps1脚本的关联:assoc .ps1=Microsoft.PowerShellScript.1 ftype Microsoft.PowerShellScript.1="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "%1" %*执行完成后重新打开管理员权限的PowerShell,再次尝试修改执行策略。
通过组策略调整(域/企业环境适用)
若系统受域组策略限制,需通过组策略编辑器修改:- 按下
Win + R输入gpedit.msc打开组策略编辑器 - 导航到「计算机配置」→「管理模板」→「Windows组件」→「Windows PowerShell」
- 找到「启用脚本执行」策略,设置为「已启用」,并在选项中选择允许的执行策略(如「允许所有脚本」)
- 打开命令提示符(管理员)输入
gpupdate /force刷新组策略
- 按下
验证结果
修改完成后,在PowerShell中执行以下命令确认执行策略状态:
Get-ExecutionPolicy -List
查看CurrentUser对应的策略是否为设置的Unrestricted(或其他允许值)。
内容的提问来源于stack exchange,提问作者Uday Tyagi
相关产品推荐
相关产品推荐

