Skip to content

Commit 2a6ba34

Browse files
authored
Merge pull request #906 from KelvinTegelaar/dev
[pull] dev from KelvinTegelaar:dev
2 parents f47963c + 98307db commit 2a6ba34

4 files changed

Lines changed: 54 additions & 63 deletions

File tree

Modules/CIPPCore/Public/Entrypoints/Activity Triggers/Push-ExecOnboardTenantQueue.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ function Push-ExecOnboardTenantQueue {
335335
Recurrence = ''
336336
ScheduledTime = $RetryEpoch
337337
}
338-
$null = Add-CIPPScheduledTask -Task $RetryTask -Hidden $true -DesiredStartTime ([string]$RetryEpoch)
338+
$null = Add-CIPPScheduledTask -Task $RetryTask -DesiredStartTime ([string]$RetryEpoch)
339339
$RetryMessage = 'Rescheduled: GDAP relationship was activated {0:N1} minutes ago. Retrying in 15 minutes to allow Microsoft propagation to settle.' -f $MinutesSinceActivation
340340
$OnboardingSteps.Step4.Status = 'pending'
341341
$OnboardingSteps.Step4.Message = $RetryMessage

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Endpoint/Autopilot/Invoke-AddAPDevice.ps1

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -51,36 +51,9 @@ function Invoke-AddAPDevice {
5151
if ($NewStatus.status -ne 'finished') { throw 'Could not retrieve status of import - This job might still be running. Check the autopilot device list in 10 minutes for the latest status.' }
5252
Write-LogMessage -headers $Request.Headers -API $APIName -tenant $($Request.body.TenantFilter.value) -message "Created Autopilot devices group. Group ID is $GroupName" -Sev 'Info'
5353

54-
# Apply group tags from CSV if any devices have them
55-
$DevicesWithGroupTags = @($rawDevices | Where-Object { $_.groupTag -and $_.groupTag.Trim() -ne '' })
56-
$GroupTagResults = [System.Collections.Generic.List[string]]::new()
57-
if ($DevicesWithGroupTags.Count -gt 0) {
58-
$TenantFilter = $Request.Body.TenantFilter.value
59-
try {
60-
$AutopilotDevices = New-GraphGetRequest -uri 'https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities?$top=999' -tenantid $TenantFilter
61-
foreach ($Device in $DevicesWithGroupTags) {
62-
try {
63-
$APDevice = $AutopilotDevices | Where-Object { $_.serialNumber -eq $Device.SerialNumber } | Select-Object -First 1
64-
if ($APDevice) {
65-
$body = @{ groupTag = $Device.groupTag } | ConvertTo-Json
66-
New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/$($APDevice.id)/UpdateDeviceProperties" -tenantid $TenantFilter -body $body -method POST | Out-Null
67-
$GroupTagResults.Add("Set group tag '$($Device.groupTag)' for device '$($Device.SerialNumber)'")
68-
} else {
69-
$GroupTagResults.Add("Could not find Autopilot device for serial '$($Device.SerialNumber)' to set group tag - device may still be syncing")
70-
}
71-
} catch {
72-
$GroupTagResults.Add("Failed to set group tag for device '$($Device.SerialNumber)': $($_.Exception.Message)")
73-
}
74-
}
75-
} catch {
76-
$GroupTagResults.Add("Failed to retrieve Autopilot devices for group tag assignment: $($_.Exception.Message)")
77-
}
78-
}
79-
8054
[PSCustomObject]@{
81-
Status = 'Import Job Completed'
82-
Devices = @($NewStatus.devicesStatus)
83-
GroupTagStatus = $GroupTagResults
55+
Status = 'Import Job Completed'
56+
Devices = @($NewStatus.devicesStatus)
8457
}
8558
$StatusCode = [HttpStatusCode]::OK
8659
} catch {

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-AddUserDefaults.ps1

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,13 @@ function Invoke-AddUserDefaults {
7373

7474
# Contact fields
7575
$MobilePhone = $Request.Body.mobilePhone
76-
$BusinessPhones = $Request.Body.businessPhones[0]
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+
}
7783
$OtherMails = $Request.Body.otherMails
7884

7985
# User relations
@@ -86,36 +92,38 @@ function Invoke-AddUserDefaults {
8692

8793
# Create template object with all fields from CippAddEditUser
8894
$TemplateObject = @{
89-
tenantFilter = $TenantFilter
90-
templateName = $TemplateName
91-
defaultForTenant = [bool]$DefaultForTenant
92-
givenName = $GivenName
93-
surname = $Surname
94-
displayName = $DisplayName
95-
usernameFormat = $UsernameFormat
96-
primDomain = $PrimDomain
97-
addedAliases = $AddedAliases
98-
Autopassword = $Autopassword
99-
password = $Password
100-
MustChangePass = $MustChangePass
101-
usageLocation = $UsageLocation
102-
licenses = $Licenses
103-
removeLicenses = $RemoveLicenses
104-
jobTitle = $JobTitle
105-
streetAddress = $StreetAddress
106-
city = $City
107-
state = $State
108-
postalCode = $PostalCode
109-
country = $Country
110-
companyName = $CompanyName
111-
department = $Department
112-
mobilePhone = $MobilePhone
113-
businessPhones = $BusinessPhones
114-
otherMails = $OtherMails
115-
setManager = $SetManager
116-
setSponsor = $SetSponsor
117-
copyFrom = $CopyFrom
118-
groupMemberships = $GroupMemberships
95+
tenantFilter = $TenantFilter
96+
templateName = $TemplateName
97+
defaultForTenant = [bool]$DefaultForTenant
98+
givenName = $GivenName
99+
surname = $Surname
100+
displayName = $DisplayName
101+
usernameFormat = $UsernameFormat
102+
usernameSpaceHandling = $UsernameSpaceHandling
103+
usernameSpaceReplacement = $UsernameSpaceReplacement
104+
primDomain = $PrimDomain
105+
addedAliases = $AddedAliases
106+
Autopassword = $Autopassword
107+
password = $Password
108+
MustChangePass = $MustChangePass
109+
usageLocation = $UsageLocation
110+
licenses = $Licenses
111+
removeLicenses = $RemoveLicenses
112+
jobTitle = $JobTitle
113+
streetAddress = $StreetAddress
114+
city = $City
115+
state = $State
116+
postalCode = $PostalCode
117+
country = $Country
118+
companyName = $CompanyName
119+
department = $Department
120+
mobilePhone = $MobilePhone
121+
businessPhones = $BusinessPhones
122+
otherMails = $OtherMails
123+
setManager = $SetManager
124+
setSponsor = $SetSponsor
125+
copyFrom = $CopyFrom
126+
groupMemberships = $GroupMemberships
119127
}
120128

121129
# Use existing GUID if editing, otherwise generate new one

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tools/Invoke-ListGeneratedReports.ps1

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,22 @@ function Invoke-ListGeneratedReports {
1919

2020
if ($ReportGUID) {
2121
# Fetch specific report
22+
$ReportGUID = ConvertTo-CIPPODataFilterValue -Value $ReportGUID -Type 'Guid'
2223
$Filter = "RowKey eq '$ReportGUID'"
2324
$Entities = @(Get-CIPPAzDataTableEntity @Table -Filter $Filter)
2425
} elseif ($TenantFilter) {
2526
# Fetch all reports for tenant
26-
$Filter = "PartitionKey eq '$TenantFilter'"
27-
$Entities = @(Get-CIPPAzDataTableEntity @Table -Filter $Filter)
27+
$TenantFilter = ConvertTo-CIPPODataFilterValue -Value $TenantFilter -Type 'String'
28+
if ($TenantFilter -ne 'AllTenants') {
29+
$Filter = "PartitionKey eq '$TenantFilter'"
30+
$Entities = @(Get-CIPPAzDataTableEntity @Table -Filter $Filter)
31+
} else {
32+
$Tenants = Get-Tenants -IncludeErrors
33+
$AllReports = Get-CIPPAzDataTableEntity @Table
34+
$Entities = foreach ($Tenant in $Tenants) {
35+
$AllReports | Where-Object { $_.PartitionKey -eq $Tenant.defaultDomainName }
36+
}
37+
}
2838
} else {
2939
# Fetch all reports
3040
$Entities = @(Get-CIPPAzDataTableEntity @Table)

0 commit comments

Comments
 (0)