我创建了一个 PowerShell 脚本,使用 New-MigrationBatch cmdlet 创建从 Exchange 本地到 O365 Exchange Online 的迁移批处理。我的下一步是使用 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 时,它会返回指定的作业,但看起来它忽略了管道后的条件,因为将其更改为“已停止”会返回相同的作业,无论状态如何。
有任何想法吗?
答案1
哎呀,我的错误,使用 -like 而不是 -eq 提供了我想要的结果。解释我上面的困境真是浪费时间。