Windows Autopilot

More help with Windows Autopilot diagnostics

I’ve talked about the Get-AutopilotESPStatus.ps1 script a few times in previous blogs (like this one).  Well, here’s another one.  First, I added some additional diagnostics information at the top of the output:


This will tell you some basic information about the device (e.g. the tenant details, the Intune device ID, the Autopilot settings being used), and then the typical ESP information like previous versions did.  (See this blog post for more about decoding the OobeConfig value.)

The next addition is the ability to display information captured into a Windows Autopilot diagnostics CAB file.  If you’ve ever opened a support case or provided logs to us in any other way (I’ve gotten quite a few over the past two years), you’ll know that normal request is to run this command:

MDMDiagnosticsTool.exe -area Autopilot -cab c:\

And then send off the resulting CAB.  Now, you can take that CAB file and run the same script against the CAB file and it will display (most of) the same information from it:


It does this by some registry manipulation (extracting the details from the CAB file, loading them into a temporary location in HKCU), reporting in the same way as if you ran the script on a live system.  (I think I did that as much for me as for you, tired of searching through the .REG files to see what happened, needed a tool to tell me.)

There are a couple of pieces of information that aren’t in the CAB file, but you’d have to try really hard to figure out what those are.

There’s also one additional line of output that you don’t see in my examples above:  If you are on a device that was Hybrid Azure AD Joined (or using a CAB captured from a Hybrid Azure AD Joined device), you’ll see an indicator to tell you that the device has already received an offline domain join (ODJ) blob:


Since that is one of the first things that needs to be figured out when a Hybrid AAD join scenario fails (e.g. with an 80070774 error that says the domain couldn’t be contacted), it was useful to indicate whether or not that happened.

Categories: Windows Autopilot

3 replies »

  1. This is really useful and appreciated, Michael! Looks like you have done all the heavy-lifting already….so I really hope these type of troubleshooting capabilities will be baked into the OOBE and the Endpoint portal very soon!