You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell 5.1使用Connect-AzAccount交互式登录Azure失败,无法弹出浏览器并报令牌获取错误求助

解决Connect-AzAccount交互式登录失败的问题

我之前帮朋友排查过几乎一模一样的问题,结合实际经验给你几个可行的排查和解决步骤,应该能搞定这个登录报错:

1. 先检查并更新Az模块版本

旧版本的Az模块很可能和Azure最新的身份验证服务存在兼容性问题,这是最常见的原因之一。先看看你当前的模块版本:

Get-Module -ListAvailable Az.Accounts

如果版本低于2.x,赶紧用管理员权限打开PowerShell更新:

Update-Module Az -Force -AllowClobber

更新完重启PowerShell再试登录,很多时候这一步就能解决问题。

2. 换用设备码登录替代浏览器弹出

如果浏览器弹出的路子走不通,试试设备码登录——同样是交互式验证,只是不用弹出本地浏览器,避开了浏览器相关的故障:

Connect-AzAccount -UseDeviceAuthentication

运行后会跳出一串代码和一个链接,你用任意能上网的浏览器打开链接,输入代码然后登录你的Azure账号,验证完成后PowerShell会自动获取到凭据,完全满足你交互式登录的需求。

3. 彻底清理身份验证缓存

你已经删了Azure上下文,但可能还有损坏的令牌缓存没清干净。按下面步骤来:

  • 关掉所有PowerShell窗口
  • 删除这两个文件:%USERPROFILE%\.Azure\TokenCache.dat 和 %USERPROFILE%\.Azure\TokenCache.dat.lock
  • 如果找到%USERPROFILE%\.msal文件夹,暂时重命名它(比如改成.msal_old)
  • 重新打开PowerShell再试登录

4. 检查浏览器和网络环境

有时候不是PowerShell的问题,是浏览器或网络卡了:

  • 确认默认浏览器能正常打开https://login.microsoftonline.com,没被防火墙、代理或者广告插件拦截
  • 试试把默认浏览器换成Edge或Chrome,旧浏览器可能不支持Azure最新的验证流程
  • 如果用了公司代理,确保PowerShell能正确走代理,或者暂时关掉代理测试

5. 强制指定交互式验证类型

试试在登录命令里明确指定验证类型,强制模块用旧的验证流程:

Connect-AzAccount -Authentication Interactive

或者试试这个:

Connect-AzAccount -UseAuthenticationToken

要是以上步骤都试过还是不行,可以看看PowerShell的事件日志有没有更详细的错误信息,或者换台机器测试下,排除本地环境的问题。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 18:02:39