Public/Migration/Import-MoveRequest.ps1
function Import-MoveRequest { param ( [Parameter(Mandatory = $true)] [string] $CsvFileName, [Parameter(Mandatory = $true)] [string] $Tenant, [Parameter(Mandatory = $true)] [string] $RemoteHostName ) if ($Tenant -match 'onmicrosoft') { $Tenant = $Tenant.Split(".")[0] } $TargetDeliveryDomain = "$tenant.mail.onmicrosoft.com" $Imported = Import-CSV $CSVFilePath $ReadyToMigrate = $Imported | Where-Object { $_.PreFlightComplete -eq $TRUE -and $_.MoveRequest -eq $FALSE } $OnPremisesCredential = Get-Cred -Tenant $Tenant -Type OnPremMigration foreach ($CurReady in $ReadyToMigrate) { $MoveSplat = @{ Remote = $True Identity = $CurReady.UserPrincipalName BatchName = $CurReady.BatchName RemoteHostName = $CurReady.RemoteHostName RemoteCredential = $OnPremisesCredential TargetDeliveryDomain = $TargetDeliveryDomain BadItemLimit = 50 LargeItemLimit = 50 AcceptLargeDataLoss = $True SuspendWhenReadyToComplete = $True } New-MoveRequest @MoveSplat Start-Sleep -Seconds 2 } } |