File tree Expand file tree Collapse file tree
Modules/CIPPHTTP/Public/Entrypoints/HTTP Functions/Identity/Administration/Users Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -73,13 +73,13 @@ function Invoke-AddUserDefaults {
7373
7474 # Contact fields
7575 $MobilePhone = $Request.Body.mobilePhone
76- $BusinessPhones = if ( $null -ne $Request .Body.businessPhones ) {
77- if ($Request .Body.businessPhones -is [ array ]) { $Request.Body.businessPhones [ 0 ] } else { $Request .Body.businessPhones }
78- } elseif ( $null -ne $Request.Body .' businessPhones[0] ' ) {
79- $ Request.Body .' businessPhones[0]'
80- } else {
81- $null
82- }
76+ $BusinessPhones = @ (
77+ if ($null -ne $Request.Body.businessPhones ) {
78+ $Request.Body.businessPhones | Where-Object { -not [ string ]::IsNullOrWhiteSpace( $_ ) }
79+ } elseif ( $null -ne $ Request.Body .' businessPhones[0]' ) {
80+ $Request .Body . ' businessPhones[0] ' | Where-Object { -not [ string ]::IsNullOrWhiteSpace( $_ ) }
81+ }
82+ )
8383 $OtherMails = $Request.Body.otherMails
8484
8585 # User relations
Original file line number Diff line number Diff line change @@ -187,12 +187,13 @@ function Invoke-EditUser {
187187 $AddToGroups | ForEach-Object {
188188
189189 $GroupType = $_.addedFields.groupType
190+ $CalculatedGroupType = $_.addedFields.calculatedGroupType ?? $null
190191 $GroupID = $_.value
191192 $GroupName = $_.label
192193 Write-Host " About to add $ ( $UserObj.userPrincipalName ) to $GroupName . Group ID is: $GroupID and type is: $GroupType "
193194
194195 try {
195- if ($GroupType -eq ' distributionList' -or $GroupType -eq ' security' ) {
196+ if ($GroupType -eq ' distributionList' -or $GroupType -eq ' security' -and ( $calculatedGroupType -ne ' generic ' ) ) {
196197 Write-Host ' Adding to group via Add-DistributionGroupMember'
197198 $Params = @ { Identity = $GroupID ; Member = $UserObj.id ; BypassSecurityGroupManagerCheck = $true }
198199 $null = New-ExoRequest - tenantid $UserObj.tenantFilter - cmdlet ' Add-DistributionGroupMember' - cmdParams $params - UseSystemMailbox $true
@@ -219,12 +220,13 @@ function Invoke-EditUser {
219220 $RemoveFromGroups | ForEach-Object {
220221
221222 $GroupType = $_.addedFields.groupType
223+ $CalculatedGroupType = $_.addedFields.calculatedGroupType ?? $null
222224 $GroupID = $_.value
223225 $GroupName = $_.label
224226 Write-Host " About to remove $ ( $UserObj.userPrincipalName ) from $GroupName . Group ID is: $GroupID and type is: $GroupType "
225227
226228 try {
227- if ($GroupType -eq ' distributionList' -or $GroupType -eq ' security' ) {
229+ if ($GroupType -eq ' distributionList' -or $GroupType -eq ' security' -and ( $calculatedGroupType -ne ' generic ' ) ) {
228230 Write-Host ' Removing From group via Remove-DistributionGroupMember'
229231 $Params = @ { Identity = $GroupID ; Member = $UserObj.id ; BypassSecurityGroupManagerCheck = $true }
230232 $null = New-ExoRequest - tenantid $UserObj.tenantFilter - cmdlet ' Remove-DistributionGroupMember' - cmdParams $params - UseSystemMailbox $true
You can’t perform that action at this time.
0 commit comments