Skip to content
February 27, 2026 Mid-Level (3-5 years) How-To

Intune Compliance Policies Explained

Configure Intune device compliance policies. Set up conditions for access, conditional access, and device health.

Intune Compliance Policies Explained

Compliance policies in Intune define what makes a device “healthy” and secure. Combined with Conditional Access, they control device access to resources.

What Are Compliance Policies?

Rules that devices must meet to:

  • Access corporate resources
  • Use conditional access
  • Be considered “managed”

Creating a Policy

  1. Microsoft Endpoint ManagerDevicesCompliance policies
  2. Create policyWindows 10 and later
  3. Set conditions and actions

Key Settings

Device Health

SettingOptionsRecommended
BitLockerRequireYes
Secure BootRequireYes
Code IntegrityRequireYes
Device Health AttestationRequireYes

Device Properties

# Via Graph
$Policy = @{
    "@odata.type" = "#microsoft.graph.windows10CompliancePolicy"
    deviceThreatProtectionRequiredSecurityLevel = " Secured"
    bitLockerEnabled = $true
    secureBootEnabled = $true
    codeIntegrityEnabled = $true
}

System Security

SettingValue
Password typeAlphanumeric
Minimum password length14
Password age (days)60
Device passwordRequired

Microsoft Defender

# Require Defender
defenderEnabled = $true
defenderVersion = "latest"

Compliance Actions

When device is non-compliant:

ActionWhat Happens
Mark as non-compliantVisual indicator
Send email to userNotification
Wipe deviceFull reset
Retire deviceRemove from Intune

Conditional Access Integration

Compliance + Conditional Access = Access Control

# Example: Require compliant device for Exchange
# 1. Create compliance policy (above)
# 2. Create conditional access policy in Azure AD:
#   - Grant: Require device to be marked as compliant
#   - Apps: Exchange Online
#   - Users: All users

Monitoring Compliance

# Check compliance status
Get-MgDeviceManagementDeviceCompliancePolicyState -DeviceId $DeviceId

# Get all compliant/non-compliant
Get-MgDeviceManagementDeviceCompliancePolicyState -All | 
    Where-Object { $_.ComplianceState -eq "noncompliant" }

Wrap-Up

Compliance policies are your first line of defense. Define healthy, require it with Conditional Access, and monitor compliance.

Questions? Drop them below!

Was this helpful?