TenantConverge
0.9.0-beta1
Prepares the consolidation of 1, 2 or 3 Microsoft 365 source tenants into 1 target tenant: a read-only assessment, a report, a planning workbook, and remediation scripts marked UNTESTED. A beta: it has never run on a real tenant.
Minimum PowerShell version
7.4
Installation Options
Owners
Copyright
Copyright 2026 The TenantConverge Authors. Licensed under Apache-2.0.
Package Details
Author(s)
- The TenantConverge Authors
Tags
Microsoft365 M365 Tenant TenantToTenant Migration Consolidation Assessment EntraID ExchangeOnline SharePoint Teams Windows
Functions
Get-TcReadiness Get-TcRemediation Initialize-TcAccess Invoke-TcAssessment Invoke-TcRemediation Invoke-TcRuleSet New-TcPlan New-TcProject New-TcReport New-TcWorkbook Remove-TcAccess Start-TenantConverge Test-TcPrerequisite Test-TcProject Undo-TcRemediation
PSEditions
Dependencies
This module has no dependencies.
Release Notes
First public version, a beta. Nothing in it has ever run against a real tenant, and each remediation script is marked UNTESTED. See CHANGELOG.md in the project.
FileList
- TenantConverge.nuspec
- Data\procedures.json
- Data\products.json
- Data\project.schema.json
- Data\remediations.json
- Data\rules.json
- Data\tables.json
- Data\tasks.json
- LICENSE
- NOTICE
- Private\Access\Assert-TcInteractiveAllowed.ps1
- Private\Access\Clear-TcConnectionState.ps1
- Private\Access\Connect-TcService.ps1
- Private\Access\Connect-TcTenant.ps1
- Private\Access\Disconnect-TcService.ps1
- Private\Access\Get-TcAccessPath.ps1
- Private\Access\Get-TcApplicationAuth.ps1
- Private\Access\Get-TcApplicationPermission.ps1
- Private\Access\Get-TcGraphList.ps1
- Private\Access\Get-TcGraphObject.ps1
- Private\Access\Get-TcGraphScope.ps1
- Private\Access\Get-TcRetryDelay.ps1
- Private\Access\Get-TcTenantId.ps1
- Private\Access\Get-TcUsageReport.ps1
- Private\Access\Initialize-TcSession.ps1
- Private\Access\Invoke-TcGraphRead.ps1
- Private\Access\Read-TcAccessFile.ps1
- Private\Access\Resolve-TcProjectTenant.ps1
- Private\Access\Resolve-TcTenantId.ps1
- Private\Access\Test-TcApplicationGrant.ps1
- Private\Access\Test-TcApplicationReady.ps1
- Private\Access\Test-TcTenantAccess.ps1
- Private\Access\Write-TcAccessEntry.ps1
- Private\Collect\Add-TcCollectorLimit.ps1
- Private\Collect\Add-TcCollectorNote.ps1
- Private\Collect\Add-TcCollectorWarning.ps1
- Private\Collect\Add-TcTable.ps1
- Private\Collect\ConvertTo-TcGigabyte.ps1
- Private\Collect\ConvertTo-TcSettingRow.ps1
- Private\Collect\Export-TcTableCsv.ps1
- Private\Collect\Find-TcInterruptedRun.ps1
- Private\Collect\Format-TcValue.ps1
- Private\Collect\Get-TcAzureCollector.ps1
- Private\Collect\Get-TcBlockedRequirement.ps1
- Private\Collect\Get-TcByteSize.ps1
- Private\Collect\Get-TcCollectionSetting.ps1
- Private\Collect\Get-TcCollectionSnapshot.ps1
- Private\Collect\Get-TcCollector.ps1
- Private\Collect\Get-TcDaysSince.ps1
- Private\Collect\Get-TcDnsCollector.ps1
- Private\Collect\Get-TcEntraIdCollector.ps1
- Private\Collect\Get-TcErrorClass.ps1
- Private\Collect\Get-TcExchangeCollector.ps1
- Private\Collect\Get-TcIntuneCollector.ps1
- Private\Collect\Get-TcODataName.ps1
- Private\Collect\Get-TcOtherServiceCollector.ps1
- Private\Collect\Get-TcPowerPlatformCollector.ps1
- Private\Collect\Get-TcPurviewCollector.ps1
- Private\Collect\Get-TcRemedy.ps1
- Private\Collect\Get-TcSafeProperty.ps1
- Private\Collect\Get-TcServiceInfo.ps1
- Private\Collect\Get-TcSharePointCollector.ps1
- Private\Collect\Get-TcTable.ps1
- Private\Collect\Get-TcTeamsCollector.ps1
- Private\Collect\Get-TcTeamsPhoneCollector.ps1
- Private\Collect\Import-TcPartialSnapshot.ps1
- Private\Collect\Initialize-TcCollection.ps1
- Private\Collect\Invoke-TcCollection.ps1
- Private\Collect\Invoke-TcCollector.ps1
- Private\Collect\Invoke-TcCollectorPart.ps1
- Private\Collect\Invoke-TcIsolatedCollector.ps1
- Private\Collect\Invoke-TcIsolatedProcess.ps1
- Private\Collect\Invoke-TcIsolatedWorker.ps1
- Private\Collect\Limit-TcCollectorRow.ps1
- Private\Collect\Limit-TcText.ps1
- Private\Collect\Resolve-TcDnsRecord.ps1
- Private\Collect\Restore-TcResumedTenant.ps1
- Private\Collect\Save-TcPartialSnapshot.ps1
- Private\Collect\Select-TcCollectionTenant.ps1
- Private\Collect\Test-TcServiceModule.ps1
- Private\Collect\Write-TcIsolatedResult.ps1
- Private\Core\ConvertTo-TcCsvCell.ps1
- Private\Core\ConvertTo-TcHashtable.ps1
- Private\Core\Get-TcAddressDomain.ps1
- Private\Core\Get-TcAddressPrefix.ps1
- Private\Core\Get-TcErrorText.ps1
- Private\Core\Get-TcProperty.ps1
- Private\Core\Initialize-TcLog.ps1
- Private\Core\Protect-TcSecret.ps1
- Private\Core\Read-TcJsonFile.ps1
- Private\Core\Read-TcSharedText.ps1
- Private\Core\Write-TcJsonFile.ps1
- Private\Core\Write-TcLog.ps1
- Private\Core\Write-TcPhase.ps1
- Private\Core\Write-TcStepEnd.ps1
- Private\Core\Write-TcStepLine.ps1
- Private\Core\Write-TcStepStart.ps1
- Private\Matrix\ConvertTo-TcIdentityMatrix.ps1
- Private\Matrix\ConvertTo-TcMatchName.ps1
- Private\Matrix\Export-TcIdentityMatrix.ps1
- Private\Modules\Get-TcInstallCommand.ps1
- Private\Modules\Get-TcModuleVersion.ps1
- Private\Modules\Get-TcRequiredModule.ps1
- Private\Modules\Install-TcRequiredModule.ps1
- Private\Modules\Test-TcWindowsPowerShell.ps1
- Private\Plan\Get-TcPlanAction.ps1
- Private\Plan\Get-TcPlanConfiguration.ps1
- Private\Plan\Get-TcPlanDecision.ps1
- Private\Plan\Get-TcPlanGap.ps1
- Private\Plan\Get-TcPlanTask.ps1
- Private\Plan\Get-TcProcedureCatalog.ps1
- Private\Plan\Get-TcTaskCatalog.ps1
- Private\Plan\Merge-TcTrackingRow.ps1
- Private\Plan\Test-TcTaskCondition.ps1
- Private\Project\Assert-TcNoProjectProblem.ps1
- Private\Project\ConvertTo-TcDomain.ps1
- Private\Project\ConvertTo-TcProjectObject.ps1
- Private\Project\Import-TcProjectJson.ps1
- Private\Project\Read-TcProjectFile.ps1
- Private\Project\Resolve-TcPath.ps1
- Private\Project\Test-TcDisplayName.ps1
- Private\Project\Test-TcDomainName.ps1
- Private\Project\Test-TcProjectDefinition.ps1
- Private\Project\Write-TcProjectFile.ps1
- Private\Remediation\Remediation.ConditionalAccess.ps1
- Private\Remediation\Remediation.Data.ps1
- Private\Remediation\Remediation.Decisions.ps1
- Private\Remediation\Remediation.Dns.ps1
- Private\Remediation\Remediation.Helpers.ps1
- Private\Remediation\Remediation.Link.ps1
- Private\Remediation\Remediation.Plan.ps1
- Private\Remediation\Remediation.Run.ps1
- Private\Remediation\Remediation.Service.ps1
- Private\Remediation\Remediation.Start.ps1
- Private\Report\ConvertTo-TcReportHtml.ps1
- Private\Report\ConvertTo-TcReportJson.ps1
- Private\Report\Fonts\instrument-sans.woff2
- Private\Report\Fonts\jetbrains-mono.woff2
- Private\Report\Get-TcProductCatalog.ps1
- Private\Report\Get-TcProductTrace.ps1
- Private\Report\Get-TcReportData.ps1
- Private\Report\Get-TcReportExposure.ps1
- Private\Report\Open-TcReport.ps1
- Private\Report\Read-TcTrackingFile.ps1
- Private\Report\Template\core.js
- Private\Report\Template\icons.svg
- Private\Report\Template\index.html
- Private\Report\Template\startup.js
- Private\Report\Template\styles.css
- Private\Report\Template\tracking.js
- Private\Report\Template\views-analysis.js
- Private\Report\Template\views-solutions.js
- Private\Report\Template\views-steering.js
- Private\Report\Template\views-summary.js
- Private\Report\Template\views-tenant.js
- Private\Report\Test-TcReportReference.ps1
- Private\Report\Write-TcProjectOutput.ps1
- Private\Rules\Add-TcFinding.ps1
- Private\Rules\Add-TcRuleError.ps1
- Private\Rules\ConvertTo-TcPersonKey.ps1
- Private\Rules\ConvertTo-TcReadinessScore.ps1
- Private\Rules\Format-TcNumber.ps1
- Private\Rules\Format-TcRuleText.ps1
- Private\Rules\Get-TcAzureRule.ps1
- Private\Rules\Get-TcComparisonRule.ps1
- Private\Rules\Get-TcConsolidationRule.ps1
- Private\Rules\Get-TcCoverageRule.ps1
- Private\Rules\Get-TcDnsRule.ps1
- Private\Rules\Get-TcEntraIdRule.ps1
- Private\Rules\Get-TcExchangeRule.ps1
- Private\Rules\Get-TcIntuneRule.ps1
- Private\Rules\Get-TcMeasure.ps1
- Private\Rules\Get-TcOtherServiceRule.ps1
- Private\Rules\Get-TcPowerPlatformRule.ps1
- Private\Rules\Get-TcPurviewRule.ps1
- Private\Rules\Get-TcRowInteger.ps1
- Private\Rules\Get-TcRowNumber.ps1
- Private\Rules\Get-TcRuleCatalog.ps1
- Private\Rules\Get-TcRuleLicenseSku.ps1
- Private\Rules\Get-TcRulePart.ps1
- Private\Rules\Get-TcRuleRow.ps1
- Private\Rules\Get-TcRuleSetting.ps1
- Private\Rules\Get-TcRuleTenantName.ps1
- Private\Rules\Get-TcRuleThreshold.ps1
- Private\Rules\Get-TcRuleUnreadRole.ps1
- Private\Rules\Get-TcSettingGap.ps1
- Private\Rules\Get-TcSharePointRule.ps1
- Private\Rules\Get-TcSourceDomain.ps1
- Private\Rules\Get-TcTeamsPhoneRule.ps1
- Private\Rules\Get-TcTeamsRule.ps1
- Private\Rules\Test-TcRowTrue.ps1
- Private\Rules\Test-TcRuleTable.ps1
- Private\Rules\Test-TcTrue.ps1
- Private\Snapshot\Get-TcTableDictionary.ps1
- Private\Snapshot\Get-TcTableState.ps1
- Private\Snapshot\Read-TcSnapshot.ps1
- Private\Snapshot\Test-TcSnapshot.ps1
- Private\Snapshot\Write-TcSnapshot.ps1
- Private\Wizard\ConvertTo-TcSlug.ps1
- Private\Wizard\Get-TcSyncRisk.ps1
- Private\Wizard\Invoke-TcWizard.ps1
- Private\Wizard\Read-TcAnswer.ps1
- Private\Wizard\Read-TcChoice.ps1
- Private\Wizard\Write-TcMessage.ps1
- Private\Workbook\Add-TcWorkbookChart.ps1
- Private\Workbook\Add-TcWorkbookChartPointColor.ps1
- Private\Workbook\Add-TcWorkbookChartSeries.ps1
- Private\Workbook\Add-TcWorkbookHeaderStyle.ps1
- Private\Workbook\Add-TcWorkbookList.ps1
- Private\Workbook\Add-TcWorkbookRoleFormat.ps1
- Private\Workbook\Add-TcWorkbookSheet.ps1
- Private\Workbook\Add-TcWorkbookSlicer.ps1
- Private\Workbook\Add-TcWorkbookStateFormat.ps1
- Private\Workbook\Add-TcWorkbookTable.ps1
- Private\Workbook\Add-TcWorkbookValueFormat.ps1
- Private\Workbook\ConvertTo-TcWorkbookColor.ps1
- Private\Workbook\ConvertTo-TcWorkbookText.ps1
- Private\Workbook\Get-TcExcelProcessId.ps1
- Private\Workbook\Get-TcRunningExcel.ps1
- Private\Workbook\Get-TcWorkbookIdentityRow.ps1
- Private\Workbook\Get-TcWorkbookRange.ps1
- Private\Workbook\Get-TcWorkbookRemediationBadge.ps1
- Private\Workbook\Get-TcWorkbookScoreNote.ps1
- Private\Workbook\Get-TcWorkbookStep.ps1
- Private\Workbook\Get-TcWorkbookTheme.ps1
- Private\Workbook\Get-TcWorkbookWorkItem.ps1
- Private\Workbook\Get-TcWorkbookWorkloadState.ps1
- Private\Workbook\Get-TcWorkbookYellowColumn.ps1
- Private\Workbook\Import-TcWorkbookModule.ps1
- Private\Workbook\Merge-TcWorkbookSetting.ps1
- Private\Workbook\Merge-TcWorkbookTracking.ps1
- Private\Workbook\New-TcExcelApplication.ps1
- Private\Workbook\Read-TcWorkbookTracking.ps1
- Private\Workbook\Repair-TcWorkbookProperty.ps1
- Private\Workbook\Resolve-TcWorkbookPath.ps1
- Private\Workbook\Save-TcWorkbookFile.ps1
- Private\Workbook\Write-TcActionPlanSheet.ps1
- Private\Workbook\Write-TcDashboardSheet.ps1
- Private\Workbook\Write-TcDecisionSheet.ps1
- Private\Workbook\Write-TcDetailedStepSheet.ps1
- Private\Workbook\Write-TcIdentityMatrixSheet.ps1
- Private\Workbook\Write-TcRemediationSheet.ps1
- Private\Workbook\Write-TcSettingsSheet.ps1
- Private\Workbook\Write-TcTargetConfigurationSheet.ps1
- Private\Workbook\Write-TcTenantViewSheet.ps1
- Private\Workbook\Write-TcWorkbookFormula.ps1
- Private\Workbook\Write-TcWorkbookLink.ps1
- Private\Workbook\Write-TcWorkbookLinkFormula.ps1
- Private\Workbook\Write-TcWorkbookTableFormat.ps1
- Private\Workbook\Write-TcWorkbookValue.ps1
- Public\Get-TcReadiness.ps1
- Public\Get-TcRemediation.ps1
- Public\Initialize-TcAccess.ps1
- Public\Invoke-TcAssessment.ps1
- Public\Invoke-TcRemediation.ps1
- Public\Invoke-TcRuleSet.ps1
- Public\New-TcPlan.ps1
- Public\New-TcProject.ps1
- Public\New-TcReport.ps1
- Public\New-TcWorkbook.ps1
- Public\Remove-TcAccess.ps1
- Public\Start-TenantConverge.ps1
- Public\Test-TcPrerequisite.ps1
- Public\Test-TcProject.ps1
- Public\Undo-TcRemediation.ps1
- Remediation\Consolidation\CMP-SETTINGS.ps1
- Remediation\Consolidation\CON-ALIASES.ps1
- Remediation\Consolidation\CON-APPLICATIONS.ps1
- Remediation\Consolidation\CON-CAPACITY.ps1
- Remediation\Consolidation\CON-DOMAINS.ps1
- Remediation\Consolidation\CON-IDENTITIES.ps1
- Remediation\Consolidation\CON-LICENSES.ps1
- Remediation\Consolidation\CON-SETTINGS-SPO.ps1
- Remediation\Consolidation\CON-SETTINGS-TEAMS.ps1
- Remediation\Consolidation\CON-SETTINGS.ps1
- Remediation\Consolidation\CON-SHARED-MAILBOXES.ps1
- Remediation\Consolidation\CON-SITES.ps1
- Remediation\Consolidation\CON-TEAMS-POLICIES.ps1
- Remediation\Consolidation\CON-VOICE.ps1
- Remediation\Consolidation\GO-NOGO.ps1
- Remediation\Consolidation\IDENTITY-MATRIX.ps1
- Remediation\Coverage\FINAL-AUDIT.ps1
- Remediation\Coverage\INV-COVERAGE.ps1
- Remediation\Coverage\REFRESH-ASSESSMENT.ps1
- Remediation\DomainsAndDNS\DNS-DMARC.ps1
- Remediation\DomainsAndDNS\DNS-HOST.ps1
- Remediation\DomainsAndDNS\DNS-SERVICES.ps1
- Remediation\DomainsAndDNS\DNS-SKYPE.ps1
- Remediation\DomainsAndDNS\DNS-SPF.ps1
- Remediation\DomainsAndDNS\DNS-TTL.ps1
- Remediation\DomainsAndDNS\POC-TEST-DOMAIN.ps1
- Remediation\DomainsAndDNS\RELEASE-DOMAIN.ps1
- Remediation\DomainsAndDNS\TARGET-DOMAIN.ps1
- Remediation\EntraID\ACCESS-REVIEW.ps1
- Remediation\EntraID\CMP-CROSS-GUESTS.ps1
- Remediation\EntraID\CMP-CROSS-TENANT.ps1
- Remediation\EntraID\CMP-LICENSES.ps1
- Remediation\EntraID\EMERGENCY-ACCESS.ps1
- Remediation\EntraID\ENT-ADMINS.ps1
- Remediation\EntraID\ENT-APP-PERMISSIONS.ps1
- Remediation\EntraID\ENT-APP-REGISTRATIONS.ps1
- Remediation\EntraID\ENT-AUTHORIZATION.ps1
- Remediation\EntraID\ENT-COUNTRIES.ps1
- Remediation\EntraID\ENT-DISABLED-LICENSED.ps1
- Remediation\EntraID\ENT-GROUP-CREATION.ps1
- Remediation\EntraID\ENT-GUESTS.ps1
- Remediation\EntraID\ENT-INACTIVE.ps1
- Remediation\EntraID\ENT-LEGACY-AUTH.ps1
- Remediation\EntraID\ENT-LEGACY-SIGN-INS.ps1
- Remediation\EntraID\ENT-MFA-REGISTRATION.ps1
- Remediation\EntraID\ENT-MFA.ps1
- Remediation\EntraID\ENT-RISK.ps1
- Remediation\EntraID\ENT-SECRETS.ps1
- Remediation\EntraID\ENT-STALE-DEVICES.ps1
- Remediation\EntraID\ENT-THIRD-PARTY-APPS.ps1
- Remediation\EntraID\LICENSE-CHECK.ps1
- Remediation\EntraID\LICENSE-REMOVAL.ps1
- Remediation\EntraID\POC-TEST-SET.ps1
- Remediation\EntraID\TENANT-CLOSURE.ps1
- Remediation\ExchangeOnline\CMP-FREE-BUSY.ps1
- Remediation\ExchangeOnline\CMP-SHARED-MAILBOXES.ps1
- Remediation\ExchangeOnline\EXO-AUTO-FORWARD.ps1
- Remediation\ExchangeOnline\EXO-CONNECTORS.ps1
- Remediation\ExchangeOnline\EXO-DKIM.ps1
- Remediation\ExchangeOnline\EXO-FORWARDING.ps1
- Remediation\ExchangeOnline\EXO-HYBRID.ps1
- Remediation\ExchangeOnline\EXO-JOURNAL.ps1
- Remediation\ExchangeOnline\EXO-LARGE-MAILBOXES.ps1
- Remediation\ExchangeOnline\EXO-MOBILE.ps1
- Remediation\ExchangeOnline\EXO-PERMISSIONS.ps1
- Remediation\ExchangeOnline\EXO-PROTOCOLS.ps1
- Remediation\ExchangeOnline\EXO-PUBLIC-FOLDERS.ps1
- Remediation\ExchangeOnline\EXO-RECIPIENTS.ps1
- Remediation\ExchangeOnline\EXO-ROOMS.ps1
- Remediation\ExchangeOnline\EXO-RULES.ps1
- Remediation\ExchangeOnline\MAIL-FLOW-TEST.ps1
- Remediation\ExchangeOnline\SYNCED-DUPLICATES.ps1
- Remediation\ExchangeOnline\UNIFIED-AUDIT-LOG.ps1
- Remediation\Intune\DEVICE-BATCHES.ps1
- Remediation\Intune\DEVICE-PROFILES.ps1
- Remediation\Intune\INT-APPS.ps1
- Remediation\Intune\INT-AUTOPILOT.ps1
- Remediation\Intune\INT-CONNECTORS.ps1
- Remediation\Intune\INT-MAM.ps1
- Remediation\Intune\INT-NONCOMPLIANT.ps1
- Remediation\Intune\INT-POLICIES.ps1
- Remediation\Intune\INT-STALE.ps1
- Remediation\Intune\POC-DEVICES.ps1
- Remediation\OtherServices\AUT-CONCEALED-REPORTS.ps1
- Remediation\OtherServices\AUT-COPILOT.ps1
- Remediation\OtherServices\AUT-SECURE-SCORE.ps1
- Remediation\OtherServices\AUT-SERVICES.ps1
- Remediation\Purview\PUR-DLP.ps1
- Remediation\SharePointAndOneDrive\CMP-CAPACITY.ps1
- Remediation\SharePointAndOneDrive\CMP-SITE-URLS.ps1
- Remediation\SharePointAndOneDrive\SPO-CUSTOMIZATIONS.ps1
- Remediation\SharePointAndOneDrive\SPO-DOWNLOAD-RESTRICTION.ps1
- Remediation\SharePointAndOneDrive\SPO-EXTERNAL.ps1
- Remediation\SharePointAndOneDrive\SPO-INACTIVE.ps1
- Remediation\SharePointAndOneDrive\SPO-LARGE-SITES.ps1
- Remediation\SharePointAndOneDrive\SPO-ONEDRIVE.ps1
- Remediation\SharePointAndOneDrive\SPO-SHARING.ps1
- Remediation\SharePointAndOneDrive\SPO-TERMS.ps1
- Remediation\Teams\TMS-CHANNELS.ps1
- Remediation\Teams\TMS-GUESTS.ps1
- Remediation\Teams\TMS-OWNERS.ps1
- Remediation\Teams\TMS-POLICIES.ps1
- Remediation\TeamsPhone\CMP-VOICE-LICENSES.ps1
- Remediation\TeamsPhone\TEL-CALLING-SETTINGS.ps1
- Remediation\TeamsPhone\TEL-DIAL-PLANS.ps1
- Remediation\TeamsPhone\TEL-EMERGENCY.ps1
- Remediation\TeamsPhone\TEL-NUMBERS.ps1
- Remediation\TeamsPhone\TEL-ROUTING-TARGET.ps1
- Remediation\TeamsPhone\TEL-SCHEDULES.ps1
- Remediation\TeamsPhone\TEL-USERS.ps1
- Remediation\TeamsPhone\TEL-VOICE-APPS.ps1
- Scripts\Invoke-TcIsolatedCollection.ps1
- THIRD-PARTY-NOTICES.md
- TenantConverge.psd1
- TenantConverge.psm1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 0.9.0-beta1 (current version) | 5 | 11/7/2026 |