将多个用户更新到ADGroup

时间:2019-04-17 03:46:57

标签: azure azure-active-directory azure-powershell azure-ad-powershell-v2

我正在尝试通过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

知道为什么这种情况持续发生吗?我真的很感谢您的帮助。

谢谢

1 个答案:

答案 0 :(得分:0)

好吧,由于您没有提供.csv文件,因此我可以为您提供适合我的解决方案。

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

  

Import-csv:成员“角色”已经存在。

我可以重现此问题,这意味着您的.csv文件具有两列标题“角色”,只需将其修改为正确的格式即可。

enter image description here

enter image description here

  

Get-AzureADUser:无法将参数绑定到参数“ ObjectId”,因为它   为空。

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

我的样本

testgroup.csv

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

enter image description here

脚本(您应该使用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'错误。