- Add Deploy-IntuneBaseline.ps1 for YAML-driven policy + assignment deployment - Add ConvertTo-IntuneBaseline.ps1 to convert export folders to baseline manifests - Add example OpenIntuneBaseline YAML in Baselines/ - Supports mutations, group auto-creation, idempotency, and WhatIf mode
3.9 KiB
3.9 KiB
macOS Intune Toolkit Changelog
2026-04-13 — API Permissions Sync for Initialize-IntuneAuth.ps1
Modified
Scripts/Initialize-IntuneAuth.ps1- Unified the required Microsoft Graph application permissions into a single
$requiredRoleslist defined before app creation/reuse logic:DeviceManagementApps.ReadWrite.AllDeviceManagementConfiguration.ReadWrite.AllDeviceManagementManagedDevices.ReadWrite.AllDeviceManagementScripts.ReadWrite.AllDeviceManagementServiceConfig.ReadWrite.AllDeviceManagementRBAC.ReadWrite.AllGroup.ReadWrite.AllDirectory.Read.AllUser.Read.AllOrganization.Read.AllPolicy.ReadWrite.ConditionalAccessAgreement.ReadWrite.AllCloudPC.ReadWrite.AllApplication.Read.All
- Existing app patching: When reusing an existing app registration, the script now inspects its current
RequiredResourceAccess. If any required permissions are missing, it patches the app viaUpdate-MgApplication, refreshes the local app object, and the downstream admin-consent loop automatically grants consent for the newly added roles.
- Unified the required Microsoft Graph application permissions into a single
Prior delivered changes (context summary)
New scripts added
Scripts/Bulk-AppAssignment.ps1— bulk-assign apps to groups/All Users/All DevicesScripts/Bulk-AssignmentManager.ps1— add/remove assignments for any policy type using correct@odata.typeand bulk/assignendpointScripts/Backup-Restore-Assignments.ps1— JSON backup with cross-tenant group name resolutionScripts/Export-AssignmentsToCsv.ps1— CSV and Markdown documentation outputScripts/Bulk-RenamePolicies.ps1— search/replace, add/strip prefix across displayName/descriptionScripts/Bulk-DeviceOperations.ps1— delete/retire/wipe/lock/sync with-WhatIfsafeguardsScripts/Start-IntuneToolkit.ps1— unified reverse-numberedfzf-based launcherScripts/Initialize-IntuneAuth.ps1— one-time Entra app + secret + Keychain setup
Core / Extensions / Headless changes
Extensions/MSGraph.psm1Invoke-GraphRequestnow throws on 4xx/5xx HTTP errors (was silently returning null)- Added
-AllPagessupport toGet-GraphObjectsand toolkit queries for large tenants
Headless/IntuneManagement.Headless.psm1- Expanded
Get-DefaultIntunePolicyObjectTypesto ~45 types, includingDeviceManagementIntents - Threaded
NameSearchPattern/NameReplacePatternthrough export/import/action flows
- Expanded
- Settings Catalog fixes
- Uses
nameproperty instead ofdisplayNamefor queries/labels - Assignments use
#microsoft.graph.deviceManagementConfigurationPolicyAssignmentand the bulkPOST …/assignendpoint
- Uses
- TUI /
fzf- Spacebar toggle, Esc to go back, reverse numbering (10→1) in unified launcher
2026-04-13 — Declarative Baseline Deployer
Added
-
Scripts/Deploy-IntuneBaseline.ps1- YAML-driven one-click deployment of Intune policies + assignments to new tenants.
- Supports global and per-policy name mutations (
search/replaceorprefix). - Auto-creates cloud-only security groups if missing.
- Idempotent imports with configurable conflict resolution (
Skip,Update,Error). - Full
-WhatIfdry-run support. - Handles 20+ policy types including Settings Catalog (
nameproperty), EndpointSecurity (settings file companion upload), and Applications. - Integrates with existing auth stack (Settings.json / macOS Keychain).
-
Scripts/ConvertTo-IntuneBaseline.ps1- Converts an existing toolkit export folder into a baseline YAML skeleton.
- Maps folder names to baseline types, extracts display names, and generates empty assignment blocks.
-
Baselines/OpenIntuneBaseline.example.yaml- Example manifest demonstrating groups, mutations, policies, and assignments.
Dependencies
powershell-yamlmodule (auto-install prompt if missing).