将多个用户更新到 ADGroup

Updating Multiple Users to ADGroup

我正在尝试通过 UPN 在 CSV 文件中为多个用户更新 AzureADGroupMember。

这是我遇到并尝试过的:

$users = Import-csv "C:\Temp\testgroup2.csv" 

$users | ForEach-Object{
Add-AzureGroupADGroupMember -ObjectId xcv9890-stest999-xcvxc234-xcv2342324 
-RefObjectId (Get-AzureADUser -ObjectId $_.UPN).ObjectId
}

我收到以下 2 个错误。

Import-csv : The member "Role" is already present.
At line:1 char:10

Get-AzureADUser : Cannot bind argument to parameter 'ObjectId' because it 
is null.
At line:4 char:120

知道为什么这种情况一直发生吗?非常感谢您的帮助。

谢谢,

好吧,既然你没有提供 .csv 文件,我只能给你一个适合我的解决方案。

首先,让我们检查一下这两个错误。

Import-csv : The member "Role" is already present.

我可以重现这个问题,这意味着您的 .csv 文件有两列 header 'Role',只需将其修改为正确的格式即可。

Get-AzureADUser : Cannot bind argument to parameter 'ObjectId' because it is null.

这意味着$_.UPN这部分是空的,这可能是由第一个错误引起的。

我的样本:

testgroup.csv

UPN,Role
leeliu@xxxxxx.onmicrosoft.com,role1
test@xxxxxx.onmicrosoft.com,role2

script(你应该使用Add-AzureADGroupMember,而不是Add-AzureGroupADGroupMember):

$users = Import-csv "C:\Users\joyw\Desktop\testgroup.csv" 

$users | ForEach-Object{
Add-AzureADGroupMember -ObjectId 9d42xxxxxx28b600ad -RefObjectId (Get-AzureADUser -ObjectId $_.UPN).ObjectId
}

注意:在运行脚本之前,你需要确保用户不在组中,否则你会得到一个One or more added object references already exist for the following modified properties: 'members'错误。