This script uses WMI to retrieve properties needed for a customer to register a device with Windows Autopilot.  Note that it is normal for the resulting CSV file to not collect a Windows Product ID (PKID) value since this is not required to register a device.  Only the serial number and hardware hash will be populated.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Script -Name Get-WindowsAutoPilotInfo -RequiredVersion 3.5

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Package Details


  • Michael Niehaus


Windows AutoPilot


This script has no dependencies.

Release Notes

Version 1.0:  Original published version.
Version 1.1:  Added -Append switch.
Version 1.2:  Added -Credential switch.
Version 1.3:  Added -Partner switch.
Version 1.4:  Switched from Get-WMIObject to Get-CimInstance.
Version 1.5:  Added -GroupTag parameter.
Version 1.6:  Bumped version number (no other change).
Version 2.0:  Added -Online parameter.
Version 2.1:  Bug fix.
Version 2.3:  Updated comments.
Version 2.4:  Updated "online" import logic to wait for the device to sync, added new parameter.
Version 2.5:  Added AssignedUser for Intune importing, and AssignedComputerName for online Intune importing.
Version 2.6:  Added support for app-based authentication via Connect-MSGraphApp.
Version 2.7:  Added new Reboot option for use with -Online -Assign.
Version 2.8:  Fixed up parameter sets.
Version 2.9:  Fixed typo installing AzureAD module.
Version 3.0:  Fixed typo for app-based auth, added logic to explicitly install NuGet (silently).
Version 3.2:  Fixed logic to explicitly install NuGet (silently).
Version 3.3:  Added more logging and error handling for group membership.
Version 3.4:  Added logic to verify that devices were added successfully.  Fixed a bug that could cause all Autopilot devices to be added to the specified AAD group.
Version 3.5:  Added logic to display the serial number of the gathered device.


Version History

Version Downloads Last updated
3.9 34,233,494 7/6/2023
3.8 2,369,060 6/12/2023
3.7 7,169 6/12/2023
3.6 210,827 6/10/2023
3.5 (current version) 46,544,606 9/21/2020
3.4 53,268 9/8/2020
3.3 274,151 7/27/2020
3.1 7,136 7/26/2020
3.0 7,528 7/23/2020
2.9 424 7/23/2020
2.7 14,238 7/21/2020
2.6 6,034 7/19/2020
2.5 26,006 7/14/2020
2.4 5,161 7/13/2020
2.3 282,016 5/16/2020
Show more