当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 报告 Microsoft Entra 中的所有应用程序所有者

作者:精品下载站 日期:2024-12-14 06:39:24 浏览:16 分类:玩电脑

使用 PowerShell 报告 Microsoft Entra 中的所有应用程序所有者


默认情况下,组织中的用户可以在 Microsoft Entra 中创建新的应用程序注册。这意味着,如果配置的话,他们还可以请求管理员同意对所述应用程序的权限,以满足业务需求。

当应用程序获得权限并且应用程序按预期运行时,人们常常会忽视用户(现在是应用程序所有者)可以通过创建客户端密钥或证书来促进应用程序级访问。这意味着他们可以访问他们之前未被授权执行的特权操作。

在这篇文章中,我将向您展示如何使用 Microsoft Graph PowerShell 生成租户中应用程序所有者的报告。

要求

此脚本需要安装以下 Microsoft Graph PowerShell 模块:

  • Microsoft.Graph.身份验证
  • Microsoft.Graph.Beta.Applications

有关指导,请参阅我的帖子:如何安装 Microsoft Graph PowerShell 模块。

您还需要一个全局管理员帐户来同意内置 Microsoft Graph 命令行工具 应用程序的 Application.Read.All 权限。

使用应用程序所有者报告脚本

下面的脚本将首先使用带有 -All 开关的 Get-MgBetaApplication cmdlet 获取租户中的所有应用注册。

然后,它将发送包含 20 个请求的批量请求,以快速收集每个应用程序的应用程序所有者。

然后使用本地缓存在变量中的数据执行循环,以生成可以导出的报告。

然后将报告导出到定义的位置。 确保更改最后一行以将报告导出到您所需的位置。

这个脚本也可以从我的 GitHub 下载。

#Connect to Microsoft Graph
Connect-MgGraph -Scopes Application.Read.All

#Get all applications
$AllApps = Get-MgBetaApplication -All 

#Initialise array 
$Report = @()

#Send batch requests to get application owners
for($i=0;$i -lt $AllApps.count;$i+=20){
    $batch = @{}
    $batch['requests'] = ($AllApps[$i..($i+19)] | select @{n='id';e={$_.id}},@{n='method';e={'GET'}},`
		@{n='url';e={"/applications/$($_.id)/owners"}})
    $response = invoke-mggraphrequest -Method POST -URI "https://graph.microsoft.com/v1.0/`$batch" -body ($batch | convertto-json) -OutputType PSObject -ResponseHeadersVariable string
    $Report += $response.responses
}

#Create a new array list
$owners = [System.Collections.Generic.List[Object]]::new()

#Loop through locally caches items and add to array list
Foreach ($app in $report) {
     $owner = $app.body.value.userprincipalname -join ", "
     $obj = [PSCustomObject][ordered]@{
        "Application" = ($allapps | Where {$_.id -eq $app.id} | Select DisplayName).displayname
        "Owners" = $owner
    }
    $owners.Add($obj)
}

#Export to CSV
$owners | Export-CSV -Path C:\temp\Appowners5.csv -NoTypeInformation

概括

虽然建议阻止用户在 Microsoft Entra 中注册新应用程序,但这并不能解决标准用户之前可能已经创建应用程序的事实。该脚本将帮助您查看现有的应用程序所有者,使您能够决定是否需要采取操作。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯