我在从 Az powershell 7.1.0 自动设置 Azure 应用注册的 preAuthorizedApplications 时遇到问题。代码正在过渡到 MS Graph api,但我不清楚 preAuthorizedApplications 的语法。我在网上找到的所有东西,我都试过了。但是没有任何效果并且不断出错。
我创建了一段测试代码和一个测试应用注册:
Get-AzADApplication -ApplicationId 956afe7b-f58f-4de5-83ea-02035cc98b3f # 只是为了获取类型
$PreAuthPrem1 = 新对象 -TypeName "Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.MicrosoftGraphPreAuthorizedApplication" $PreAuthPrem1.AppId = "1fec8e78-bce4-4aaf-ab1b-5451cc387264" $PreAuthPrem1.DelegatedPermissionId = "d3a943ac -ea3b-4271-b750-abcd91b01162"
更新-AzADApplication -ApplicationId 956afe7b-f58f-4de5-83ea-02035cc98b3f -api @{"preAuthorizedApplications" = $PreAuthPrem1} -debug
它一直给我同样的错误,这不是很有帮助:
线 | 第549章 Az.MSGraph.internal\Update-AzADApplication @PSBoundParameters | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ | 有效负载中的属性 preAuthorizedApplications 具有与架构不匹配的值。
对 MS 图的请求如下(取自调试命令)
调试:============================= HTTP请求================== ==========
HTTP 方法:补丁
绝对 Uri: https ://graph.microsoft.com/v1.0/applications/ccd14ce8-1afe-45b3-a461-777d3129399b
标头:x-ms-unique-id:6 x-ms-client-request-id:cb41d352-4b67-4142-8795-9b77bf9b057a 命令名:Az.MSGraph.internal\Update-AzADApplication FullCommandName:Update-AzADApplication_UpdateExpanded ParameterSetName:__AllParameterSets User -代理:AzurePowershell/v0.0.0,Az.MSGraph/5.2.0
正文:{“api”:{“preAuthorizedApplications”:“{\r\n“appId”:“1fec8e78-bce4-4aaf-ab1b-5451cc387264”,\r\n“delegatedPermissionIds”:[“d3a943ac-ea3b-4271- b750-abcd91b01162" ]\r\n}" } }
我发现文档说它应该是委派的PermissionIds,但也应该是permissionIds。两者都不适合我
https://docs.microsoft.com/en-us/graph/api/resources/preauthorizedapplication?view=graph-rest-1.0
它还尝试了其他方法将正文设置为不包含特殊字符,但所有内容都不断给出相同的错误。
还更新了 az powershell(到 7.1.0)和 powershell 本身(7.2.1 核心)
还尝试了 azure ClI
$appObjectId='956afe7b-f58f-4de5-83ea-02035cc98b3f'
az rest -m PATCH -u https://graph.microsoft.com/v1.0/applications/$appObjectId --headers Content-Type=application/json -b '{"api":{"preAuthorizedApplications":[{ "appId":"1fec8e78-bce4-4aaf-ab1b-5451cc387264","permissionIds":["d3a943ac-ea3b-4271-b750-abcd91b01162"]}]}}'
错误请求({"error":{"code":"BadRequest","message":"无法读取 JSON 请求负载。请确保设置了 Content-Type 标头并且负载是有效的 JSON 格式。","innerError" :{"日期":"2022-01-31T06:23:44","request-id":"2ac51323-4f9b-4da8-8ec8-1187e4b73a59","client-request-id":"2ac51323-4f9b-4da8 -8ec8-1187e4b73a59"}}})
看起来同样的问题



