PowerShell 7.3.6无法使用Connect-AzureAD报错,寻求解决方案
问题分析与解决方案
核心结论
- 没办法把PowerShell 7的
PSEdition从Core改成Desktop——PowerShell 7本身就是基于.NET Core的Core版本,Desktop特指Windows PowerShell(5.1及更早版本),二者是独立的安装包,不存在互相转换的说法。 - 报错的根源就是AzureAD模块不支持PowerShell Core,这是官方明确的版本限制,和你操作无关。
具体解决方案
方案1:用Windows PowerShell(Desktop版)执行AzureAD操作
直接打开系统自带的Windows PowerShell(默认是5.1版本,PSEdition为Desktop),在里面导入AzureAD模块并运行Connect-AzureAD,就能正常触发MFA登录弹窗了。
方案2:迁移到Microsoft Graph PowerShell模块(推荐)
AzureAD模块已经被官方标记为弃用,不再更新功能,建议换成兼容PowerShell 7的Microsoft Graph模块:
- 安装模块:
Install-Module Microsoft.Graph -Scope CurrentUser -Force
- 连接到Microsoft Graph(对应原AzureAD的登录操作):
Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All" # 根据你的实际需求添加权限范围
- 原AzureAD的命令可以对应替换成Microsoft Graph的命令,比如:
Get-AzureADUser→Get-MgUserNew-AzureADGroup→New-MgGroup
为什么其他365模块能正常使用?
MicrosoftTeams这类模块官方已经更新为兼容.NET Core/PowerShell Core的版本,而AzureAD模块停留在依赖旧.NET Framework的阶段,所以只能在Windows PowerShell里运行。
内容的提问来源于stack exchange,提问作者Banks-uk
相关产品推荐
相关产品推荐

