我正在尝试通过PowerShell脚本使用Microsoft Graph API和REST方法从清单下的Azure门户应用注册中检索应用所有者。我正在使用服务主体帐户(客户端密钥)、租户和客户端ID(应用ID)对Graph API进行身份验证。
下面是获取特定应用信息的代码:
Invoke-RestMethod -Uri "https://graph.microsoft.com/v1.0/applications?$filter=appId eq 'appIdhere'" -Headers $headers -Method GET
我使用以下请求头和主体:
$requestBody = @{
"grant_type" = "client_credentials"
"client_id" = $clientId
"client_secret" = $clientSecret
"scope" = "https://graph.microsoft.com/.default"
}
$headers = @{
Authorization = "Bearer $accessToken"
}
然而,上面的代码只在图上工作。请参阅下面的文档。(我使用了/applications端点,它仍然可以与下面的引用一起使用)Microsoft Graph API -列出服务主体的所有者
我想使用上面提到的URL来访问应用程序注册Azure门户下的应用程序清单,但在使用PowerShell伊势中的Invoke-RestMethod时,该URL将从Azure门户检索所有应用程序,而不是仅从URL中检索指定的应用程序。
我想请求帮助如何检索此URL下的指定信息:“https://graph.microsoft.com/v1.0/applications?$filter=appId eq 'f059f748-6b42-46ec-8d5b-23a0fee126ee'"。提前感谢那些将提供帮助的人。
1条答案
按热度按时间jtjikinw1#
我注册了一个Azure AD应用程序,并添加了API权限,如下所示:
现在,我添加了以下用户作为应用程序的应用程序所有者:
要使用Microsoft Graph API从清单下的Azure门户应用注册中检索应用所有者,您可以使用以下查询:
若要通过PowerShell调用REST API获得相同的结果,可执行以下脚本:
当我运行脚本时,我在响应中获得了Application所有者的Object ID,如下所示:
参考:List owners - Microsoft Graph v1.0 | Microsoft