I want the OSD process to install all user applications if the primary user on the device is known. This is very simple to achive, all you need is an active deployment of the application to the user with the setting “pre-deploy software to the user’s primary device” enabled on the deployment. Only one problem, I had to enable it for 300+ deployments.
Its easy with PowerShell.
This PowerShell script enables “pre-deploy software to the user’s primary device” on all application deployments in Configuration Manager
$deployments = Get-CMDeployment foreach ($deployment in $deployments) { Set-CMApplicationDeployment -ApplicationName $deployment.SoftwareName -CollectionName $deployment.CollectionName -PreDeploy $true }