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

Windows10下PowerShell 5.1模块命令卡顿阻塞求助

解决Windows 10 2004 PowerShell 5.1模块命令卡顿无响应问题

我之前遇到过完全相同的情况——Windows 10家庭版2004的PowerShell 5.1里,Install-ModuleFind-Module这类命令一执行就卡住,只显示闪烁的短横线,完全没响应。因为PowerShellGet是内置组件没法卸载重装,我试了几个亲测有效的方案,分享给你:

1. 强制更新PowerShellGet和NuGet模块

旧版本的PowerShellGet和NuGet经常会出现连接PSGallery(PowerShell模块仓库)失败或卡顿的问题,虽然内置版本不能卸载,但我们可以安装更新版本覆盖它:

  • 首先执行这条命令启用TLS 1.2(很多旧系统默认没开,导致无法连接HTTPS的仓库):
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
  • 然后强制安装最新版PowerShellGet:
    Install-Module -Name PowerShellGet -Force -AllowClobber -Scope CurrentUser
    
    这里的-Force会强制覆盖旧版本,-AllowClobber允许替换冲突的命令。

2. 清理模块缓存和NuGet缓存

缓存损坏是常见的卡顿原因,按以下步骤清理:

  • 关闭所有打开的PowerShell窗口(包括管理员权限的)
  • 删除以下两个目录里的所有内容:
    • C:\Users\<你的用户名>\AppData\Local\Microsoft\Windows\PowerShell\PowerShellGet
    • C:\Users\<你的用户名>\AppData\Local\NuGet\Cache
  • 重启PowerShell,再尝试执行模块命令

3. 检查并重置代理设置

系统代理配置错误会导致PowerShell无法连接远程仓库,试试重置代理:

  • 执行命令重置系统WinHTTP代理:
    netsh winhttp reset proxy
    
  • 再清空PowerShell当前会话的代理环境变量:
    $env:HTTP_PROXY = $null
    $env:HTTPS_PROXY = $null
    

4. 确认PSGallery仓库是可信的

如果PSGallery被标记为不可信,命令可能会静默卡住,执行以下命令检查并设置:

  • 先查看仓库状态:
    Get-PSRepository
    
  • 如果PSGallery的InstallationPolicyUntrusted,执行这条命令设为可信:
    Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
    

5. 安装Windows 10 2004的最新累积更新

Windows 10 2004的一些旧版本存在系统组件的bug,安装最新累积更新可能修复PowerShell相关的问题:

  • 打开「设置」→「更新和安全」→「Windows Update」,安装所有可用的累积更新,重启系统后再测试命令

按这个顺序试下来,我的问题在第二步清理缓存后就解决了,你可以根据自己的情况逐步排查。

内容的提问来源于stack exchange,提问作者Sergei Leduc

火山引擎 最新活动