A Guide to Zero-Touch Provisioning with Intune - Windows Autopilot
You no longer need to image and set up each device manually before handing it off to the user. With Windows Autopilot, you can ship devices directly to employees, already configured, secured, and ready to go the moment they power it on.
Autopilot works hand-in-hand with Microsoft Intune to enable zero-touch provisioning, saving time, reducing errors, and improving the onboarding experience.
In this article, I’ll break down:
- What Windows Autopilot is
- How it works
- Key benefits for IT and users
- How to get started with setup and enrollment
Windows Autopilot is a cloud-based provisioning technology that lets you:
- Pre-configure new Windows 10/11 devices before the user powers them on
- Automatically join devices to Microsoft Entra ID (formerly Azure AD)
- Enroll them in Intune for policy, app, and config delivery
- Apply your organization’s branding and policies without IT touching the device
It’s like having a modern, cloud-native replacement for imaging, built for distributed and hybrid teams.
Here’s the basic flow:
- You (or your hardware vendor) upload the device’s hardware ID (hash) to Intune/Autopilot
- You assign an Autopilot profile to the device
- The user receives the device and powers it on
- Windows contacts Microsoft Autopilot service
- The profile is applied, device is joined to Entra ID, enrolled in Intune, and configured automatically
- User logs in and starts working, no IT setup required
Key Benefits
- Zero-touch setup for remote and hybrid employees
- Consistent, policy-driven provisioning
- Automated Entra ID join and Intune enrollment
- Apply company branding (logos, color, sign-in screens)
- Supports white glove setup for IT pre-provisioning if needed
- Reduces shipping costs and time to productivity
Autopilot profiles allow you to define:
- Device name templates
- Entra join or Hybrid join
- User account type (standard or admin)
- Skip or show EULA, privacy, and other setup screens
- Enable automatic enrollment into Intune
How to Set Up Windows Autopilot
Step 1: Gather device hardware IDs
- Use the Get-WindowsAutopilotInfo.ps1 PowerShell script, you can copy below code and save it as powershell script to use.
<#
.SYNOPSIS
Retrieves hardware hash and other details for Windows Autopilot registration.
.DESCRIPTION
This script gathers device hardware information needed for Windows Autopilot enrollment and exports it to a CSV file.
.NOTES
Author: Michael Niehaus, Microsoft
Source: https://github.com/microsoft/WindowsAutopilotIntune
.PARAMETER OutputFile
The name of the CSV file to create (e.g., AutopilotHWID.csv)
.EXAMPLE
.\Get-WindowsAutopilotInfo.ps1 -OutputFile AutoPilotHWID.csv
#>
param(
[Parameter(Mandatory=$true)]
[string]$OutputFile
)
function Get-AutopilotInfo {
Write-Host "Getting hardware hash..."
# Create temp folder
$TempFolder = "$env:TEMP\AutoPilot"
if (!(Test-Path -Path $TempFolder)) {
New-Item -Path $TempFolder -ItemType Directory | Out-Null
}
$HWIDPath = "$TempFolder\HWID.json"
# Run MDM diagnostics tool to get the hash
mdmdiagnosticstool.exe -area Autopilot -cab $TempFolder\AutoPilot.cab
# Extract the JSON file from CAB
expand.exe $TempFolder\AutoPilot.cab -F:* "$TempFolder" | Out-Null
if (!(Test-Path -Path $HWIDPath)) {
Write-Error "Hardware hash not found. Are you running this as administrator?"
return
}
# Read and parse the JSON
$json = Get-Content -Path $HWIDPath | Out-String | ConvertFrom-Json
# Select only the required fields
$hash = $json.DeviceHardwareData
$serial = $json.SerialNumber
$manufacturer = $json.Manufacturer
$model = $json.Model
# Create output object
$output = [PSCustomObject]@{
DeviceSerialNumber = $serial
WindowsProductID = ""
HardwareHash = $hash
Manufacturer = $manufacturer
Model = $model
}
# Export to CSV
$output | Export-Csv -Path $OutputFile -NoTypeInformation
Write-Host "Hardware hash exported to $OutputFile"
}
# Run the function
Get-AutopilotInfoUsage example:
.\Get-WindowsAutopilotInfo.ps1 -OutputFile "AutoPilotHWID.csv"- Or request the hash file from your OEM (like Dell, HP, Lenovo)
Step 2: Upload to Intune
- Go to: Intune Admin Center > Devices > Enrollment > Windows
- Then under Windows Autopilot section click on Devices as shown in the screenshot below.
- Upload the CSV file
Step 3: Create Autopilot profile
- Go to: Intune Admin Center > Devices > Enrollment > Windows
- Then under Windows Autopilot section click on Deployment profiles as shown in the screenshot below.
- Click + Create profile
- Choose Windows PC, configure settings, and assign to a device group
Step 4: Assign the profile to devices
- Select uploaded devices and assign the appropriate profile
Step 5: Deliver the device to the end user
- On first boot, Windows will apply the assigned Autopilot profile
Autopilot vs. Traditional Imaging
Recommendations:
- Use White Glove/Pre-Provisioning for IT-led setup when shipping internally
- Combine with Enrollment Status Page (ESP) to block access until setup is complete
- Create dynamic groups in Entra ID to assign profiles automatically
- Use naming conventions for devices (e.g., MKT-LAPTOP-%SERIAL%)
- Partner with OEMs that support direct Autopilot registration
Windows Autopilot and Intune redefine device provisioning, enabling a secure, scalable, and seamless experience from factory to first login.
If you’re still imaging devices manually, now’s the time to rethink your approach and modernize deployment.
Comments
Post a Comment