使用 PowerShell 将条件访问策略导出到 Excel
条件访问策略在保护 Microsoft 365 环境方面发挥着至关重要的作用,并且是零信任模型的关键组成部分。但是,错误地设置它们可能会产生严重后果,例如无意中损害整个 Microsoft 365 的安全性。不仅准确理解和配置这些 CA 策略,而且定期监控它们也至关重要。为了使这一过程变得更容易,本博客引入了一个 PowerShell 脚本来导出条件访问策略报告。这通过提供 CA 策略见解并确保强大的安全性来帮助保护您的环境。
如何查看 Microsoft 365 中的条件访问策略?
查看CA策略配置的方式主要有两种。他们是,
Microsoft Entra 管理中心:
Microsoft Entra 条件访问页面的“策略”部分提供了用于跟踪 CA 策略的基本详细信息,例如策略状态、创建日期和上次修改日期。但是,它不提供导出选项,并且缺乏可自定义的选项。此外,检查每个 CA 策略配置需要单独单击每个策略,这可能很麻烦且耗时。
PowerShell:
“Get-MgBetaIdentityConditionalAccessPolicy” cmdlet 允许您检索组织内的条件访问策略。然而,检索这些策略并不像看起来那么简单。该 cmdlet 不会直接列出所有配置的属性,需要进行额外的处理。此外,返回的值是对象 ID 的形式,需要进一步处理才能将它们呈现为可识别的名称。这可能具有挑战性并且需要更多时间。
为了解决这个问题,我们引入了 ExportCApolicies PowerShell 脚本,旨在将条件访问策略导出到 Excel 文件中。您可以从此处下载该脚本,并在以下部分中了解有关其功能的更多信息。
下载脚本:ExportCApolicies.ps1
脚本亮点
- 该脚本生成具有 33 个属性的 6 个报告,以进行详细的 CA 策略分析。
- 该脚本默认导出所有条件访问策略。
- 它生成有关活动 CA 策略的报告。
- 查找所有已禁用的 CA 策略。
- 它还列出了仅报告模式 CA 策略。
- 标识最近创建的 CA 策略以供审核。
- 列出最近修改的 CA 策略以跟踪更改。
- 该脚本可以使用启用 MFA 的帐户执行。
- 它将报告导出为 CSV 格式。
- 用户确认后,脚本会自动安装所需的 Microsoft Graph Beta PowerShell 模块。
- 支持基于证书的身份验证以实现安全访问。
- 包括用于自动报告的调度程序友好功能。
条件访问策略报告 - 示例输出
导出的条件访问策略报告将类似于下面提供的屏幕截图。
如何执行脚本?
下载上面提供的脚本并在您的系统上打开 Windows PowerShell。使用下面列出的任何方法执行脚本。
方法 1:您可以使用 MFA 和非 MFA 帐户执行脚本。
./ExportCApolicies.ps1该脚本将所有条件访问策略导出为 CSV 格式。
方法 2: 对于无人值守方法,您可以使用基于证书的身份验证运行脚本。您还可以使用此方法来计划 CA 策略报告。
./ExportCApolicies.ps1 -TenantId <tenantId> -ClientId <ClientId> –CertificateThumbprint <Certthumbprint>您可以根据自己的喜好使用证书颁发机构或自签名证书。但是,请确保在使用基于证书的身份验证之前在 Azure AD 中注册应用程序。
使用 PowerShell 导出条件访问策略报告
使用此 PowerShell 脚本,您可以实现以下目标:
- 通过 PowerShell 导出 CA 策略
- 查看有效的条件访问策略
- 在 Microsoft 365 中查找禁用的 CA 策略
- 确定仅报告模式条件访问策略
- 检测最近创建的 CA 策略
- 发现最近修改的CA政策
1.监控 Entra ID 中的所有条件访问策略
通过分析组织中的所有条件访问 (CA) 策略,管理员可以全面了解所实施的安全措施。此过程确保策略符合组织的安全要求和合规性标准。因此,管理员应列出组织中可用的所有 CA 策略并监控它们。要检索所有 Entra ID 条件访问策略,请使用以下脚本。
./ExportCApolicies.ps1导出的数据显示组织中所有已实施的条件访问策略。
2.查看 Microsoft 365 中启用的条件访问策略
管理员应监控已启用或活动的 CA 策略,以验证访问控制是否到位以及用户不会面临意外的身份验证挑战或访问限制。监控这些策略还有助于检测可疑活动,表明安全漏洞或策略配置错误。这使得管理员能够及时采取行动来降低风险并维护安全的环境。
要查看所有活动的 CA 策略,管理员可以使用“ActiveCAPoliciesOnly”参数执行脚本,如下所示。
./ExportCApolicies.ps1 -ActiveCAPoliciesOnly该脚本导出所有活动条件访问策略,这意味着仅打开或启用的策略。
3.查找禁用的条件访问策略
监视禁用的条件访问 (CA) 策略至关重要,因为它们仍然可能包含可能影响用户身份验证或访问控制的配置或条件。管理员应监控这些禁用的策略,以防止对用户访问或组织的安全状况产生意外影响。
使用以下脚本和“DisabledCAPoliciesOnly”参数来查找所有已禁用的 CA 策略。
./ExportCApolicies.ps1 -DisabledCAPoliciesOnly上述格式导出组织中的所有禁用的条件访问策略。通过监控此报告,管理员可以主动解决潜在问题并确保有效执行其组织的 CA 策略。
4.确定仅报告条件访问策略
条件访问中的仅报告模式允许管理员在执行 CA 策略之前对其进行测试。管理员应识别此模式下的所有 CA 策略,以评估其影响并决定是否强制执行它们。要导出当前处于仅报告模式的条件访问策略,请使用以下带有“ReportOnlyMode”参数的脚本。
./ExportCApolicies.ps1 -ReportOnlyMode导出的报告仅包含处于仅报告模式的CA策略。
5.检测最近创建的 CA 策略
监控最近创建的条件访问策略以确保其配置正确至关重要。例如,如果新策略无意中阻止了合法用户,则可能会扰乱组织的工作流程。因此,管理员应分析 Microsoft 365 中最近创建的 CA 策略。这使他们能够快速查看和验证这些策略,避免用户访问中断并确保其配置正确。
使用“RecentlyCreatedCApolicies”参数执行下面的脚本来识别所有最近创建的策略。此外,请确保指定执行前的天数。
./ExportCApolicies.ps1 -RecentlyCreatedCAPolicies 30上述格式返回过去 30 天内最近创建的 CA 策略。
6.检查最近修改的条件访问策略
在拥有多个条件访问 (CA) 管理员的组织中,定期审核和更新很常见。这些 CA 策略中的小错误可能会影响对 Microsoft 365 资源的访问,从而导致重大安全风险。因此,定期监控 CA 策略变化以快速识别和解决问题,确保对 Microsoft 365 的持续保护。
为此,请运行提供的脚本,并使用“RecentlyModifiedCAPolicies”参数和天数来查明所有最近修改的 CA 策略。
./ExportCApolicies.ps1 -RecentlyModifiedCAPolicies 60上面的示例导出过去 60 天内更改的所有修改的条件访问策略。这种主动方法简化了审核 CA 策略变更的过程
在结束之前,让我们简要回顾一下报告中导出的条件访问策略的属性。
导出报告中的条件访问策略组件:
导出的CA策略报告包含以下属性:
- CA 策略名称
- 描述
- 创建时间
- 修改时间
- 状态
条件访问策略分配:
- CA 策略中的用户和组:包括用户、排除使用、包括组、排除组
- CA 策略中的目录角色:包括目录角色、排除目录角色
- 访客或外部用户:包括访客或分机用户、排除访客或分机用户
- CA 策略目标资源:包括云应用程序、排除云应用程序、用户操作
- 条件访问策略中的条件:用户风险、登录风险、客户端应用程序、包括设备平台、排除设备平台、包括位置、排除位置
CA 策略中的访问控制:
- 访问控制 - 授予访问权限或阻止访问权限
CA 策略中的会话控制:
- 启用应用程序强制限制
使用 AdminDroid M365 Reporter 解锁全面的条件访问报告!
除了基本报告之外,您是否正在寻求更深入地了解您的条件访问策略?那么,别再犹豫了! AdminDroid Microsoft 365 Reporter 提供了强大的解决方案。
AdminDroid提供了丰富的关于CA策略配置、基于CA策略的登录等的报告,包括:
基于CA策略的登录分析
- CA 策略通过的登录
- 登录被 CA 策略阻止
- 用户未能满足CA政策要求
- 无需任何 CA 策略检查即可登录
基于 CA 策略的用户登录摘要
- 配置的 CA 策略的登录总数
- CA 策略满足的用户登录计数
- 被 CA 策略阻止的用户登录计数
配置的 CA 策略
- 所有 CA 政策
- 最近修改的CA政策
- CA 策略的授予控制详细信息
- CA策略的会话控制详细信息
具有 MFA 的 CA 政策
- 所有具有 MFA 的 CA 政策
- 启用 MFA 的 CA 策略分配概述
- MFA 启用的 CA 策略详细信息
CA策略配置分析
- Azure AD CA 策略中的用户条件
- CA 策略中配置的组条件
- CA 策略中配置的应用程序条件
- Azure AD CA 策略中的角色条件
- CA 策略中配置的位置条件
这只是 AdminDroid 提供的功能的一个快照!
此外,AdminDroid 还提供120 多个 Azure AD 报告和10 多个富有洞察力的仪表板,所有这些都完全免费供您进行 Azure AD 管理。
此外,AdminDroid 还提供1800+ 详细报告和30+ 时尚报告适用于 MS Teams、SharePoint Online、OneDrive、Exchange Online、Stream、Power BI 和 Viva Engage 的仪表板。
具有实时警报、快速调度、细粒度授权和高级自定义过滤器等功能, AdminDroid 简化了您的 Microsoft 365 管理。
立即下载 AdminDroid,享受15 天免费试用 - 无需信用卡!立即使用 AdminDroid 简化您的管理任务!
总之,使用 PowerShell 导出条件访问策略是管理和记录安全设置的快速有效的方法。我们希望此博客简化了使用 PowerShell 导出条件访问见解和报告的过程。如果您有任何疑问或需要帮助,请随时在评论部分与我们联系。

