Skip to content

Commit 99d2d8f

Browse files
authored
Merge pull request #344 from KelvinTegelaar/dev
[pull] dev from KelvinTegelaar:dev
2 parents fd2bee7 + 85a094b commit 99d2d8f

File tree

1 file changed

+16
-16
lines changed
  • Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups

1 file changed

+16
-16
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Groups/Invoke-EditGroup.ps1

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ function Invoke-EditGroup {
2222

2323
$AddMembers = $UserObj.AddMember
2424

25-
2625
$TenantId = $UserObj.tenantId ?? $UserObj.tenantFilter
2726

2827
$MemberODataBindString = 'https://graph.microsoft.com/v1.0/directoryObjects/{0}'
@@ -70,8 +69,8 @@ function Invoke-EditGroup {
7069
$AddMembers | ForEach-Object {
7170
try {
7271
# Add to group user action and edit group page sends in different formats, so we need to handle both
73-
$Member = $_.value ?? $_
74-
$MemberID = $_.addedFields.id
72+
$Member = $_.addedFields.userPrincipalName ?? $_.value ?? $_
73+
$MemberID = $_.value
7574
if (!$MemberID) {
7675
$MemberID = (New-GraphGetRequest -uri "https://graph.microsoft.com/beta/users/$Member" -tenantid $TenantId).id
7776
}
@@ -147,8 +146,8 @@ function Invoke-EditGroup {
147146
try {
148147
if ($RemoveContact) {
149148
$RemoveContact | ForEach-Object {
150-
$Member = $_.value
151-
$MemberID = $_.addedFields.id
149+
$Member = $_.addedFields.userPrincipalName ?? $_.value
150+
$MemberID = $_.value
152151
if ($GroupType -eq 'Distribution list' -or $GroupType -eq 'Mail-Enabled Security') {
153152
$Params = @{ Identity = $GroupId; Member = $MemberID ; BypassSecurityGroupManagerCheck = $true }
154153
$ExoBulkRequests.Add(@{
@@ -175,8 +174,8 @@ function Invoke-EditGroup {
175174
try {
176175
if ($RemoveMembers) {
177176
$RemoveMembers | ForEach-Object {
178-
$Member = $_.value
179-
$MemberID = $_.addedFields.id
177+
$Member = $_.addedFields.userPrincipalName ?? $_.value
178+
$MemberID = $_.value
180179
if ($GroupType -eq 'Distribution list' -or $GroupType -eq 'Mail-Enabled Security') {
181180
$Params = @{ Identity = $GroupId; Member = $Member ; BypassSecurityGroupManagerCheck = $true }
182181
$ExoBulkRequests.Add(@{
@@ -211,8 +210,8 @@ function Invoke-EditGroup {
211210
if ($AddOwners) {
212211
if ($GroupType -notin @('Distribution List', 'Mail-Enabled Security')) {
213212
$AddOwners | ForEach-Object {
214-
$Owner = $_.value
215-
$ID = $_.addedFields.id
213+
$Owner = $_.addedFields.userPrincipalName ?? $_.value
214+
$ID = $_.value
216215

217216
$BulkRequests.Add(@{
218217
id = "addOwner-$Owner"
@@ -226,7 +225,7 @@ function Invoke-EditGroup {
226225
}
227226
})
228227
$GraphLogs.Add(@{
229-
message = "Added $Owner to $($GroupName) group"
228+
message = "Added owner $($Owner) to $($GroupName) group"
230229
id = "addOwner-$Owner"
231230
})
232231
}
@@ -241,14 +240,15 @@ function Invoke-EditGroup {
241240
if ($RemoveOwners) {
242241
if ($GroupType -notin @('Distribution List', 'Mail-Enabled Security')) {
243242
$RemoveOwners | ForEach-Object {
244-
$ID = $_.addedFields.id
243+
$ID = $_.value
244+
$Owner = $_.addedFields.userPrincipalName ?? $_.value
245245
$BulkRequests.Add(@{
246246
id = "removeOwner-$ID"
247247
method = 'DELETE'
248248
url = "groups/$($GroupId)/owners/$ID/`$ref"
249249
})
250250
$GraphLogs.Add(@{
251-
message = "Removed $($_.value) from $($GroupName) group"
251+
message = "Removed owner $($Owner) from $($GroupName) group"
252252
id = "removeOwner-$ID"
253253
})
254254
}
@@ -263,8 +263,8 @@ function Invoke-EditGroup {
263263

264264
$NewManagedBy = [System.Collections.Generic.List[string]]::new()
265265
foreach ($CurrentOwner in $CurrentOwners) {
266-
if ($RemoveOwners -and $RemoveOwners.addedFields.id -contains $CurrentOwner) {
267-
$OwnerToRemove = $RemoveOwners | Where-Object { $_.addedFields.id -eq $CurrentOwner }
266+
if ($RemoveOwners -and $RemoveOwners.value -contains $CurrentOwner) {
267+
$OwnerToRemove = $RemoveOwners | Where-Object { $_.value -eq $CurrentOwner }
268268
$ExoLogs.Add(@{
269269
message = "Removed owner $($OwnerToRemove.label) from $($GroupName) group"
270270
target = $GroupId
@@ -275,7 +275,7 @@ function Invoke-EditGroup {
275275
}
276276
if ($AddOwners) {
277277
foreach ($NewOwner in $AddOwners) {
278-
$NewManagedBy.Add($NewOwner.addedFields.id)
278+
$NewManagedBy.Add($NewOwner.value)
279279
$ExoLogs.Add(@{
280280
message = "Added owner $($NewOwner.label) to $($GroupName) group"
281281
target = $GroupId
@@ -436,4 +436,4 @@ function Invoke-EditGroup {
436436
Body = $Body
437437
})
438438

439-
}
439+
}

0 commit comments

Comments
 (0)