Windows Autopilot is a solution designed that allows you to set up and pre-configure Windows devices for your environment using EntraID and Intune. The goal of Autopilot is to reduce the OS deployment complexity. If done correctly, a user logs to an out-of-box computer, logs on his computer with his EntraID user account, and applications and configurations get deployed. All that with minimum infrastructure requirements. If you are new to Autopilot, we have a post that describes every step you need to do to get started.

Autopilot has its flaws but it’s improving very fast. One of those flaws was that device importation was made from the Windows Store for Business or the Microsoft Partner Center. Those days are over since you can now import your device directly from Intune.

Intune Autopilot device import

  • Launch Intune
  • Select Device / Enroll Devices / Windows enrollment
  • In the Windows Autopilot Deployment Program pane, select Devices
  • Click on Import at the top

From there, you need to select a .CSV file. It’s not possible to import a single device manually.

As shown in the portal, the CSV file has some formatting requirements :

The header and line format must look like this:

  • <serialNumber>,<ProductID>,<hardwareHash>
  • Can have up to 500 rows in the file

This means that you need the Serial Number, Windows Product ID, Hardware Hash separated by a comma. You cannot have more than 500 rows/devices in the CSV.

To get this information for a specific machine, there are a couple of ways :

PowerShell – Intune Autopilot device import

There is a script that is already available in Windows to get this information. As long as that device is running a supported version of Windows. You can use this PowerShell script. The required fields will be populated in a CSV file, ready to import into Intune

From a Windows 10 1703+ computer

  • Start Windows PowerShell as an Administrator
  • Run the following command: Install-Script -Name Get-WindowsAutoPilotInfo
Microsoft Intune Autopilot device import
  • This action places the script into the folder C:\Program Files\WindowsPowerShell\Scripts
  • Run the script : Get-WindowsAutoPilotInfo -Outputfile C:\temp\SCD.csv
  • The script will output the result in the C:\temp\SCD.csv file
  • Open the CSV file, it should look like this :

SCCM / Configuration Manager

If the device is managed by SCCM, you can extract the SerialNumber, ProductID and hardwareHash from a built-in report. All you have to do is to Export the data from the report to a CSV file.

  • Go to the Monitoring / Reporting /Reports, / Hardware – General
  • Run the report, Windows Autopilot Device Information
Endpoint Manager Autopilot device import
  • Select the Export icon, and choose the CSV (comma-delimited) option
Endpoint Manager Autopilot device import
  • The extracted CSV file must be edited before importing since the file header is incorrect.

Import the file

Once your CSV file is ready, head back to the Intune Portal, select your CSV file and select Import at the bottom

  • You will receive an Import notification. It will take about 5-10 minutes
Endpoint Manager Autopilot device import
  • Device is imported
Endpoint Manager Autopilot device import

It will take a moment to show in your device list but will eventually appear. The device will also be visible from the Windows Store for Business portal. The device is now imported in Intune and ready for Autopilot deployment.

Comments (13)


06.21.2019 AT 03:07 AM
Thanks Benoit , it Helped


01.09.2019 AT 12:26 AM
I have found that when running this that no "Windows Product ID" is generated. i get the Hash and the Serial no issues though is there a change required to the script for this?


01.09.2019 AT 12:36 AM
update script with : >powershell "(Get-WmiObject -query ‘select * from SoftwareLicensingService’).OA3xOriginalProductKey" this gets OEM key

Nathan Hartley

09.26.2018 AT 03:29 PM
The "Order ID" is optional and arbitrary, as in, it can be anything. If added to the CSV, it is stored on the Azure AD object and can be used for filtering. For instance, to create a Dynamic Device Group... (device.devicePhysicalIds -any _ -eq "[OrderID]:SomeArbitraryValue") Here is Microsoft's explanation...


04.26.2018 AT 04:46 PM
Is the hardware hash going to be the same for all identical models? If I have to get the machine out of the box, run a powershell script and reset before I can do the automation, it seems such a waste of time...


01.23.2019 AT 12:55 PM
Hi Neil, Did you get any response on this as am in the same group with you.

Jason Smith

04.11.2018 AT 12:33 PM
Unfortunately this failed for me. I receive an 'Internal Error, ERROR CODE: 640 - StorageError' This was after the Importer identified 1 correctly formatted row. So I'm not sure what is going on there..


04.16.2018 AT 09:26 AM
I got the same error message. In my case, my account has custom permissions in Intune. The import worked when I ran it using the Intune Admin account. Not sure what permission is required to import Window devices though.

Michael Niehaus

04.06.2018 AT 06:05 PM
The need to modify the file was recently removed - Intune now uses the same format as the Microsoft Store for Business, so you can directly upload a CSV created by the Get-WindowsAutoPilotInfo script.

Benoit Lecours

04.09.2018 AT 08:36 AM
Thank you for your update Michael. I'll update the post.


03.27.2018 AT 08:15 AM
This is inaccurate. Simply running the script nd performing an import works. No need to modify file!

Dorus Rolvink

03.08.2018 AT 10:44 AM
Thanks a lot, this worked for me! Small question, what is the OrderID for, and does it need to increment?