如何基于CSV自动为Azure AD设备批量增删组成员资格与组角色
Azure AD 设备批量组角色移除实现方案
前置要求
- 安装 Microsoft Graph PowerShell 模块:
Install-Module Microsoft.Graph -Scope CurrentUser - 准备CSV文件,需包含 DeviceDisplayName 列,逐行记录需要操作的设备显示名称
- 操作账号需持有 Azure AD 组所有者、全局管理员或目录写入者权限,确保具备组成员修改权限
操作流程
- 连接 Microsoft Graph 并申请必要权限
Connect-MgGraph -Scopes "Device.Read.All", "GroupMember.ReadWrite.All"
- 导入本地CSV设备列表
# 替换为你的CSV文件实际路径 $targetDevices = Import-Csv -Path "C:\Path\To\Your\DeviceList.csv"
- 获取目标操作组的对象ID
# 替换为你需要修改的组的实际名称 $targetGroup = Get-MgGroup -Filter "displayName eq '你的目标组名称'"
- 遍历设备列表,匹配后移除对应组角色/成员资格
foreach ($deviceItem in $targetDevices) { $matchedADDevice = Get-MgDevice -Filter "displayName eq '$($deviceItem.DeviceDisplayName)'" -All if ($matchedADDevice) { Remove-MgGroupMemberByRef -GroupId $targetGroup.Id -DirectoryObjectId $matchedADDevice.Id Write-Host "成功移除设备 $($deviceItem.DeviceDisplayName) 的组角色" } else { Write-Host "未匹配到Azure AD设备:$($deviceItem.DeviceDisplayName)" } }
校验与风险规避
- 首次执行前可注释
Remove-MgGroupMemberByRef相关行,仅运行匹配逻辑,确认设备匹配准确率后再执行移除操作 - 操作完成后可执行以下命令校验组剩余成员:
Get-MgGroupMember -GroupId $targetGroup.Id | Select-Object DisplayName, Id - 如需处理多个组,可新增组列表遍历逻辑,适配多组批量操作需求
内容的提问来源于stack exchange,提问作者Daiter123
相关产品推荐
相关产品推荐

