UTCM.Tools
1.2.0
Unified Tenant Configuration Management (UTCM) tooling for Microsoft 365: create and retrieve configuration snapshots, compare snapshots to current tenant state, detect drift via server-side monitors, and export/report results as JSON, CSV, and HTML via the Microsoft Graph beta UTCM APIs.
Minimum PowerShell version
7.0
Installation Options
Owners
Copyright
(c) 2026 Tadd Axon. All rights reserved.
Package Details
Author(s)
- Tadd Axon
Tags
UTCM Microsoft365 M365 Graph GraphAPI Drift Snapshot TenantConfig ConfigurationMonitoring Entra Exchange Intune Teams SecurityAndCompliance Windows Linux MacOS
Functions
Enable-UTCM Grant-UTCMWorkloadAccess Initialize-UTCM Test-UTCMSetup Get-UTCMAvailableSnapshot New-UTCMSnapshot Get-UTCMSnapshot Remove-UTCMSnapshot Compare-UTCMConfiguration Export-UTCMSnapshot New-UTCMDriftReport Get-UTCMTenantDriftReport Get-UTCMPreset Get-UTCMDrift New-UTCMMonitor Get-UTCMMonitor Get-UTCMMonitoringResult
PSEditions
Dependencies
-
- Microsoft.Graph.Authentication (>= 2.0.0)
Release Notes
1.2.0
- Added server-side drift monitoring: New-UTCMMonitor, Get-UTCMMonitor, Get-UTCMMonitoringResult, Get-UTCMDrift.
- Get-UTCMSnapshot -IncludeItems normalizes both `configurationItems` and `resources`/`properties` payloads to a consistent id/displayName/type/data shape; original artifact exposed as `rawConfiguration`.
- Export-UTCMSnapshot CSV/HTML now include full per-resource configuration JSON (matches JSON export fidelity).
- New-UTCMDriftReport: full-fidelity expandable per-row details; CSV `NormalizedData` carries full normalized payload.
- Added `ConfigurationMonitoring.Read.All` least-privilege scope for read-only cmdlets.
- Hardened idempotency when assigning Entra directory roles (handles "already exists" 400).
- Test-UTCMSetup resilient to Microsoft.Graph SDK object-shape differences.
FileList
- UTCM.Tools.nuspec
- Presets\resource-presets.json
- Presets\supported-resource-types.json
- Private\ConvertTo-NormalizedJson.ps1
- Private\Ensure-GraphConnection.ps1
- Private\Get-UTCMCurrentStateSnapshot.ps1
- Private\HtmlEncode.ps1
- Private\Invoke-GraphRequestWithRetry.ps1
- Private\Presets.ps1
- Private\Resolve-OutputPath.ps1
- Private\Validate-Guid.ps1
- Private\Write-Log.ps1
- Public\Compare-UTCMConfiguration.ps1
- Public\Enable-UTCM.ps1
- Public\Export-UTCMSnapshot.ps1
- Public\Get-UTCMAvailableSnapshot.ps1
- Public\Get-UTCMDrift.ps1
- Public\Get-UTCMMonitor.ps1
- Public\Get-UTCMMonitoringResult.ps1
- Public\Get-UTCMPreset.ps1
- Public\Get-UTCMSnapshot.ps1
- Public\Get-UTCMTenantDriftReport.ps1
- Public\Grant-UTCMWorkloadAccess.ps1
- Public\Initialize-UTCM.ps1
- Public\New-UTCMDriftReport.ps1
- Public\New-UTCMMonitor.ps1
- Public\New-UTCMSnapshot.ps1
- Public\Remove-UTCMSnapshot.ps1
- Public\Test-UTCMSetup.ps1
- UTCM.Tools.psd1
- UTCM.Tools.psm1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.2.0 (current version) | 4 | 4/22/2026 |