Kritical.UTCM.psd1
|
@{ RootModule = 'Kritical.UTCM.psm1' ModuleVersion = '0.1.0' GUID = 'a8d3f2e1-7c5b-4d9a-8e6f-1b2c3d4e5f60' Author = 'Joshua Finley' CompanyName = 'Kritical Pty Ltd' Copyright = '(c) 2026 Kritical Pty Ltd. All rights reserved.' Description = 'Kritical Tenant Configuration Management (UTCM) toolkit for Microsoft Graph. Wraps the official Microsoft UTCM APIs (Defender / Entra / Exchange / Intune / Purview / Teams) introduced public-preview 2026-01-27 as the declarative-config successor to Microsoft365DSC. Provides: UTCM service-principal provisioning (AppId 03b07b79-c5bc-4b5e-9bfa-13acf4a99998 + companion M365 Admin Services 6b91db1b-f05b-405a-a0b2-e3f60b28d645), permission-grant orchestration, configuration snapshot + drift-monitor APIs, M365DSC-to-TCM migration helpers. NO hardcoded tenant / user / domain values — every input is parameterised with operator-overridable defaults. Sister of Krit.OpenApi (code-gen) + Kritical.PS.OmniFramework (foundation). Embedded by Kritical Lens via subcommand. Per-consumer publishables: Kritical.Chokidar.UTCM / Kritical.Customer.<X>.UTCM.' PowerShellVersion = '5.1' CompatiblePSEditions = @('Desktop','Core') FunctionsToExport = @( 'Initialize-KriticalUtcmTenant' 'Initialize-KriticalUtcmServicePrincipal' 'Grant-KriticalUtcmGraphPermission' 'Get-KriticalUtcmServicePrincipalState' 'Connect-KriticalUtcm' 'New-KriticalUtcmSnapshot' 'Get-KriticalUtcmSnapshot' 'Export-KriticalUtcmSnapshotToFile' 'New-KriticalUtcmMonitor' 'Get-KriticalUtcmMonitor' 'Get-KriticalUtcmDriftReport' 'Invoke-KriticalUtcmFromM365DscMigration' 'Write-KriticalUtcmBanner' 'Get-KriticalUtcmBanner' ) CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @() PrivateData = @{ PSData = @{ Tags = @('Microsoft365','Graph','UTCM','TenantConfig','M365DSC','UTCM','PowerShell','Kritical','Chokidar','Compliance') LicenseUri = 'https://kritical.net/legal/license' ProjectUri = 'https://kritical.net' IconUri = 'https://kritical.net/assets/horizontal_logo.png' ReleaseNotes = @' 0.1.0 — Initial scaffold (wave .1509 2026-07-01). * Module skeleton + standard Public/Private/Assets/docs/tests layout. * 14 Public functions covering: tenant SP provisioning, permission grants, Graph connect with UTCM-aware scope expansion, snapshot lifecycle, monitor lifecycle, drift reporting, M365DSC->UTCM migration helper, brand banner. * Idempotent SP provisioning via Get-MgServicePrincipal probe before create. * Sanitised defaults — TenantId resolves from Get-MgContext, never hardcoded. * Joshua Finley, Kritical Pty Ltd. '@ ExternalModuleDependencies = @( 'Kritical.PS.OmniFramework' 'Microsoft.Graph.Authentication' 'Microsoft.Graph.Applications' ) } Kritical = @{ UtcmServicePrincipalAppId = '03b07b79-c5bc-4b5e-9bfa-13acf4a99998' M365AdminServicesAppId = '6b91db1b-f05b-405a-a0b2-e3f60b28d645' MsGraphAppId = '00000003-0000-0000-c000-000000000000' CanonicalBrandBannerPaths = @( 'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Kritical-Branding\public\KriticalLogo.txt' 'C:\Users\joshl\OneDrive - Kritical Pty Ltd\Github-SecretsOutsideOfGitRepos\KriticalLogo.txt' ) BundledBrandBannerRelPath = 'Assets/kritical-logo.txt' UtcmDocsOverview = 'https://learn.microsoft.com/en-us/graph/unified-tenant-configuration-management-concept-overview' UtcmDocsAuthSetup = 'https://learn.microsoft.com/en-us/graph/utcm-authentication-setup' UtcmDocsApiReference = 'https://learn.microsoft.com/en-us/graph/api/resources/unified-tenant-configuration-management-api-overview' M365DscTransitionUrl = 'https://microsoft365dsc.com/blog/2026/utcm-transition/utcm-transition/index.html' M365DscToUtcmConverter = 'https://github.com/Microsoft/M365DSC-to-TCM/' CompanionLensBridgeRepo = 'KRTPax8ToShopifyConnector' CompanionLensBridgePath = 'scripts/tools/Lens-Tcm-Bridge-1509.mjs' } } } |