Add MigrationRunspace management to migration script functions
This commit is contained in:
@@ -800,6 +800,7 @@ $script:CurrentMappingMeta = [ordered]@{
|
||||
}
|
||||
$script:IsMigrationRunning = $false
|
||||
$script:MigrationPowerShell = $null
|
||||
$script:MigrationRunspace = $null
|
||||
$script:MigrationAsyncResult = $null
|
||||
$script:MigrationOutput = $null
|
||||
$script:MigrationTimer = $null
|
||||
@@ -1107,6 +1108,10 @@ function Clear-MigrationRunState {
|
||||
$script:MigrationPowerShell.Dispose()
|
||||
}
|
||||
|
||||
if ($null -ne $script:MigrationRunspace) {
|
||||
$script:MigrationRunspace.Dispose()
|
||||
}
|
||||
|
||||
if ($null -ne $script:MigrationOutput) {
|
||||
try {
|
||||
$script:MigrationOutput.Dispose()
|
||||
@@ -1116,6 +1121,7 @@ function Clear-MigrationRunState {
|
||||
}
|
||||
|
||||
$script:MigrationPowerShell = $null
|
||||
$script:MigrationRunspace = $null
|
||||
$script:MigrationAsyncResult = $null
|
||||
$script:MigrationOutput = $null
|
||||
$script:MigrationCompletedHandler = $null
|
||||
@@ -1207,7 +1213,13 @@ function Invoke-MigrationScript {
|
||||
}
|
||||
|
||||
Reset-MigrationStreamPositions
|
||||
$script:MigrationRunspace = [runspacefactory]::CreateRunspace()
|
||||
$script:MigrationRunspace.ApartmentState = [System.Threading.ApartmentState]::STA
|
||||
$script:MigrationRunspace.ThreadOptions = [System.Management.Automation.Runspaces.PSThreadOptions]::ReuseThread
|
||||
$script:MigrationRunspace.Open()
|
||||
|
||||
$script:MigrationPowerShell = [powershell]::Create()
|
||||
$script:MigrationPowerShell.Runspace = $script:MigrationRunspace
|
||||
$script:MigrationOutput = [System.Management.Automation.PSDataCollection[psobject]]::new()
|
||||
$script:MigrationCompletedHandler = $OnCompleted
|
||||
$script:MigrationActionLabel = $ActionLabel
|
||||
|
||||
Reference in New Issue
Block a user