Summary
Two related Microsoft Graph Beta API deprecations affect this project's endpoint security policy retrieval. The project already handles these gracefully (querying configurationPolicies first with deduplication), but the deprecated API calls should be planned for removal.
1. deviceManagement/intents and deviceManagement/templates — Deprecated (MC955748)
Effective: Late March 2025 (over 1 year ago)
Per MC955748, the following Beta APIs no longer support creation/management of Windows endpoint security policies:
deviceManagement/templates
deviceManagement/intents
The replacement is deviceManagement/configurationPolicies. Security baselines are exempted and still use intents.
Current project status: The project already queries configurationPolicies as the primary source for each endpoint security category (Antivirus, Disk Encryption, Firewall, EDR, ASR, Account Protection), then falls back to intents with ID-based deduplication. This is correct transitional behavior. However, the intents fallback is now redundant for endpoint security policies since Microsoft has been auto-migrating them for over a year, and these beta APIs could be fully removed at any time.
Affected files (intents fallback queries)
Each of these files queries deviceManagement/intents as a secondary source for 6 endpoint security categories:
| File |
Example lines |
Public/Get-IntuneUserAssignment.ps1 |
338, 393, 448, 503, 558, 613 |
Public/Get-IntuneDeviceAssignment.ps1 |
420, 473, 526, 579, 632, 685 |
Public/Get-IntuneAllUsersAssignment.ps1 |
196, 235, 274, 313, 352, 391 |
Public/Get-IntuneAllDevicesAssignment.ps1 |
217, 254, 291, 328, 365, 402 |
Public/Get-IntuneAllPolicies.ps1 |
335, 387, 439, 491, 543, 595 |
Public/Get-IntuneUnassignedPolicy.ps1 |
116, 130, 144, 158, 172, 186 |
Public/Compare-IntuneGroupAssignment.ps1 |
348, 364, 380, 396, 412, 428 |
Public/Test-IntuneGroupMembership.ps1 |
416, 470, 524, 578, 632, 686 |
Public/Test-IntuneGroupRemoval.ps1 |
417, 471, 525, 579, 633, 687 |
Public/Search-IntunePolicy.ps1 |
325, 365 |
Public/Get-IntuneGroupAssignment.ps1 |
258, 267 |
html-export.ps1 |
866, 873 |
Affected supporting files
| File |
Usage |
Private/Get-IntentTemplateFamilyLookup.ps1 |
Fetches deviceManagement/templates (line 8) to map templateId → templateFamily for intent enrichment |
Private/Add-IntentTemplateFamilyInfo.ps1 |
Enriches intent policies with template family info |
Private/Get-IntuneEntities.ps1 |
Special-case routing for deviceManagement/intents and deviceManagement/templates (line 17) |
Suggested approach
- Verify completeness: Confirm that
configurationPolicies now returns all endpoint security policies (including those originally created as intents). This can be checked by comparing results from both APIs in a test tenant.
- Remove intents fallback: Once confirmed, remove the
deviceManagement/intents fallback queries for endpoint security categories. This eliminates ~72 unnecessary API calls across the module.
- Clean up supporting code: Remove
Get-IntentTemplateFamilyLookup, Add-IntentTemplateFamilyInfo, and the special-case routing in Get-IntuneEntities if no longer needed.
- Consider keeping intents for security baselines only if the project plans to add security baseline support in the future.
2. deviceManagement/deviceConfigurations — Active Migration to Unified Settings Platform
Started: July 2025
Per the Intune Customer Success blog, Windows device configuration profiles are being auto-migrated from deviceConfigurations to configurationPolicies with new PolicyIDs. The deviceConfigurations API continues to work but will return progressively fewer results as migration proceeds.
The project already queries both deviceConfigurations and configurationPolicies as separate categories, so migrated policies will appear under Settings Catalog. No immediate action required, but monitor whether deviceConfigurations returns empty results in test tenants — at that point the queries can be removed.
Affected files (deviceConfigurations queries)
These files query deviceConfigurations via Get-IntuneEntities:
Public/Get-IntuneUserAssignment.ps1 (line 112)
Public/Get-IntuneDeviceAssignment.ps1 (line 160)
Public/Get-IntuneAllUsersAssignment.ps1 (line 41)
Public/Get-IntuneAllDevicesAssignment.ps1 (line 41)
Public/Get-IntuneAllPolicies.ps1 (line 72)
Public/Get-IntuneUnassignedPolicy.ps1 (line 31)
Public/Compare-IntuneGroupAssignment.ps1 (line 169)
Public/Get-IntuneGroupAssignment.ps1 (line 140)
Public/Get-IntuneEmptyGroup.ps1 (line 51)
Public/Search-IntunePolicy.ps1 (line 111)
Public/Test-IntuneGroupMembership.ps1 (line 170)
Public/Test-IntuneGroupRemoval.ps1 (line 171)
Private/Get-AssignmentFailures.ps1 (line 80)
html-export.ps1 (line 625)
What's already handled
For reference, the following API changes have already been addressed in v4.0.0:
- ✅
groupPolicyConfigurations (Administrative Templates) — removed
- ✅
DeviceManagementScripts.Read.All permission — added (MC1107490, enforced July 31, 2025)
- ✅ Dynamic
$GraphEndpoint — hardcoded URLs replaced
References
Summary
Two related Microsoft Graph Beta API deprecations affect this project's endpoint security policy retrieval. The project already handles these gracefully (querying
configurationPoliciesfirst with deduplication), but the deprecated API calls should be planned for removal.1.
deviceManagement/intentsanddeviceManagement/templates— Deprecated (MC955748)Effective: Late March 2025 (over 1 year ago)
Per MC955748, the following Beta APIs no longer support creation/management of Windows endpoint security policies:
deviceManagement/templatesdeviceManagement/intentsThe replacement is
deviceManagement/configurationPolicies. Security baselines are exempted and still useintents.Current project status: The project already queries
configurationPoliciesas the primary source for each endpoint security category (Antivirus, Disk Encryption, Firewall, EDR, ASR, Account Protection), then falls back tointentswith ID-based deduplication. This is correct transitional behavior. However, theintentsfallback is now redundant for endpoint security policies since Microsoft has been auto-migrating them for over a year, and these beta APIs could be fully removed at any time.Affected files (intents fallback queries)
Each of these files queries
deviceManagement/intentsas a secondary source for 6 endpoint security categories:Public/Get-IntuneUserAssignment.ps1Public/Get-IntuneDeviceAssignment.ps1Public/Get-IntuneAllUsersAssignment.ps1Public/Get-IntuneAllDevicesAssignment.ps1Public/Get-IntuneAllPolicies.ps1Public/Get-IntuneUnassignedPolicy.ps1Public/Compare-IntuneGroupAssignment.ps1Public/Test-IntuneGroupMembership.ps1Public/Test-IntuneGroupRemoval.ps1Public/Search-IntunePolicy.ps1Public/Get-IntuneGroupAssignment.ps1html-export.ps1Affected supporting files
Private/Get-IntentTemplateFamilyLookup.ps1deviceManagement/templates(line 8) to map templateId → templateFamily for intent enrichmentPrivate/Add-IntentTemplateFamilyInfo.ps1Private/Get-IntuneEntities.ps1deviceManagement/intentsanddeviceManagement/templates(line 17)Suggested approach
configurationPoliciesnow returns all endpoint security policies (including those originally created as intents). This can be checked by comparing results from both APIs in a test tenant.deviceManagement/intentsfallback queries for endpoint security categories. This eliminates ~72 unnecessary API calls across the module.Get-IntentTemplateFamilyLookup,Add-IntentTemplateFamilyInfo, and the special-case routing inGet-IntuneEntitiesif no longer needed.2.
deviceManagement/deviceConfigurations— Active Migration to Unified Settings PlatformStarted: July 2025
Per the Intune Customer Success blog, Windows device configuration profiles are being auto-migrated from
deviceConfigurationstoconfigurationPolicieswith new PolicyIDs. ThedeviceConfigurationsAPI continues to work but will return progressively fewer results as migration proceeds.The project already queries both
deviceConfigurationsandconfigurationPoliciesas separate categories, so migrated policies will appear under Settings Catalog. No immediate action required, but monitor whetherdeviceConfigurationsreturns empty results in test tenants — at that point the queries can be removed.Affected files (deviceConfigurations queries)
These files query
deviceConfigurationsviaGet-IntuneEntities:Public/Get-IntuneUserAssignment.ps1(line 112)Public/Get-IntuneDeviceAssignment.ps1(line 160)Public/Get-IntuneAllUsersAssignment.ps1(line 41)Public/Get-IntuneAllDevicesAssignment.ps1(line 41)Public/Get-IntuneAllPolicies.ps1(line 72)Public/Get-IntuneUnassignedPolicy.ps1(line 31)Public/Compare-IntuneGroupAssignment.ps1(line 169)Public/Get-IntuneGroupAssignment.ps1(line 140)Public/Get-IntuneEmptyGroup.ps1(line 51)Public/Search-IntunePolicy.ps1(line 111)Public/Test-IntuneGroupMembership.ps1(line 170)Public/Test-IntuneGroupRemoval.ps1(line 171)Private/Get-AssignmentFailures.ps1(line 80)html-export.ps1(line 625)What's already handled
For reference, the following API changes have already been addressed in v4.0.0:
groupPolicyConfigurations(Administrative Templates) — removedDeviceManagementScripts.Read.Allpermission — added (MC1107490, enforced July 31, 2025)$GraphEndpoint— hardcoded URLs replacedReferences