Skip to content

Commit 7922032

Browse files
Merge pull request KelvinTegelaar#1230 from kris6673/user-dropdown-fix
FIX: modernize and make it work with the new frontend
2 parents 8e52bcd + 7af2347 commit 7922032

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

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

+19-8
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,35 @@ Function Invoke-ExecAssignAPDevice {
1010
[CmdletBinding()]
1111
param($Request, $TriggerMetadata)
1212
$APIName = $TriggerMetadata.FunctionName
13-
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug'
14-
$tenantfilter = $Request.Body.TenantFilter
13+
$User = $request.headers.'x-ms-client-principal'
14+
Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug'
15+
$TenantFilter = $Request.body.tenantFilter
16+
17+
1518
try {
19+
$UserObject = $Request.body.user.addedFields
20+
$DeviceObject = $Request.body.device
21+
$SerialNumber = $Request.body.serialNumber
1622
$body = @{
17-
UserPrincipalName = $Request.body.UserPrincipalName
18-
addressableUserName = $Request.body.addressableUserName
23+
userPrincipalName = $UserObject.userPrincipalName
24+
addressableUserName = $UserObject.addressableUserName
1925
} | ConvertTo-Json
20-
New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/$($request.body.Device)/UpdateDeviceProperties" -tenantid $TenantFilter -body $body -method POST
21-
$Results = "Successfully assigned device to $($Request.body.UserPrincipalName) for $($tenantfilter)"
26+
New-GraphPOSTRequest -uri "https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeviceIdentities/$($DeviceObject)/UpdateDeviceProperties" -tenantid $TenantFilter -body $body -method POST | Out-Null
27+
Write-LogMessage -user $User -API $APINAME -message "Successfully assigned device: $DeviceObject with Serial: $SerialNumber to $($UserObject.userPrincipalName) for $($TenantFilter)" -Sev Info
28+
$Results = "Successfully assigned device: $DeviceObject with Serial: $SerialNumber to $($UserObject.userPrincipalName) for $($TenantFilter)"
29+
$StatusCode = [HttpStatusCode]::OK
2230
} catch {
23-
$Results = "Could not $($Request.body.UserPrincipalName) to $($Request.body.device) for $($tenantfilter) Error: $($_.Exception.Message)"
31+
$ErrorMessage = Get-CippException -Exception $_
32+
Write-LogMessage -user $User -API $APINAME -message "Could not assign $($UserObject.userPrincipalName) to $($DeviceObject) for $($TenantFilter) Error: $($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage
33+
$Results = "Could not assign $($UserObject.userPrincipalName) to $($DeviceObject) for $($TenantFilter) Error: $($ErrorMessage.NormalizedError)"
34+
$StatusCode = [HttpStatusCode]::BadRequest
2435
}
2536

2637
$Results = [pscustomobject]@{'Results' = "$results" }
2738

2839
# Associate values to output bindings by calling 'Push-OutputBinding'.
2940
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
30-
StatusCode = [HttpStatusCode]::OK
41+
StatusCode = $StatusCode
3142
Body = $Results
3243
})
3344

0 commit comments

Comments
 (0)