How to structure a new Microsoft Intune environment
Intune environments usually become difficult to manage through accumulated naming, targeting, and documentation decisions. This guide provides a practical starting structure that can be adapted to the size and needs of your organisation.
By Simon Hoque
- Publication date
- 10 August 2026
- Last updated
- Updated 10 August 2026
- Estimated reading time
- 9 min read
Start with the group model
Intune uses Microsoft Entra groups and the built-in All users and All devices virtual groups for most assignments. Decide early when a group is genuinely needed and when an assignment filter is the simpler choice for properties such as operating system, manufacturer, or ownership.
- Use the built-in All users and All devices groups for broad targeting instead of recreating them as dynamic groups.
- Use assignment filters for supported device properties when the targeting is only needed by Intune.
- User groups for licensing, app entitlement, and Autopilot user-driven scenarios.
- Keep pilot and exception groups intentional, documented, and as simple as possible.
A naming convention you can read at 2 a.m.
Names should say what the object is, what it targets, and which ring it belongs to. Avoid abbreviations that only make sense to the person who created the object.
| Object | Pattern | Example |
|---|---|---|
| Configuration profile | WIN-CFG-<area>-<ring> | WIN-CFG-BitLocker-Pilot |
| Compliance policy | WIN-CMP-<area>-<ring> | WIN-CMP-Baseline-Prod |
| Device group | GRP-DEV-WIN-<ring> | GRP-DEV-WIN-Pilot |
| Exclusion group | GRP-EXC-<policy> | GRP-EXC-BitLocker |
Deployment rings
Three rings are usually enough: a small pilot for the IT team, a broader early adopter ring, and production. The important part is that every assignment explicitly names its ring, so nothing lands everywhere by accident.
# Illustrative example - review before running in any tenantConnect-MgGraph -Scopes "DeviceManagementConfiguration.Read.All" $profiles = Get-MgDeviceManagementDeviceConfiguration -All$profiles | Select-Object DisplayName, Id, LastModifiedDateTime | Sort-Object DisplayNameDocumentation that survives
A short README in a repository beats a long document nobody opens. Record the purpose of each policy family, who owns it, and the intended ring progression.
Microsoft documentation
Found an error or have a better approach? Report it or suggest an improvement
Related articles
Troubleshooting Win32 app deployments
A repeatable order of investigation for Win32 apps that report failure, stay stuck at pending, or install without appearing installed.
- Publication date
- 10 August 2026
- Last updated
- Updated 10 August 2026
- Estimated reading time
- 7 min read
Getting started with Microsoft Graph for Intune
How to authenticate, choose the smallest useful permission scope, and read your first device data from Microsoft Graph with PowerShell.
- Publication date
- 10 August 2026
- Last updated
- Updated 10 August 2026
- Estimated reading time
- 8 min read