SCCM Client Deployment via Microsoft
Intune - Step-by-Step Guide
1. Objective
This document provides detailed steps to package and deploy the Configuration Manager
(SCCM) client to Windows 11 devices using Microsoft Intune (Win32 app deployment). It
includes script examples, values to replace, packaging steps, Intune configuration, and
troubleshooting instructions.
2. Values to Replace
Placeholder Example Value Where to Get It
<SiteServer> CM01.contoso.com Configuration Manager
Console → Administration
→ Site Configuration → Sites
→ Server Name
<SiteCode> ABC Configuration Manager
Console → Administration
→ Site Configuration → Sites
→ Site Code field
<ManagementPointFQDN> mp01.contoso.com Configuration Manager
Console → Servers and Site
System Roles →
Management Point FQDN
<FallbackStatusPoint> fsp01.contoso.com Configuration Manager
Console → Servers and Site
System Roles → Fallback
Status Point
<CMGHostname> cmg.contoso.com Configuration Manager
Console → Cloud Services →
Cloud Management
Gateway
<RegistrationToken> ABC12345... Configuration Manager
Console → Cloud
Management Gateway →
Create Bulk Registration
Token
<OrganizationName> Contoso Ltd. Company or organization
name for Intune app
naming
<OutputFolder> C:\IntunePackages Local folder path to
store .intunewin file
3. PowerShell Install Script (Install-SCCMClient.ps1)
# Install-SCCMClient.ps1
# Replace placeholder values before packaging
$ccmFolder = "$env:windir\ccmsetup"
$sourceFolder = "$PSScriptRoot"
$exe = Join-Path $sourceFolder "ccmsetup.exe"
$reg = 'HKLM:\SOFTWARE\Microsoft\SMS\Mobile Client'
if (Test-Path $reg) {
Write-Output "SCCM client already installed: $((Get-ItemProperty $reg).ProductVersion)"
exit 0
}
# Example 1: On-Prem MP
# $arguments = "/mp:<ManagementPointFQDN> SMSSITECODE=<SiteCode> /logon"
# Example 2: CMG Internet with Token
# $arguments = "/mp:https://<CMGHostname> CCMHostName=<CMGHostname>
SMSSiteCode=<SiteCode> /regToken:<RegistrationToken>"
Start-Process -FilePath $exe -ArgumentList $arguments -Wait -NoNewWindow -PassThru
Start-Sleep -Seconds 30
if (Test-Path $reg) {
Write-Output "SCCM client installed successfully: $((Get-ItemProperty
$reg).ProductVersion)"
exit 0
} else {
Write-Output "SCCM client not found after install."
exit 1
}
4. Detection Script (detect-ccmclient.ps1)
# detect-ccmclient.ps1
$reg = 'HKLM:\SOFTWARE\Microsoft\SMS\Mobile Client'
if (Test-Path $reg) {
$pv = (Get-ItemProperty -Path $reg -Name ProductVersion -ErrorAction
SilentlyContinue).ProductVersion
if ($pv) {
Write-Output $pv
exit 0
}
}
exit 1
5. Packaging Steps (IntuneWinAppUtil)
1. Copy the SCCM client source files from your site server:
\\<SiteServer>\SMS_<SiteCode>\Client → C:\SCCMClientSource
2. Place your Install-SCCMClient.ps1 and detect-ccmclient.ps1 inside the folder.
3. Run the following command:
IntuneWinAppUtil.exe -c "C:\SCCMClientSource" -s "Install-SCCMClient.ps1" -o "C:\
IntunePackages" -q
6. Intune App Configuration
Field Value
App type Windows app (Win32)
Install command powershell.exe -ExecutionPolicy Bypass -
File Install-SCCMClient.ps1
Uninstall command ccmsetup.exe /uninstall
Install behavior System
Requirements OS: Windows 11, Architecture: x64
Detection Upload detect-ccmclient.ps1 or use registry
rule HKLM\SOFTWARE\Microsoft\SMS\
Mobile Client
Assignments Required for target Azure AD device group
Reboot behavior No specific action
7. Verification
After deployment, check the following logs on client machines:
Log File Path Purpose
ccmsetup.log C:\Windows\ccmsetup\ Main installation progress
Logs log
Client.msi.log C:\Windows\ccmsetup\ MSI installation details
Logs
LocationServices.log C:\Windows\CCM\Logs Management point
assignment &
communication
8. Troubleshooting
• Verify Management Point and Site Code values are correct.
• Confirm network/firewall allows communication with Management Point or CMG.
• Check registry path HKLM\SOFTWARE\Microsoft\SMS\Mobile Client for ProductVersion.
• If install fails, manually rerun:
C:\Windows\ccmsetup\ccmsetup.exe /uninstall
then reinstall using your parameters.