Я создал сценарий PowerShell, который создает пакет миграции из локального Exchange в O365 Exchange Online с помощью командлета New-MigrationBatch. Мой следующий шаг - остановить скрипт до тех пор, пока пакет миграции не будет завершен, используя цикл do-while.
Использование только следующего будет возвращать задания с указанным статусом, но необходимо сузить это значение, чтобы указать имя задания, чтобы иметь возможность завершить сценарий.
Get-Migrationbatch -Status Completed
Я пробовал следующее, но ничего не возвращал:
Get-Migrationbatch | Where {$_.Status -eq "Completed" -and $_.Identity -eq "TEST-O365Migration#1"}
Я также пробовал следующее и ничего не получил
Get-Migrationbatch -Identity TEST-O365Migration#1 | Where {$_.Status -eq "Completed"}
Однако при использовании -ne вместо -eq в условии возвращается указанное задание, но похоже, что он игнорирует условие после канала, поскольку изменение этого параметра на «Остановлено» возвращает то же задание независимо от статуса.
Есть идеи?
Ах, моя ошибка, использование -like вместо -eq дает результат. Я после. Какая трата времени объяснять мое затруднительное положение.