如何使用PowerShell获取登录用户拥有的所有Azure应用注册
用PowerShell查找当前登录用户作为所有者的Azure AD应用注册
目前没有直接的PowerShell命令可以基于所有者身份反向查询所有对应的Azure AD应用注册,Get-AzureADApplicationOwner仅能查询单个指定应用注册的所有者列表,无法直接实现反向检索需求。
要找出当前登录用户作为所有者的应用注册,你需要遍历租户内的所有应用,逐一检查每个应用的所有者是否包含当前用户,具体脚本如下:
# 获取当前登录用户的ObjectId $currentUserId = (Get-AzureADCurrentSessionInfo).Account.Id # 获取租户内所有Azure AD应用注册 $allApplications = Get-AzureADApplication -All $true # 筛选出当前用户为所有者的应用 $userOwnedApplications = foreach ($app in $allApplications) { # 获取该应用的所有所有者 $appOwners = Get-AzureADApplicationOwner -ObjectId $app.ObjectId -All $true # 检查当前用户是否在所有者列表中 if ($appOwners.ObjectId -contains $currentUserId) { [PSCustomObject]@{ 应用名称 = $app.DisplayName 应用ObjectId = $app.ObjectId 应用客户端ID = $app.AppId } } } # 输出结果 $userOwnedApplications
注意事项
- 运行脚本前需确保已安装并导入
AzureAD模块(可通过Install-Module -Name AzureAD安装),且已通过Connect-AzureAD完成登录授权。 - 若租户内应用数量较多,遍历过程会耗时较长,因为每个应用都需要单独调用一次
Get-AzureADApplicationOwner接口。
内容的提问来源于stack exchange,提问作者Barry MSIH
相关产品推荐
相关产品推荐

