Skip to main content

Free downloads

Operator templates

Starter files for jobs that fail in the portal when the CSV is wrong. They are not production automation, a paid store, or a Microsoft download. Replace every REPLACE- value, redact serial numbers and hashes before you share a filled copy, and test the import or script in a lab tenant first.

Prepared by Jack Hadcroft for AdminSignal. Independent operator notes.

Verification: the downloadable files are checked for delivery and CSV structure. Their placeholder rows have not been imported into a tenant. A CSV reader is enough to edit the register; Autopilot upload requires an Intune role with the relevant enrollment-program permissions. Preserve the original file and validate one approved device before a batch. An incorrect registration needs the identity checks in the linked guide, rather than an automatic delete-and-reimport. See our terms of use.

Treat these as blanks, not samples of a live estate

The Autopilot row uses a placeholder serial and a placeholder hash token, not a captured hardware hash. The Graph row keeps the article example script name and inventory status only. Do not invent tenant IDs, object IDs, or real hashes to complete the file.

How to use these starter files

Both files are headers plus one labelled placeholder row. Use them when the Intune Autopilot import rejects a CSV, or when an AzureAD/MSOnline rewrite still has no inventory of what each script touches. The linked articles hold the diagnostic steps; these downloads only give you a file that already has the right columns.

  • Download the CSV, then replace every REPLACE- value from the real device or script. Do not paste production serials, hashes, or UPNs back onto this page or into a ticket without redaction.
  • Keep the files as CSV. If a spreadsheet has already wrapped a hardware hash or changed the delimiter, collect a fresh Autopilot export or re-copy the Graph register rather than repairing the damaged cells.
  • Test in a lab tenant or against one approved object first. An Autopilot import of a one-row file, or a Graph rewrite that only reads, is the safe retry before a batch or a write action.
  • These templates do not register devices, grant Graph consent, or replace Microsoft Learn. If the portal still rejects the Autopilot row, use the hardware-hash article. If a legacy module command has no mapped Graph cmdlet yet, stay on inventory in the register and use the migration guide.

Autopilot hardware-hash CSV

Microsoft Autopilot bulk-import headers, with one clearly labelled placeholder row. Replace the serial and hardware hash from Get-WindowsAutopilotInfo. Leave Windows Product ID and Assigned User blank unless you have a real value.

Columns

Device Serial Number, Windows Product ID, Hardware Hash, Group Tag, Assigned User

  • Keep the header row exactly as shipped. A renamed column is a common reason the Intune import rejects the file.
  • Collect the hash from the device that will actually go through Autopilot. The starter row uses REPLACE-WITH-SERIAL and REPLACE-WITH-HASH-FROM-Get-WindowsAutopilotInfo, not a captured hash.
  • Leave Windows Product ID and Assigned User empty unless you have a real product ID or user principal name. The starter file already leaves those two cells blank.
  • Group Tag is optional. The example uses PILOT so a dynamic group rule that matches that tag can be tested. Change it only if your tenant rule expects a different value.
  • Open the CSV as data, not as a spreadsheet. Spreadsheet tools wrap the hardware hash, change delimiters, and add quotes that the portal then rejects.
  • Validate with Import-Csv before you upload, then import one device first. A one-row file is easier to reason about than a batch when the portal reports a rejected row.

Graph migration register CSV

Starter inventory columns for an AzureAD/MSOnline to Microsoft Graph PowerShell rewrite. One example row for UserReport.ps1 in inventory status. Replace owner, auth, data, write-action, and criticality before you treat it as a live register.

Columns

ScriptName, Owner, CurrentModule, AuthType, DataTouched, WriteActions, Criticality, Status, Notes

  • The example row is UserReport.ps1 from the migration article, with CurrentModule set to MSOnline and Status set to inventory. It is a blank to complete, not evidence from a live tenant.
  • Replace Owner, AuthType, DataTouched, WriteActions, Criticality, and Notes before you treat the file as a working register. Do not invent tenant IDs, object IDs, or production user names to fill the gaps.
  • Status is the migration stage, not a health score. The article uses inventory, mapped, built, tested, deployed, and retired. Leave a script at inventory until the Graph cmdlets and permissions are actually mapped.
  • Record write actions honestly. Session revocation, licence assignment, and group membership changes belong in WriteActions so the rewrite is not treated as a read-only report.
  • Do not treat this as a search-and-replace job. Classify the script, map the Graph command and least-privilege permission, rewrite the query, compare output in a lab, then change the production job.