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

PowerShell 7中Connect-ExchangeOnline命令挂起问题求助

问题:PowerShell 7中Connect-ExchangeOnline命令挂起,PowerShell 5可正常运行

环境说明:PowerShell 5和PowerShell 7均使用ExchangeOnlineManagement v3.5.0模块。

现象

在PowerShell 7中执行Connect-ExchangeOnline命令时出现挂起/冻结,添加-Verbose参数后仅返回以下信息:

VERBOSE: Returning precomputed version info: 3.5.0
VERBOSE: ModuleVersion: 3.5.0

已尝试卸载并重装模块,问题未解决。

命令通常用于如下脚本:

Import-Module ExchangeOnlineManagement
$Email = Read-Host "Please enter your *FULL* AZ admin email" 
Connect-ExchangeOnline -UserPrincipalName $Email 
...

手动在PowerShell 7会话中执行相同语句,依旧挂起;终止命令时显示以下错误:

Error Acquiring Token:
System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at System.Threading.CancellationToken.ThrowIfCancellationRequested()
   at Microsoft.Identity.Client.Platforms.Shared.DefaultOSBrowser.HttpListenerInterceptor.ListenToSingleRequestAndRespondAsync(Int32 port, String path, Func`2 responseProducer, CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Platforms.Shared.Desktop.OsBrowser.DefaultOsBrowserWebUi.InterceptAuthorizationUriAsync(Uri authorizationUri, Uri redirectUri, Boolean isBrokerConfigured, CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Platforms.Shared.Desktop.OsBrowser.DefaultOsBrowserWebUi.AcquireAuthorizationAsync(Uri authorizationUri, Uri redirectUri, RequestContext requestContext, CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Internal.AuthCodeRequestComponent.FetchAuthCodeAndPkceInternalAsync(IWebUI webUi, CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Internal.AuthCodeRequestComponent.FetchAuthCodeAndPkceVerifierAsync(CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Internal.Requests.InteractiveRequest.GetTokenResponseAsync(CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Internal.Requests.InteractiveRequest.ExecuteAsync(CancellationToken cancellationToken)
   at Microsoft.Identity.Client.Internal.Requests.RequestBase.RunAsync(CancellationToken cancellationToken)
   at Microsoft.Identity.Client.ApiConfig.Executors.PublicClientExecutor.ExecuteAsync(AcquireTokenCommonParameters commonParameters, AcquireTokenInteractiveParameters interactiveParameters, CancellationToken cancellationToken)
   at Microsoft.Exchange.Management.AdminApiProvider.Authentication.MSALTokenProvider.GetAccessTokenAsync(String claims, String cmdletId)

解决建议

  • 强制使用网页登录:执行命令时添加-UseWebLogin参数,绕过PowerShell内置的浏览器交互逻辑,直接调用系统默认浏览器完成身份验证:
    Connect-ExchangeOnline -UserPrincipalName $Email -UseWebLogin
    
  • 使用设备代码登录:如果网页登录仍有问题,改用设备码验证方式,避免本地浏览器的拦截问题:
    Connect-ExchangeOnline -UserPrincipalName $Email -Device
    
    执行后按照提示访问指定网址,输入设备码完成登录。
  • 检查网络与代理设置:错误日志显示MSAL在获取令牌时被取消,大概率是代理拦截了本地HTTP监听。关闭代理服务器,或者将localhost、127.0.0.1加入代理白名单。
  • 清理令牌缓存:删除以下路径的缓存文件,重新启动PowerShell后尝试连接:
    • %USERPROFILE%\.azure
    • %USERPROFILE%\AppData\Local\Microsoft\TokenCache
  • 调整PowerShell 7运行权限:以管理员身份启动PowerShell 7,同时检查执行策略是否允许脚本运行(临时设置为RemoteSigned测试):
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    
  • 降级模块版本:尝试卸载v3.5.0,安装v3.4.0版本的ExchangeOnlineManagement模块,部分版本在PowerShell 7中有兼容性修复:
    Uninstall-Module ExchangeOnlineManagement -Force
    Install-Module ExchangeOnlineManagement -RequiredVersion 3.4.0 -Scope CurrentUser -Force
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:41:02