Im Prozess der Migration von Exchange 2016 / 2019 OnPremise zu Exchange Online ist es in der Weboberfläche des Exchange Admin Centers (EAC) relativ einfach, einen spezifischen Benutzer aus einem Migrationsbatch zu entfernen. Die Navigation zu „Migrationen“, die Auswahl des relevanten Migrationsbatches und das Klicken auf „Details“ ermöglichen den Zugriff auf die Liste der Postfächer, die für die Migration in diesem Batch vorgesehen sind. Das Entfernen eines Benutzers aus dieser Liste schließt diesen von der geplanten Migration aus.
Dieser einfache und intuitive Prozess in der EAC-Weboberfläche hat jedoch keine direkte Entsprechung in der PowerShell. Obwohl es möglich ist, einen Benutzer aus der allgemeinen Migration zu entfernen – mit dem Befehl „Remove-MigrationUser“ – fehlt eine Möglichkeit, einen Benutzer spezifisch aus einem Migrationsbatch zu entfernen.
Während einer kürzlichen Aufgabe wurde ich mit diesem Problem konfrontiert und musste daher eine alternative Lösung finden. Ich entschied mich dafür, „Remove-MigrationUser“ nur dann auszuführen, wenn sich der Benutzer in einem von drei spezifischen Migrationsbatches befand. Hier ist der Code, den ich dafür verwendet habe:
# Definieren Sie die Migrationsbatches, in denen der Benutzer entfernt werden soll
$batchNames = 'MigrationBatch1', 'MigrationBatch2', 'MigrationBatch3'
# Definieren Sie den Benutzer, der entfernt werden soll
$user = 'user@domain.com'
# Überprüfen Sie jeden Batch
foreach ($batchName in $batchNames) {
# Erhalten Sie die Benutzer im Batch
$batchUsers = Get-MigrationBatch -Identity $batchName | Get-MigrationUser
# Überprüfen Sie, ob der Benutzer im Batch ist
if ($batchUsers -contains $user) {
# Wenn der Benutzer im Batch ist, entfernen Sie ihn
Get-MigrationUser -Identity $user | Remove-MigrationUser -Confirm:$false
}
}
Dieser Code durchläuft jeden der definierten Migrationsbatches und überprüft, ob der spezifische Benutzer darin enthalten ist. Falls ja, wird „Remove-MigrationUser“ aufgerufen, um den Benutzer aus der Migration zu entfernen. Beachten Sie, dass dieser Prozess nur die Benutzer betrifft, die sich in einem der spezifischen Migrationsbatches befinden.
Dieser Ansatz hat sich als effektives „Sicherheitsnetz“ erwiesen, indem er sicherstellt, dass nur Benutzer aus bestimmten Migrationsbatches entfernt werden. Obwohl es wünschenswert wäre, eine direkte Möglichkeit zu haben, Benutzer aus spezifischen Migrationsbatches in PowerShell zu entfernen, stellt dieser Workaround eine Lösung dar, die diese Aufgabe dennoch erfüllt.