Licensing
| License | What it covers | Required? |
|---|---|---|
| Microsoft Intune (standalone) | Device management, compliance, app deployment | Required |
| Azure AD Premium P1 | Auto-enrollment, dynamic groups, Autopilot | Required |
| Azure AD Premium P2 | Identity protection, Privileged Identity Management | Optional |
| Microsoft 365 Business Premium | Bundles Intune + AAD P1 + Defender | Recommended |
Device Requirements
Admin Portals You'll Use
| Portal | URL | Used for |
|---|---|---|
| Intune Admin Center | intune.microsoft.com | Everything — devices, policies, apps, scripts |
| Azure Active Directory | aad.portal.azure.com | Groups, users, conditional access |
| Microsoft 365 Admin | admin.microsoft.com | Licensing, user management |
Windows Autopilot lets you ship a brand-new laptop directly to an end user. When they power it on and connect to the internet, the device automatically joins Azure AD, enrolls into Intune, installs apps, and applies all your policies — with no IT intervention needed on-site.
Autopilot Deployment Modes
| Mode | Who sets it up? | Best for |
|---|---|---|
| User-Driven | End user logs in with their Azure AD account during OOBE | Most deployments — remote workers, new hires |
| Self-Deploying | No user interaction needed — device provisions itself | Kiosks, shared devices, meeting room PCs |
| Pre-provisioned (White Glove) | IT pre-stages the device, user finishes setup | When you want apps installed before user receives device |
| Hybrid Azure AD Join | Requires on-prem AD + VPN or Intune Connector | Organisations still using on-premises AD |
Before Autopilot can provision a device, it needs to know that device exists in your tenant. This is done by uploading the device's hardware hash — a unique fingerprint of the hardware.
Method 1: Run the Script on the Device
This is the most common method for existing devices or lab testing. Boot the device (or use OOBE Shift+F10 to open a command prompt):
powershell.# Install module (requires internet) Install-Script -Name Get-WindowsAutoPilotInfo -Force # Capture hash and upload directly to Intune Get-WindowsAutoPilotInfo -Online
-Online flag opens a browser sign-in to your tenant and uploads directly. You'll need Global Admin or Intune Admin credentials.
# Save to CSV file instead Get-WindowsAutoPilotInfo -OutputFile C:\AutopilotHWID.csv
Method 2: Via OEM / Reseller
Most major OEMs (Dell, HP, Lenovo, Microsoft Surface) can register devices into your Autopilot tenant at time of purchase. Give your reseller your Microsoft tenant ID and they'll handle the hash registration before the device ships.
Verify Registration in Intune
After upload, devices appear at: Intune Admin Center > Devices > Windows > Windows Enrollment > Devices. It can take up to 15 minutes to sync.
A Deployment Profile controls the out-of-box experience (OOBE) — what screens the user sees, what the device is named, and how it joins your organisation.
| Setting | Recommended value |
|---|---|
| Deployment mode | User-Driven |
| Join to Azure AD as | Azure AD joined |
| Microsoft Software License Terms | Hide |
| Privacy settings | Hide |
| Hide change account options | Hide |
| User account type | Standard (not Administrator) |
| Allow pre-provisioned deployment | Yes (optional, for White Glove) |
| Language | OS default or specify |
| Automatically configure keyboard | Yes |
| Apply device name template | Yes — e.g. CORP-%SERIAL% |
device.devicePhysicalIds -any (_ -eq "[ZTDId]") to auto-include all Autopilot-registered devices.%SERIAL% in the name template to include the serial number, e.g. CORP-%SERIAL%. This makes devices easy to identify in Intune and AD without needing manual naming.
The Enrollment Status Page (ESP) shows the user a progress screen during device setup, preventing them from using the device until all required apps and policies have been applied.
| Setting | Recommended value |
|---|---|
| Show app and profile configuration progress | Yes |
| Show error when installation takes longer than (minutes) | 60 |
| Show custom message when time limit error occurs | Yes — add your IT helpdesk number |
| Allow users to collect logs | Yes |
| Only show page to devices provisioned by OOBE | Yes |
| Block device use until all apps/profiles are installed | Yes |
- Group type: Security
- Membership type: Dynamic Device
- Rule:
(device.devicePhysicalIds -any (_ -eq "[ZTDId]"))
# Run on the test device — wipes and re-runs Autopilot Reset-Computer -WhatIf # Or via Settings > System > Recovery > Reset this PC # Choose "Remove everything"
Microsoft Intune is a cloud-based Mobile Device Management (MDM) and Mobile Application Management (MAM) solution. It lets you manage Windows PCs, Macs, iOS and Android devices from a single web portal — no on-premises infrastructure required.
Enable Auto-Enrollment (Required)
Before any device can enroll, you must enable automatic MDM enrollment in Azure AD.
Enrollment Methods
| Method | How | Best for |
|---|---|---|
| Autopilot | Device registered in Autopilot, user logs in at OOBE | New devices, clean deployments |
| Azure AD Join + Auto-enroll | Settings > Accounts > Access work or school > Connect | Existing devices you want to enroll manually |
| Company Portal | User downloads and signs into Company Portal app | BYOD, personal devices, MAM-only |
| Bulk Enrollment | Provisioning package via Windows Configuration Designer | Kiosks, shared devices without user accounts |
| Group Policy (co-management) | GPO pushes MDM enrollment to hybrid-joined devices | Migrating from SCCM/on-prem management |
Compliance policies define the minimum security requirements a device must meet to be considered "compliant". Non-compliant devices can be blocked from accessing company resources via Conditional Access.
| Category | Setting | Recommended |
|---|---|---|
| Device Health | Require BitLocker | Yes |
| Device Health | Require Secure Boot | Yes |
| Device Health | Require code integrity | Yes |
| System Security | Require password | Yes |
| System Security | Minimum password length | 8 |
| System Security | Firewall | Require |
| System Security | Antivirus | Require |
| System Security | Antispyware | Require |
| OS Version | Minimum OS version | 10.0.19041 (Win10 2004) |
| Defender | Real-time protection | Require |
Configuration profiles push settings to devices. Unlike compliance (which checks settings), configuration profiles actively apply them.
Common Profile Types
| Profile type | Use case |
|---|---|
| Device Restrictions | Disable USB storage, restrict Control Panel, block camera |
| Endpoint Protection | Configure Windows Defender, BitLocker encryption, Firewall rules |
| Wi-Fi | Push corporate Wi-Fi SSIDs and credentials silently |
| VPN | Deploy Always-On VPN or per-app VPN profiles |
| Certificate | Deploy root/intermediate certs and SCEP/PKCS user certs |
| Windows Update Ring | Control when feature updates and quality patches are installed |
| Administrative Templates (ADMX) | Apply Group Policy-like settings via MDM — Office, Edge, Windows |
| Settings Catalog | Search-driven access to thousands of MDM policies in one place |
| Custom (OMA-URI) | Apply any MDM CSP setting not exposed in the UI |
Create a Windows Update Ring
| Setting | Value |
|---|---|
| Servicing channel | General Availability Channel |
| Quality update deferral (days) | 7 |
| Feature update deferral (days) | 30 |
| Automatic update behaviour | Auto install and restart at maintenance time |
| Active hours start/end | 08:00 - 18:00 |
| Restart grace period | 2 days |
App Types in Intune
| App type | Format | Best for |
|---|---|---|
| Win32 | .intunewin (wrapped .exe or .msi) | Most traditional Windows apps — Chrome, 7-Zip, custom software |
| Microsoft 365 Apps | Built-in | Word, Excel, Outlook, Teams — easiest method |
| Microsoft Store (new) | Store search | WinGet-based store apps — Company Portal, Notepad++, etc. |
| Line of Business (LOB) | .msi or .msix | Simple MSI packages without complex dependencies |
| Web link | URL | Pin a website to Start Menu or taskbar |
Packaging a Win32 App
IntuneWinAppUtil.exe -c "C:\Source\MyApp" -s "setup.exe" -o "C:\Output"
-cSource folder containing installer-sSetup file name-oOutput folder for the .intunewin file
# Install command setup.exe /S /silent # Uninstall command "C:\Program Files\MyApp\uninstall.exe" /S
- Registry key — check HKLM\Software\MyApp exists
- File — check C:\Program Files\MyApp\app.exe exists
- MSI product code — for MSI-based installers
Intune can deploy and run PowerShell scripts on enrolled Windows devices. Scripts run silently in the background — great for configuration tasks that don't have a built-in MDM policy.
| Setting | Options | Notes |
|---|---|---|
| Run this script using the logged on credentials | Yes / No | No = runs as SYSTEM; Yes = runs as the logged-in user |
| Enforce script signature check | Yes / No | No for most internal scripts; Yes for production security |
| Run script in 64-bit PowerShell host | Yes / No | Yes recommended for compatibility with 64-bit operations |
Example: Map a Printer via Intune Script
# Deploy via Intune PowerShell Scripts
# Run as: Logged on credentials (user context)
$server = "printserver01"
$printer = "Secure Print"
$unc = "\\$server\$printer"
try {
Add-Printer -ConnectionName $unc -ErrorAction Stop
Write-Output "Mapped: $unc"
} catch {
if ($_.Exception.Message -like "*already exists*") {
Write-Output "Already mapped: $unc"
} else {
Write-Error "Failed to map $unc`: $_"
}
}