Migration Guide Overview
Complete guide to planning and executing Microsoft 365 group migrations with Primera Labs.
Migration Guide
This comprehensive guide walks you through the entire migration process, from planning to post-migration verification.
Migration Process
The Primera Labs migration process consists of four main phases:
1. Pre-Migration Planning
Before starting your migration, you should:
- Assess Your Environment: Document all groups, distribution lists, and dependencies
- Define Scope: Determine which objects to migrate
- Plan Timing: Choose the optimal migration window
- Backup Data: Ensure you have backups of critical data
- Test Connectivity: Verify access to both tenants
2. Discovery Phase
The discovery phase identifies all objects in your source tenant:
# Run full tenant discovery
Start-PrimeraDiscovery -TenantId "source.onmicrosoft.com" -IncludeAll
# Export discovery results
Export-PrimeraDiscovery -Format JSON -OutputPath "C:\Migration\discovery.json"
Discovery includes:
- All distribution lists and groups
- Group memberships
- Permissions and delegates
- Mail flow rules referencing groups
- Dependencies between objects
3. Migration Execution
Execute the migration in batches:
# Start batch migration
Start-PrimeraMigration -PlanId "plan-001" -BatchSize 50 -ParallelTasks 5
# Monitor progress
Get-PrimeraMigrationStatus -PlanId "plan-001"
Migration options:
- Pilot Migration: Migrate a small subset first
- Staged Migration: Migrate in multiple waves
- Big Bang: Migrate everything at once
- Delta Sync: Keep groups in sync during transition
4. Post-Migration Validation
After migration, verify everything:
# Run validation checks
Test-PrimeraMigration -PlanId "plan-001"
# Generate migration report
Get-PrimeraMigrationReport -PlanId "plan-001" -OutputPath "C:\Migration\report.html"
Migration Types
Distribution List Migration
Migrating distribution lists preserves:
- Display names and aliases
- Email addresses
- Member lists
- Send-as and send-on-behalf permissions
- Moderation settings
- Message size restrictions
Security Group Migration
Security groups maintain:
- Group membership
- Azure AD roles and assignments
- Application permissions
- Group ownership
Dynamic Distribution List Migration
Dynamic DLs transfer with:
- Recipient filters
- Conditional filters
- Query-based membership rules
Conflict Resolution
Handle naming conflicts and duplicates:
# Set conflict resolution strategy
Set-PrimeraConflictPolicy -Strategy "Rename" -Suffix "-Migrated"
# Review conflicts
Get-PrimeraConflicts -PlanId "plan-001"
Conflict strategies:
- Skip: Don't migrate conflicting objects
- Rename: Add suffix to conflicting names
- Merge: Combine with existing objects
- Replace: Overwrite existing objects
Performance Optimization
Optimize your migration:
- Batch Size: Adjust based on tenant throttling
- Parallel Processing: Use multiple threads
- Off-Peak Hours: Schedule during low-usage times
- Incremental Migration: Break into smaller chunks
Common Scenarios
Scenario 1: Tenant Consolidation
Merging multiple tenants into one:
# Add multiple source tenants
Add-PrimeraSourceTenant -TenantId "tenant1.onmicrosoft.com"
Add-PrimeraSourceTenant -TenantId "tenant2.onmicrosoft.com"
# Create consolidated plan
New-PrimeraMigrationPlan -Type "Consolidation" -TargetTenant "main.onmicrosoft.com"
Scenario 2: Tenant Split
Splitting one tenant into multiple:
# Define split rules
New-PrimeraSplitRule -Filter "Department -eq 'Sales'" -TargetTenant "sales.onmicrosoft.com"
New-PrimeraSplitRule -Filter "Department -eq 'Engineering'" -TargetTenant "eng.onmicrosoft.com"
Scenario 3: Cross-Forest Migration
Moving from on-premises to cloud:
# Configure hybrid connectivity
Set-PrimeraHybridMode -Enabled $true -OnPremServer "exchange.contoso.com"
# Sync on-premises groups
Sync-PrimeraOnPremGroups -ForestRoot "contoso.local"
Best Practices
- Always run discovery first to understand your environment
- Start with a pilot migration of non-critical groups
- Document everything including custom settings
- Communicate with stakeholders about migration schedule
- Monitor actively during migration execution
- Validate thoroughly after each migration batch
Next Steps
Was this page helpful?