Andreas Andreasson
Andreas Andreasson

Reputation: 33

Trying to add users to office 365 group (AzureAD)

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

Answers (1)

Jason Ye
Jason Ye

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}

Here is the result: enter image description here


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
}

enter image description here


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

Related Questions