[玩转系统] 如何导入条件访问策略
作者:精品下载站 日期:2024-12-14 06:31:10 浏览:14 分类:玩电脑
如何导入条件访问策略
我们希望将条件访问策略导入到 Microsoft Entra 租户中。现在,我们可以使用 Microsoft Entra 管理中心恢复条件访问策略。但这是单个条件访问策略上传。如果您想要导入多个条件访问策略怎么办? PowerShell 是最简单、最快的方法。在本文中,你将了解如何使用 Microsoft Graph PowerShell 将条件访问策略从 JSON 文件导入到 Microsoft Entra 中。
在你开始之前
您需要在 JSON 文件中包含条件访问策略,因为脚本将遍历 JSON 文件并将它们导入到 Microsoft Entra 租户中。
如果您已经有了 JSON 文件,那么就可以开始了。如果没有,请阅读有关如何导出条件访问策略的更多信息。
安装 Microsoft Graph PowerShell
在我们继续下一步并将所有条件访问策略恢复到 Microsoft Entra 租户之前,我们需要安装 Microsoft Graph PowerShell。
以管理员身份启动 Windows PowerShell 并运行以下命令。
Install-Module Microsoft.Graph -Force
Install-Module Microsoft.Graph.Beta -AllowClobber -Force
重要提示:始终安装 Microsoft Graph PowerShell 和 Microsoft Graph Beta PowerShell 模块。这是因为某些 cmdlet 在最终版本中尚不可用,并且无法运行。在运行 cmdlet 或脚本之前将两个模块更新到最新版本,以防止出现错误和不正确的结果。
现在我们已经安装了 Microsoft Graph PowerShell SDK 模块,我们可以进入下一步。
准备 Import-CAPolicies PowerShell 脚本
在(C:)驱动器上创建两个文件夹:
- Temp
- Scripts
下载 Import-CAPolicies.ps1 PowerShell 脚本并将其放置在 C:\scripts 文件夹中。该脚本会将 C:\temp 文件夹中存在的 JSON 文件导入到 Microsoft Entra 租户中。
确保文件未被阻止,以防止运行脚本时出现错误。请阅读文章运行 PowerShell 脚本时出现未数字签名错误来了解更多信息。
另一种选择是将以下代码复制并粘贴到记事本中。将其命名为 Import-CAPolicies.ps1 并将其放置在 C:\scripts 文件夹中。
<#
.SYNOPSIS
Import-CAPolicies.ps1
.DESCRIPTION
Import Conditional Access policies from JSON files for restore purposes.
.LINK
www.a-d.site/import-conditional-access-policies/
.NOTES
Written by: ALI TAJRAN
Website: www.a-d.site
LinkedIn: linkedin.com/in/a-d
.CHANGELOG
V1.00, 11/19/2023 - Initial version
#>
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Policy.Read.All", "Policy.ReadWrite.ConditionalAccess", "Application.Read.All"
# Define the path to the directory containing your JSON files
$jsonFilesDirectory = "C:\temp\"
# Get all JSON files in the directory
$jsonFiles = Get-ChildItem -Path $jsonFilesDirectory -Filter *.json
# Check if there are no JSON files
if ($jsonFiles.Count -eq 0) {
Write-Host "No JSON files found in the directory to import." -ForegroundColor Yellow
}
else {
# Loop through each JSON file
foreach ($jsonFile in $jsonFiles) {
try {
# Read the content of the JSON file and convert it to a PowerShell object
$policyJson = Get-Content -Path $jsonFile.FullName | ConvertFrom-Json
# Create a custom object
$policyObject = [PSCustomObject]@{
displayName = $policyJson.displayName
conditions = $policyJson.conditions
grantControls = $policyJson.grantControls
sessionControls = $policyJson.sessionControls
state = $policyJson.state
}
# Convert the custom object to JSON with a depth of 10
$policyJsonString = $policyObject | ConvertTo-Json -Depth 10
# Create the Conditional Access policy using the Microsoft Graph API
$null = New-MgIdentityConditionalAccessPolicy -Body $policyJsonString
# Print a success message
Write-Host "Policy created successfully: $($policyJson.displayName) " -ForegroundColor Green
}
catch {
# Print an error message if an exception occurs
Write-Host "An error occurred while creating the policy: $_" -ForegroundColor Red
}
}
}
这就是它的样子。
准备条件访问 JSON 文件
确保所有 CA 策略 JSON 文件都存在于 C:\temp 中。
使用 PowerShell 删除所有条件访问策略
我们的 Microsoft Entra 租户中有许多可用的 CA 策略,我们希望删除它们。如果您想保留已存在的策略,或者已经为空,则可以跳过此步骤。
让我们使用 Remove-CAPolicies.ps1 PowerShell 脚本删除所有 CA 策略。
<#
.SYNOPSIS
Remove-CAPolicies.ps1
.DESCRIPTION
Remove all Conditional Access policies from Microsoft Entra.
.LINK
www.a-d.site/import-conditional-access-policies/
.NOTES
Written by: ALI TAJRAN
Website: www.a-d.site
LinkedIn: linkedin.com/in/a-d
.CHANGELOG
V1.00, 11/19/2023 - Initial version
#>
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Policy.Read.All", "Policy.ReadWrite.ConditionalAccess", "Application.Read.All"
# Get all policies
$policies = Get-MgIdentityConditionalAccessPolicy -All
# Check if there are any policiesX
if ($policies.Count -eq 0) {
Write-Host "There are no Conditional Access policies to delete." -ForegroundColor Yellow
}
else {
# Loop through each policy and delete it
foreach ($policy in $policies) {
Remove-MgIdentityConditionalAccessPolicy -ConditionalAccessPolicyId $policy.Id
Write-Host "Policy deleted successfully: $($policy.DisplayName)" -ForegroundColor Green
}
}
现在 Microsoft Entra 租户中不再有条件访问策略,让我们通过导入 JSON 文件来添加 CA 策略。
运行导入条件访问策略 PowerShell 脚本
运行 Import-CAPolicies.ps1 PowerShell 脚本以获取 C:\temp 文件夹中的所有条件访问 JSON 策略并将它们导入到 Microsoft Entra 租户。
C:\scripts\Import-CAPolicies.ps1
注意:如果您在 Microsoft Entra 中已有 CA 策略,它不会覆盖它们或检查该策略是否存在。它将添加具有相同名称的策略,您可以在查看创建日期时识别它们。创建日期。您可以删除或禁用已存在的策略。
输出显示:
Policy created successfully: Block legacy authentication
Policy created successfully: Require multifactor authentication for all users
验证条件访问策略
检查是否已使用 PowerShell 成功导入条件访问策略。运行 Get-MgIdentityConditionalAccessPolicy cmdlet。
Get-MgIdentityConditionalAccessPolicy -All
这就是我们示例中的样子。
Id CreatedDateTime Description DisplayName ModifiedDateTime State
-- --------------- ----------- ----------- ---------------- -----
a800fccb-1912-45b6-ad7b-634e60a33c6c 11/19/2023 5:14:01 PM Block legacy authentication disabled
6bfb32e1-92cf-40fb-8fce-0143bcb39584 11/19/2023 5:14:02 PM Require multifactor authentication for all users enabled
验证条件访问策略是否已成功导入的另一种方法是使用 Microsoft Entra 管理中心:
登录 Microsoft Entra 管理中心
展开身份 > 保护
点击条件访问
-
选择查看所有政策
在我们的示例中,有两个 CA 策略。其中一项策略已启用,另一项策略已禁用。
一切看起来都很棒!
这是否有助于您将条件访问策略从 JSON 文件恢复到 Microsoft Entra 租户?
了解更多:在 Microsoft Entra 和 PowerShell 中获取 MFA 状态 »
结论
您学习了如何使用 PowerShell 导入条件访问策略。如果您有多个 CA 策略,则使用 PowerShell 导入 CA 策略会更快。首先,连接到 Microsoft Graph PowerShell 并运行 Import-CAPolicies PowerShell 脚本。之后,所有条件访问策略及其配置都可在 Microsoft Entra 中使用。
您喜欢这篇文章吗?您可能还喜欢使用 PowerShell 将 Azure AD 用户导出为 CSV。不要忘记关注我们并分享这篇文章。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag