IntuneTroubleshooting

Intune health attestation is moving to Azure Attestation: prepare before compliance breaks

Intune will evaluate BitLocker, Secure Boot and code integrity compliance through Microsoft Azure Attestation. Which endpoints to allow, how to test from a device, and how to find affected policies.

Three of the most common Windows compliance settings, Require BitLocker, Require Secure Boot to be enabled on the device and Require code integrity, don't read the device's state directly: they rely on a health attestation service in the cloud. Microsoft is moving that evaluation for Windows 11 from the Device Health Attestation (DHA) service to Microsoft Azure Attestation (MAA). If your firewall or proxy doesn't allow the new endpoints, those settings fail and Conditional Access does the rest. Here is what changes and how to get ahead of it.

How this guide is organised: What is changing → Who is affected → What breaks if you do nothing → What to do now → How to verify → TimelineFlow diagram of the article's sections in reading order: 1. What is changing. 2. Who is affected. 3. What breaks if you do nothing. 4. What to do now (5 steps: Find the policies that use the health settings; Look up your tenant location; Allow the endpoints and exclude them from TLS inspection; Test from a device; Pilot before the target date). 5. How to verify. 6. Timeline (milestone). Toolbox: Compliance › Policies, Devices › Compliance, has.spserv.microsoft.com, *.attest.azure.net, intunemaape1.eus.attest.azure.net.1What is changing2Who is affected3What breaks if you do nothing4What to do now5How to verify6Timeline1Find the policiesthat use the health…2Look up yourtenant location3Allow theendpoints and exc…4Test from a device5Pilot before thetarget dateTOOLBOXCompliance › PoliciesDevices › Compliancehas.spserv.microsoft.com*.attest.azure.netintunemaape1.eus.attest.azure.netHow this guide is organised: What is changing → Who is affected → What breaks if you do nothing → What to do now → How to verify → TimelineFlow diagram of the article's sections in reading order: 1. What is changing. 2. Who is affected. 3. What breaks if you do nothing. 4. What to do now (5 steps: Find the policies that use the health settings; Look up your tenant location; Allow the endpoints and exclude them from TLS inspection; Test from a device; Pilot before the target date). 5. How to verify. 6. Timeline (milestone). Toolbox: Compliance › Policies, Devices › Compliance, has.spserv.microsoft.com, *.attest.azure.net, intunemaape1.eus.attest.azure.net.1What is changing2Who is affected3What breaks if you do nothing4What to do now1Find the policies that use the health settings2Look up your tenant location3Allow the endpoints and exclude them from TLSinspection4Test from a device5Pilot before the target date5How to verify6TimelineTOOLBOXCompliance › PoliciesDevices › Compliancehas.spserv.microsoft.com*.attest.azure.netintunemaape1.eus.attest.azure.net
At a glance: how this guide is organised · 6 sections, from what is changing to the timeline

Status (October 2026): announced in the Message center on 16–17 September 2026 (MC1473156 and MC1473600) as a Plan for Change. The migration is an Intune service-side change that happens automatically, targeted for the end of Q1 2027, and affects Windows 11 devices with compliance policies that use the device health settings. Action is required: allow the Azure Attestation endpoints listed on Microsoft Learn. Check the Message center post again before and after the target date, because dates can move.

What is changing#

When a Windows compliance policy requires BitLocker, Secure Boot or code integrity, the device produces TPM-backed boot measurements and Intune has them validated by an attestation service; the result drives the compliance verdict. Today that service is DHA, reachable at has.spserv.microsoft.com. Microsoft Intune will migrate Windows Health Attestation compliance evaluation from DHA to Microsoft Azure Attestation. There is nothing to switch on in the admin center; the change happens on the service side.

The Intune network endpoints page already documents the new behaviour: with any device health setting enabled, Windows 11 devices use an MAA service chosen by the Intune tenant's location, while Windows 10 devices and GCC High/DoD environments continue to use the existing DHA endpoint and aren't affected.

Who is affected#

  • Windows 11 devices assigned a compliance policy that sets any of Require BitLocker, Require Secure Boot to be enabled on the device or Require code integrity to Require.
  • Organisations with restrictive outbound rules or TLS inspection, where *.attest.azure.net traffic isn't allowed today.
  • Not affected per Microsoft: Windows 10 devices, and tenants in GCC High and DoD, which stay on DHA.

Note that Require encryption of data storage on device under System security is a different check that doesn't use health attestation. Only the three Device Health settings are in scope.

What breaks if you do nothing#

Microsoft's wording is direct: if the required Azure Attestation endpoints aren't reachable, Windows 11 devices with assigned compliance policies using any of the device health settings will fall out of compliance after the migration completes. For most tenants that means Conditional Access blocks sign-in from those devices, and the per-setting view in the device's compliance report shows the three health settings as Not compliant. Nothing about the devices will have changed, which makes this one hard to recognise if you haven't read the announcement.

What to do now#

1. Find the policies that use the health settings#

In the admin center, open each Windows policy under Devices › Compliance › Policies and look at the Device Health section. With more than a handful of policies, let Microsoft Graph PowerShell do it:

PowerShell
Connect-MgGraph -Scopes 'DeviceManagementConfiguration.Read.All'
$uri = 'https://graph.microsoft.com/v1.0/deviceManagement/deviceCompliancePolicies'
$policies = (Invoke-MgGraphRequest -Method GET -Uri $uri).value
$policies |
    Where-Object { $_.'@odata.type' -eq '#microsoft.graph.windows10CompliancePolicy' } |
    Where-Object { $_.bitLockerEnabled -or $_.secureBootEnabled -or $_.codeIntegrityEnabled } |
    Select-Object displayName, bitLockerEnabled, secureBootEnabled, codeIntegrityEnabled

Check each policy's assignments so you know which device groups are exposed.

2. Look up your tenant location#

Go to Tenant administration › Tenant status › Tenant details and read Tenant location. The required endpoints depend on it.

3. Allow the endpoints and exclude them from TLS inspection#

Microsoft asks for outbound HTTPS on port 443 to the endpoints for your tenant location, with no SSL traffic inspection on them. The names below are copied from the Intune network endpoints page on Microsoft Learn; the Azure region code in each name (eus, cus, wus, scus, ncus, neu, weu, jpe) shows which tenant-location group it belongs to:

Tenant locationAzure Attestation endpoints (HTTPS 443)
North Americaintunemaape1.eus.attest.azure.net, intunemaape2.eus2.attest.azure.net, intunemaape3.cus.attest.azure.net, intunemaape4.wus.attest.azure.net, intunemaape5.scus.attest.azure.net, intunemaape6.ncus.attest.azure.net
Europeintunemaape7.neu.attest.azure.net, intunemaape8.neu.attest.azure.net, intunemaape9.neu.attest.azure.net, intunemaape10.weu.attest.azure.net, intunemaape11.weu.attest.azure.net, intunemaape12.weu.attest.azure.net
Asia Pacificintunemaape13.jpe.attest.azure.net, intunemaape17.jpe.attest.azure.net, intunemaape18.jpe.attest.azure.net, intunemaape19.jpe.attest.azure.net

Keep has.spserv.microsoft.com allowed as well: Windows 10 devices still need it, and the same Learn page says TLS inspection isn't supported for the DHA endpoints either.

Watch out: allowing a host on the firewall isn't enough if a proxy still terminates TLS for it. The attestation exchange needs an unbroken certificate chain to Microsoft. Add the hosts to the inspection bypass list, not only to the allow list.

4. Test from a device#

Run the test in the system context (for example through PsExec with -s), because the attestation client is a system component and uses the machine's proxy configuration rather than the signed-in user's:

PowerShell
$h = 'intunemaape7.neu.attest.azure.net'   # pick one for your tenant location
Test-NetConnection -ComputerName $h -Port 443 | Select-Object ComputerName, TcpTestSucceeded

$tcp = New-Object Net.Sockets.TcpClient($h, 443)
$cb  = [Net.Security.RemoteCertificateValidationCallback]{ $true }
$ssl = New-Object Net.Security.SslStream($tcp.GetStream(), $false, $cb)
$ssl.AuthenticateAsClient($h)
(New-Object Security.Cryptography.X509Certificates.X509Certificate2($ssl.RemoteCertificate)).Issuer

TcpTestSucceeded should be True, and the certificate issuer should be a Microsoft CA. If the issuer is your proxy's internal CA, the host is still being inspected.

5. Pilot before the target date#

Put the firewall change in place well before Q1 2027 ends, then watch a pilot group's compliance report for a few weeks. Because the health state is only measured at boot, restart pilot devices after the network change before you judge the result.

How to verify#

  • In Devices › Compliance, open a pilot device and confirm the three Device Health settings show Compliant after a restart and a sync.
  • The connectivity test above passes from the system context on every network path your devices use, including VPN and remote offices.
  • After the migration date, repeat the check on a sample of Windows 11 devices and watch the noncompliant-device count in Reports › Device compliance for an unexplained jump.

Timeline#

  • 16–17 September 2026: MC1473156 and MC1473600 published; Learn endpoints page documents the MAA endpoints.
  • Now until early 2027: inventory policies, change firewall and proxy rules, test and pilot.
  • End of Q1 2027 (target): Intune switches Windows 11 health attestation evaluation to Azure Attestation automatically.

References#

Written and checked against current Microsoft Learn documentation. Test changes with a pilot group before rolling them out to everyone, and if an admin center path has moved since, search for the setting name instead.

Spotted a mistake, or did this fix work differently for you? Email me or message me on LinkedIn — corrections are credited in the article.

OE
Written by

Omer Eltayeb

Independent Microsoft Intune consultant in Cairo, Egypt, former Microsoft Cloud Solutions Architect, Microsoft Certified Trainer and Microsoft Innovative Educator Expert (2024–26) and Microsoft Elevate Educator Expert (2026–27). I share practical, step-by-step guides, study plans, scripts and toolkits for Microsoft Intune, Microsoft Entra ID, Microsoft Defender and Exchange Online with the community.

Microsoft Certified Trainer (MCT) 2026Microsoft Innovative Educator Expert 2025–2026Microsoft Elevate Educator Expert 2026–2027ISC2 Certified Information Systems Security Professional (CISSP)Microsoft 365 Certified: Enterprise Administrator Expert (MS-102)