11function Set-CIPPDefaultAPDeploymentProfile {
22 [CmdletBinding (SupportsShouldProcess = $true )]
33 param (
4- $tenantFilter ,
5- $displayName ,
6- $description ,
7- $devicenameTemplate ,
8- $allowWhiteGlove ,
4+ $TenantFilter ,
5+ $DisplayName ,
6+ $Description ,
7+ $DeviceNameTemplate ,
8+ $AllowWhiteGlove ,
99 $CollectHash ,
10- $userType ,
10+ $UserType ,
1111 $DeploymentMode ,
12- $hideChangeAccount ,
12+ $HideChangeAccount ,
1313 $AssignTo ,
14- $hidePrivacy ,
15- $hideTerms ,
14+ $HidePrivacy ,
15+ $HideTerms ,
1616 $AutoKeyboard ,
1717 $Headers ,
1818 $Language = ' os-default' ,
@@ -24,65 +24,66 @@ function Set-CIPPDefaultAPDeploymentProfile {
2424 try {
2525 $ObjBody = [pscustomobject ]@ {
2626 ' @odata.type' = ' #microsoft.graph.azureADWindowsAutopilotDeploymentProfile'
27- ' displayName' = " $ ( $displayName ) "
28- ' description' = " $ ( $description ) "
29- ' deviceNameTemplate' = " $ ( $devicenameTemplate ) "
27+ ' displayName' = " $ ( $DisplayName ) "
28+ ' description' = " $ ( $Description ) "
29+ ' deviceNameTemplate' = " $ ( $DeviceNameTemplate ) "
3030 ' language' = " $ ( $Language ) "
31- ' enableWhiteGlove' = $ ([bool ]($allowWhiteGlove ))
31+ ' enableWhiteGlove' = $ ([bool ]($AllowWhiteGlove ))
3232 ' deviceType' = ' windowsPc'
3333 ' extractHardwareHash' = $ ([bool ]($CollectHash ))
3434 ' roleScopeTagIds' = @ ()
3535 ' hybridAzureADJoinSkipConnectivityCheck' = $false
36- ' outOfBoxExperienceSetting' = @ {
37- ' deviceUsageType' = " $DeploymentMode "
38- ' escapeLinkHidden' = $ ([bool ]($hideChangeAccount ))
39- ' privacySettingsHidden' = $ ([bool ]($hidePrivacy ))
40- ' eulaHidden' = $ ([bool ]($hideTerms ))
41- ' userType' = " $userType "
36+ ' outOfBoxExperienceSetting' = @ {
37+ ' deviceUsageType' = " $DeploymentMode "
38+ ' escapeLinkHidden' = $ ([bool ]($HideChangeAccount ))
39+ ' privacySettingsHidden' = $ ([bool ]($HidePrivacy ))
40+ ' eulaHidden' = $ ([bool ]($HideTerms ))
41+ ' userType' = " $UserType "
4242 ' keyboardSelectionPageSkipped' = $ ([bool ]($AutoKeyboard ))
4343 }
4444 }
4545 $Body = ConvertTo-Json - InputObject $ObjBody
4646
47- $Profiles = New-GraphGETRequest - uri ' https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles' - tenantid $tenantFilter | Where-Object - Property displayName -EQ $displayName
47+ $Profiles = New-GraphGETRequest - uri ' https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles' - tenantid $TenantFilter | Where-Object - Property displayName -EQ $DisplayName
4848 if ($Profiles.count -gt 1 ) {
4949 $Profiles | ForEach-Object {
5050 if ($_.id -ne $Profiles [0 ].id) {
5151 if ($PSCmdlet.ShouldProcess ($_.displayName , ' Delete duplicate Autopilot profile' )) {
52- $null = New-GraphPOSTRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $_.id ) " - tenantid $tenantFilter - type DELETE
53- Write-LogMessage - Headers $User - API $APIName - tenant $ ($tenantFilter ) - message " Deleted duplicate Autopilot profile $ ( $displayName ) " - Sev ' Info'
52+ $null = New-GraphPOSTRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $_.id ) " - tenantid $TenantFilter - type DELETE
53+ Write-LogMessage - Headers $User - API $APIName - tenant $ ($TenantFilter ) - message " Deleted duplicate Autopilot profile $ ( $DisplayName ) " - Sev ' Info'
5454 }
5555 }
5656 }
5757 $Profiles = $Profiles [0 ]
5858 }
5959 if (! $Profiles ) {
60- if ($PSCmdlet.ShouldProcess ($displayName , ' Add Autopilot profile' )) {
60+ if ($PSCmdlet.ShouldProcess ($DisplayName , ' Add Autopilot profile' )) {
6161 $Type = ' Add'
62- $GraphRequest = New-GraphPostRequest - uri ' https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles' - body $body - tenantid $tenantFilter
63- Write-LogMessage - Headers $User - API $APIName - tenant $ ($tenantFilter ) - message " Added Autopilot profile $ ( $displayName ) " - Sev ' Info'
62+ $GraphRequest = New-GraphPostRequest - uri ' https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles' - body $Body - tenantid $TenantFilter
63+ Write-LogMessage - Headers $User - API $APIName - tenant $ ($TenantFilter ) - message " Added Autopilot profile $ ( $DisplayName ) " - Sev ' Info'
6464 }
6565 } else {
6666 $Type = ' Edit'
67- $null = New-GraphPostRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $Profiles.id ) " - tenantid $tenantFilter - body $body - type PATCH
67+ $null = New-GraphPostRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $Profiles.id ) " - tenantid $TenantFilter - body $Body - type PATCH
6868 $GraphRequest = $Profiles | Select-Object - Last 1
6969 }
7070
7171 if ($AssignTo -eq $true ) {
7272 $AssignBody = ' {"target":{"@odata.type":"#microsoft.graph.allDevicesAssignmentTarget"}}'
73- if ($PSCmdlet.ShouldProcess ($AssignTo , " Assign Autopilot profile $displayName " )) {
73+ if ($PSCmdlet.ShouldProcess ($AssignTo , " Assign Autopilot profile $DisplayName " )) {
7474 # Get assignments
75- $Assignments = New-GraphGETRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $GraphRequest.id ) /assignments" - tenantid $tenantFilter
75+ $Assignments = New-GraphGETRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $GraphRequest.id ) /assignments" - tenantid $TenantFilter
7676 if (! $Assignments ) {
77- $null = New-GraphPOSTRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $GraphRequest.id ) /assignments" - tenantid $tenantFilter - type POST - body $AssignBody
77+ $null = New-GraphPOSTRequest - uri " https://graph.microsoft.com/beta/deviceManagement/windowsAutopilotDeploymentProfiles/$ ( $GraphRequest.id ) /assignments" - tenantid $TenantFilter - type POST - body $AssignBody
7878 }
79- Write-LogMessage - Headers $User - API $APIName - tenant $tenantFilter - message " Assigned autopilot profile $ ( $displayName ) to $AssignTo " - Sev ' Info'
79+ Write-LogMessage - Headers $User - API $APIName - tenant $TenantFilter - message " Assigned autopilot profile $ ( $DisplayName ) to $AssignTo " - Sev ' Info'
8080 }
8181 }
82- " Successfully $ ( $Type ) ed profile for $tenantFilter "
82+ " Successfully $ ( $Type ) ed profile for $TenantFilter "
8383 } catch {
8484 $ErrorMessage = Get-CippException - Exception $_
85- Write-LogMessage - Headers $User - API $APIName - tenant $tenantFilter - message " Failed $ ( $Type ) ing Autopilot Profile $ ( $displayName ) . Error: $ ( $ErrorMessage.NormalizedError ) " - Sev ' Error' - LogData $ErrorMessage
86- throw " Failed to add profile for $ ( $tenantFilter ) : $ ( $ErrorMessage.NormalizedError ) "
85+ $Result = " Failed $ ( $Type ) ing Autopilot Profile $ ( $DisplayName ) . Error: $ ( $ErrorMessage.NormalizedError ) "
86+ Write-LogMessage - Headers $User - API $APIName - tenant $TenantFilter - message $Result - Sev ' Error' - LogData $ErrorMessage
87+ throw $Result
8788 }
8889}
0 commit comments