创建New-CsApplicationAccessPolicy遇AADSTS50076错误,无法禁用组织MFA
创建CsApplicationAccessPolicy时遇MFA验证错误的处理方案
问题描述
执行PowerShell脚本创建Teams应用访问策略时,连接Microsoft Teams模块触发MFA强制验证错误(AADSTS50076),且组织内无法禁用MFA。
执行的PowerShell脚本
WRITE-HOST "Createing access policy " $userCredential = Get-Credential Connect-MicrosoftTeams -Credential $userCredential New-CsApplicationAccessPolicy -Identity OnlineMeeting-policy10 -AppIds "appid" -Description "OnlineMeeting" Grant-CsApplicationAccessPolicy -PolicyName OnlineMeeting-policy10 -Global
错误详情
Connect-MicrosoftTeams: Connect-MicrosoftTeams -Credential $userCredential 发生一个或多个错误。 (AADSTS50076: 由于管理员进行的配置更改,或者你已移至新位置,你必须使用多重身份验证才能访问 '00000003-0000-0000-c000-000000000000'。 跟踪 ID: ce73772c-3440-4da1-afa2-c60787dd6700 关联 ID: 16b7f655-d1c8-4058-a380-22d01fee233e 时间戳: 2022-08-16 09:40:51Z)
解决方法
方法1:使用交互式登录(适用于手动执行场景)
删除脚本中$userCredential = Get-Credential和Connect-MicrosoftTeams -Credential $userCredential两行,替换为:
Connect-MicrosoftTeams
运行后会自动弹出浏览器登录界面,完成账号登录及MFA验证后,即可继续执行后续的策略创建和授权命令。
方法2:使用服务主体登录(适用于自动化/无人值守场景)
如果需要脚本自动执行,可通过Azure AD服务主体实现免MFA交互登录:
- 在Azure AD中注册一个应用程序,为其分配
TeamsApplicationAccessPolicy.ReadWrite.All等必要的应用权限,并完成管理员同意。 - 为该应用生成证书或客户端密钥作为身份凭证。
- 使用以下命令连接Teams模块:
# 使用证书方式 Connect-MicrosoftTeams -ApplicationId "你的应用ID" -TenantId "你的租户ID" -CertificateThumbprint "证书指纹" # 或使用客户端密钥方式 $clientSecret = ConvertTo-SecureString "你的客户端密钥" -AsPlainText -Force Connect-MicrosoftTeams -ApplicationId "你的应用ID" -TenantId "你的租户ID" -ClientSecret $clientSecret
连接成功后执行后续的策略创建命令即可。
内容的提问来源于stack exchange,提问作者nemsmart api
相关产品推荐
相关产品推荐

