如何用PowerShell批量设置Azure AD组的组写回状态为Security?
批量设置Azure AD组写回状态为Security的可行方案
你之前用Set-AzureADGroup -SecurityEnabled $true无效,是因为这个参数控制的是Azure AD组本身的安全属性,和你要修改的「组写回目标类型」是完全独立的两个配置。后者属于Azure AD Connect的组写回配置属性,需要通过Microsoft Graph PowerShell来操作,具体步骤如下:
1. 准备:安装并连接Microsoft Graph PowerShell
Azure AD模块已被弃用,推荐使用Microsoft Graph PowerShell进行操作:
# 安装模块(首次运行) Install-Module Microsoft.Graph -Force -AllowClobber # 连接Graph并获取必要权限 Connect-MgGraph -Scopes Group.ReadWrite.All, Directory.ReadWrite.All
2. 批量修改组写回类型为Security
示例1:修改所有已启用写回的同步组
# 获取所有同步到本地且启用写回的组 $targetGroups = Get-MgGroup -Filter "onPremisesSyncEnabled eq true and writebackConfiguration/isEnabled eq true" -All # 循环更新每个组的写回配置 foreach ($group in $targetGroups) { Update-MgGroup -GroupId $group.Id -WritebackConfiguration @{ IsEnabled = $true GroupType = "Security" } Write-Host "已完成组 [$($group.DisplayName)] 的写回类型更新" }
示例2:修改指定组(按显示名称/ID筛选)
如果只需要修改特定组,可通过Filter精准定位:
# 按显示名称筛选目标组 $targetGroups = Get-MgGroup -Filter "displayName in ('销售部团队组', '技术部权限组')" -All # 执行更新 foreach ($group in $targetGroups) { Update-MgGroup -GroupId $group.Id -WritebackConfiguration @{ IsEnabled = $true GroupType = "Security" } Write-Host "已完成组 [$($group.DisplayName)] 的写回类型更新" }
3. 生效验证与同步触发
修改完成后,可通过以下命令验证配置:
Get-MgGroup -GroupId <组ID> -Property Id, DisplayName, WritebackConfiguration | Select-Object Id, DisplayName, WritebackConfiguration
若需立即生效,可手动触发Azure AD Connect同步:
# 触发增量同步 Start-ADSyncSyncCycle -PolicyType Delta
关键注意事项
- 需确保Azure AD Connect已启用组写回功能,否则修改该属性不会产生实际效果。
- 操作账号需具备
Group.ReadWrite.All和Directory.ReadWrite.All权限,或对应管理员角色(如全局管理员、组管理员)。
内容的提问来源于stack exchange,提问作者Sudaiv Shetty
相关产品推荐
相关产品推荐

