Azure AD应用注册PowerShell认证报错原因咨询
两个报错的原因及修复方案
1. Invoke-RestMethod 报错(invalid_scope / AADSTS1002012)
原因:使用客户端凭证流(client_credentials)请求令牌时,scope参数必须以/.default作为后缀,你当前的scope只写了资源标识符前缀,不符合Azure AD的规则。
修复:将scope的值修改为带/.default后缀的格式,示例如下:
$body = @{ "scope" = "api://a193b314b-7854-9aab-bb78-6a50ffxxxxxx/.default"; "grant_type" = "client_credentials"; "client_id" = $ClientID "client_secret" = $secretKey }
2. Connect-AzAccount 报错(AADSTS700016)
原因:
- 填写的
$tenantID值错误,导致脚本在"Default"目录中查找应用,而你的应用注册不在该目录内; $clientID填写有误,Azure AD无法匹配到对应ID的应用;- 脚本混用了新旧Azure PowerShell模块(旧模块的
Connect-AzureRmAccount和新模块的Connect-AzAccount),导致识别异常。
修复:
- 核对
$tenantID和$clientID,确保与Azure AD应用注册页面的信息完全一致; - 统一使用Az模块,将
Connect-AzureRmAccount替换为Connect-AzAccount,保持命令与模块版本匹配。
内容的提问来源于stack exchange,提问作者jaggi
相关产品推荐
相关产品推荐

