Field notes for Microsoft administrators

Technical resources built around the work.

These independently written guides focus on the fragile handoffs between device identity, hardware-hash collection, CSV cleanup, Intune enrollment, Autopilot registration, and Microsoft Graph. They are for technicians and administrators who need a useful next step—not a glossary page.

Autopilot workflow series

Start with the failure point in front of you.

Collect

Collect a reliable Autopilot hardware hash

Choose the right registration path, preserve device-to-record provenance, and validate the collection handoff before it joins a batch.

Prepare

Validate an Autopilot CSV before import

Check the exact header, encoding, row shape, hardware hash, group tag, and assigned-user values before the portal has a chance to reject the file.

Recover

Handle duplicate or tenant-bound devices

Separate a duplicate row from an existing Autopilot registration or a device that is still assigned to another tenant.

Upload

Troubleshoot Microsoft Graph Autopilot imports

Work from authentication and permission checks through payload validation, import-state polling, throttling, and tenant conflicts.

Identity, enrollment, and authorization

Build the answer from the right evidence.

These guides separate objects and phases that are easy to collapse into one vague “device problem.”

Identity

Troubleshoot Microsoft Entra device join state

Correlate local join evidence with the exact Entra object, then keep Intune and Autopilot records distinct.

Enrollment

Collect an Intune enrollment evidence pack

Work through eligibility, scope, identity, MDM events, ESP, and management-extension logs in a useful order.

Authorization

Choose Microsoft Graph device permissions

Map the exact endpoint and operation to the narrowest supported delegated or application permission.

Related software

Use the guide manually—or tighten the workflow.

HashPilot workflow

Standardize the field collection handoff so technicians return a predictable device record instead of an improvised CSV.

See how HashPilot fits →