You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

升级PowerShell至7版本后右键“用PowerShell运行”脚本无响应的解决方法

升级PowerShell至7版本后右键“用PowerShell运行”脚本无响应的解决方法

嗨,我之前也碰到过一模一样的问题,大概率是升级PowerShell 7后,右键菜单里的“用PowerShell运行”关联出了岔子——要么是默认指向旧版PS5.1但关联损坏,要么是没切换到PS7的执行程序。给你几个实用的解决步骤,按顺序试试:

  • 第一步:先确认执行策略没问题
    虽然你手动粘贴脚本能运行,但右键调用的环境权限可能不一样。打开PowerShell 7(一定要用管理员身份),运行这条命令:
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
    这条命令是允许当前用户运行本地脚本,避免因为权限问题导致的静默失败。

  • 第二步:重置右键菜单关联到PowerShell 7
    很多时候升级后,右键菜单还是默认调用旧版PS5.1,我们手动把它改成PS7的路径。同样在管理员模式的PowerShell 7里运行:

    $regPath = "HKCR:\Microsoft.PowerShellScript.1\Shell\0\Command"
    Set-ItemProperty -Path $regPath -Name "(Default)" -Value '"C:\Program Files\PowerShell\7\pwsh.exe" "-Command" "& ""%1"""'
    

    注意:如果你的PowerShell 7安装在其他路径(比如C:\Program Files (x86)\PowerShell\7),记得把命令里的路径改成你实际的安装路径。

  • 第三步:用CMD修复文件关联
    如果上面的方法没效果,打开管理员模式的命令提示符(CMD),依次运行这两条命令:

    assoc .ps1=Microsoft.PowerShellScript.1
    ftype Microsoft.PowerShellScript.1="C:\Program Files\PowerShell\7\pwsh.exe" "%1"
    

    这两条命令会重新绑定.ps1文件到PowerShell 7的执行程序。

  • 额外排查:检查脚本开头的版本要求
    如果你脚本开头写了#Requires -Version 7,那用PS5.1运行的话会直接退出,看起来就像“没反应”。这种情况只要把右键关联改成PS7就解决了,也就是上面第二步的操作。

试完这些步骤后,右键点击脚本选“用PowerShell运行”应该就能正常执行了。

备注:内容来源于stack exchange,提问作者pwright2

火山引擎 最新活动