2017-08-31 81 views
0

我有添加用户问题添加到我的办公室,365安全组。试图给用户的Office 365组(AzureAD)

我试图使用的代码是:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "Grp*"} 
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘*[email protected]*’} 
$useradd | foreach {Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $useradd.ObjectId} 

而且我得到这个错误:

Add-AzureADGroupMember : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'ObjectId'. 
+0

嗯......什么线?第三行?当你需要传递一个字符串时,你传入一个对象。我现在会做的是谷歌的cmdlet,并找出参数是什么类型的....但你为什么不尝试一下先 –

回答

0

我们可以使用这个脚本:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "Grp*"} 
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘*[email protected]*’} 
$users = $useradd.objectId 
foreach($user in $users){Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $user} 

这里结果如下: enter image description here


更新:

请测试这个脚本来找到问题的根源:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "group2"} 
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘w*’} 
$users = $useradd.objectid 
foreach($user in $users){ 
$user 
Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $user 
} 

enter image description here


更新:

我们可以利用这个脚本添加多个用户多个组:

$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "sg*"} 
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘ja*’} 
$users = $useradd.objectId 
$groupids = $groupid.ObjectId 
foreach($user in $users){ 
foreach($groupid in $groupids){ 
Add-AzureADGroupMember -ObjectId $groupid -RefObjectId $user} 
} 
+0

感谢您的帮助,但我仍然得到同样的错误。 https://i.stack.imgur.com/FFhjF.png 此致敬礼, 安德烈亚斯安德森 –

+0

@AndreasAndreasson你能打印$用户吗? –

+0

@AndreasAndreasson在'$ users'中有什么吗? –