Reputation: 33
I have a problem adding users to my office 365 security group.
The code I'm trying to use is:
$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "Grp*"}
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘*PS@*’}
$useradd | foreach {Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $useradd.ObjectId}
And I'm getting this error:
Add-AzureADGroupMember : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'ObjectId'.
Upvotes: 2
Views: 4722
Reputation: 13974
We can use this script:
$groupid = Get-AzureADGroup | Where-Object {$_.DisplayName -like "Grp*"}
$useradd = Get-AzureADUser | select userprincipalname,objectid | where {$_.UserPrincipalName -like ‘*PS@*’}
$users = $useradd.objectId
foreach($user in $users){Add-AzureADGroupMember -ObjectId $groupid.ObjectId -RefObjectId $user}
Update:
Please test this script to find the root cause:
$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
}
Update:
We can use this script to add multiple users to multiple groups:
$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}
}
Upvotes: 3