Set-MigrationBatch
此 cmdlet 可在本地 Exchange 和基于云的服务中使用。 一些参数和设置可能只适用于某个特定的环境。
使用 Set-MigrationBatch cmdlet 可更新一批用户的迁移请求。 有关详细信息,请参阅 New-MigrationBatch。
有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法。
语法
Set-MigrationBatch
[-Identity] <MigrationBatchIdParameter>
[-AllowIncrementalSyncs <Boolean>]
[-AllowUnknownColumnsInCsv <Boolean>]
[-ApproveSkippedItems]
[-AutoRetryCount <Int32>]
[-BadItemLimit <Unlimited>]
[-CSVData <Byte[]>]
[-CompleteAfter <DateTime>]
[-Confirm]
[-DomainController <Fqdn>]
[-LargeItemLimit <Unlimited>]
[-MoveOptions <MultiValuedProperty>]
[-NotificationEmails <MultiValuedProperty>]
[-Partition <MailboxIdParameter>]
[-ReportInterval <TimeSpan>]
[-SkipMerging <MultiValuedProperty>]
[-SkipMoving <MultiValuedProperty>]
[-SkipReports <Boolean>]
[-SourcePublicFolderDatabase <DatabaseIdParameter>]
[-StartAfter <DateTime>]
[-SyncNow]
[-Update]
[-WhatIf]
[<CommonParameters>]
说明
Set-MigrationBatch cmdlet 配置现有的迁移批处理,以便在以下迁移方案之一中迁移邮箱和邮箱数据:
- 本地移动
- 跨林移动
- 远程移动
- 直接转换 Exchange 迁移
- 暂存 Exchange 迁移
- IMAP 迁移
- Google Workspace (以前是 G Suite) 迁移
某些设置既可以应用于批处理,也可以应用于批处理中的单个用户。 请务必注意,将设置应用于用户时,它将覆盖批处理上的任何相应设置。
您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet。
示例
示例 1
Set-MigrationBatch -Identity MigrationBatch01 -ApproveSkippedItems
此示例通过批准批中以前检测到的所有用户的所有跳过项来更新 MigrationBatch01。
参数
-AllowIncrementalSyncs
此参数只在本地 Exchange 中可用。
AllowIncrementalSyncs 参数指定是启用还是禁用增量同步。 有效值包含:
- $true:已启用增量同步。 发送到源邮箱的任何新邮件每 24 小时一次复制到相应的目标邮箱。
- $false:增量同步已禁用。 初始同步完成后,迁移批处理将进入“已停止”状态。 若要完成本地移动、跨林移动或远程移动迁移的迁移批处理,需要启用增量同步。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-AllowUnknownColumnsInCsv
AllowUnknownColumnsInCsv 参数指定是否允许 CSV 文件中存在不用于迁移的额外列。 有效值包含:
- $true:迁移将忽略 (无提示地跳过 CSV 文件中) 未知列 (包括) 列标题拼写错误的可选列。 所有未知列都被视为迁移不使用的额外列。
- $false:如果 CSV 文件中有任何未知列,则迁移失败。 此设置可防止列标题中的拼写错误。 此值为默认值。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-ApproveSkippedItems
此参数仅在基于云的服务中可用。
ApprovSkippedItems 开关将当前时间之前发现的所有跳过项标记为已批准。 不必为此开关指定值。
如果在此迁移过程中检测到的数据丢失严重,则如果不批准跳过的项目,迁移将无法完成。 项目可能已被跳过,因为它们在源邮箱中已损坏,无法复制到目标邮箱,它们大于为租户配置的最大允许邮件大小,或者当迁移准备好完成时,它们被检测到目标邮箱中缺失。
有关最大消息大小值的详细信息,请参阅以下主题Exchange Online限制。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online |
-AutoRetryCount
此参数只在本地 Exchange 中可用。
AutoRetryCount 参数指定尝试重新启动迁移批次以迁移遇到错误的邮箱的次数。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-BadItemLimit
BadItemLimit 参数指定迁移请求失败之前允许的最大错误项数。 无效项目是源邮箱中无法复制到目标邮箱的损坏项目。 无效项目限制还包括缺少的项目。 缺少的项目是源邮箱中在迁移请求准备好完成时无法在目标邮箱中找到的项目。
此参数的有效输入是一个整数或值 unlimited。 默认值为 0,这意味着如果检测到任何错误项,迁移请求将失败。 如果可以保留一些错误项,则可以将此参数设置为合理的值, (我们建议使用 10 个或更低的) 以便迁移请求可以继续。 如果检测到太多错误项目,请考虑使用 New-MailboxRepairRequest cmdlet 尝试修复源邮箱中损坏的项目,然后再次尝试迁移请求。
注意:在基于云的服务中不建议使用此参数。 将来,如果不使用此参数,将改为使用已跳过的项目审批语义。
Type: | Unlimited |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-CompleteAfter
此参数仅在基于云的服务中有效。
CompleteAfter 参数指定批处理完成前的延迟。 批处理的数据迁移将开始,但完成不会开始,直到使用此参数指定的日期/时间。
请使用短日期格式,该格式在运行命令的计算机上的“区域选项”设置中定义。 例如,如果将计算机配置为使用短日期格式 mm/dd/yyyy,请输入 09/01/2018 来指定 2018 年 9 月 1 日。 可以只输入日期,也可以输入当天的日期和时间。 如果输入当天的日期和时间,请将该值括在引号 (") 中,例如,"09/01/2018 5:00 PM"。
在 Exchange Online PowerShell 中,如果指定日期/时间值而不指定时区,则该值位于协调世界时 (UTC) 中。 若要指定值,请使用以下选项之一:
- 以 UTC 格式指定日期/时间值:例如
"7/30/2020 9:00PM Z"
。 - 指定本地时区中的日期/时间值。 例如,
"7/30/2020 9:00PM -700"
。 如果不使用 TimeZone 参数,该值将转换为 UTC。
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-Confirm
Confirm 开关指定是否显示确认提示。 此开关对 cmdlet 造成的影响取决于在你继续操作之前 cmdlet 是否需要确认。
- 破坏性 cmdlet (例如,Remove-* cmdlet) 具有内置的暂停,该暂停会强制你在继续操作之前确认命令。 对于这些 cmdlet,您可以使用此确切语法跳过确认提示:
-Confirm:$false
。 - 大多数其他 cmdlet (例如,New-* 和 Set-* cmdlet) 没有内置暂停。 对于这些 cmdlet,指定不含值的 Confirm 开关会引入暂停,从而强制要求你先确认命令,然后再继续操作。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-CSVData
此参数只在本地 Exchange 中可用。
CSVData 参数指定包含要移动或迁移的用户邮箱相关信息的 CSV 文件。 CSV 文件标题行中所需的属性因迁移类型而有所不同。
此参数的有效值要求使用以下语法将文件读取到字节编码对象: ([System.IO.File]::ReadAllBytes('<Path>\<FileName>'))
。 可以使用此命令作为参数值,也可以将输出写入变量 () $data = [System.IO.File]::ReadAllBytes('<Path>\<FileName>')
,并将变量用作参数值 ($data
) 。
注意:此参数不会基于 RBAC 范围验证邮箱的可用性。 将迁移 CSV 文件中指定的所有邮箱,即使它们不在 RBAC 范围 (例如,授予管理员迁移邮箱权限的 OU) 。
Type: | Byte[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-DomainController
此参数只在本地 Exchange 中可用。
DomainController 参数指定此 cmdlet 从 Active Directory 读取数据或向其写入数据时使用的域控制器。 可以使用完全限定的域名 (FQDN) 来标识域控制器。 例如,dc01.contoso.com。
Type: | Fqdn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Identity
Identity 参数指定要修改的迁移批处理。 可以使用唯一标识迁移批处理的任何值。 例如:
- 名称(Identity 属性值)
- GUID (BatchGuid 属性值)
Type: | MigrationBatchIdParameter |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-LargeItemLimit
LargeItemLimit 参数指定迁移请求失败之前允许的最大大型项数。 大项目是超过目标邮箱中允许的最大邮件大小的源邮箱邮件。 如果目标邮箱没有专门配置最大邮件大小值,则使用组织范围的值。
有关最大邮件大小值的详细信息,请参阅下列主题:
- Exchange 2016:Exchange Server中的邮件大小限制
- Exchange Online:Exchange Online 限制
此参数的有效输入是一个整数或值 unlimited。 默认值为 0,这意味着如果检测到任何大型项,迁移请求将失败。 如果可以保留几个大型项,则可以将此参数设置为合理的值, (我们建议使用 10 个或更低的) 以便迁移请求继续。
注意:在基于云的服务中不建议使用此参数。 将来,如果不使用此参数,将改为使用已跳过的项目审批语义。
Type: | Unlimited |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-MoveOptions
MoveOptions 参数指定为进行调试而要跳过的迁移阶段。 除非 Microsoft 客户服务和支持或特定文档指示使用此参数,否则请不要这么做。
此参数不能与 SkipMoving 参数一起使用。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-NotificationEmails
NotificationEmails 参数指定迁移状态报告要发送到的一个或多个电子邮件地址。
如果不使用此参数,将不发送状态报告。
若要输入多个值并覆盖任何现有条目,请使用以下语法: Value1,Value2,...ValueN
。 如果值包含空格或需要引号,请使用以下语法: "Value1","Value2",..."ValueN"
。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-Partition
此参数仅在基于云的服务中可用。
保留此参数以供 Microsoft 内部使用。
Type: | MailboxIdParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Online |
-ReportInterval
ReportInterval 参数指定电子邮件报表发送到 NotificationEmails 中列出的电子邮件地址的频率。
默认情况下,每 24 小时发送一次批的电子邮件报告。 将此值设置为 0 表示永远不应为此批发送报表。
此参数只应在基于云的服务中使用。
Type: | TimeSpan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-SkipMerging
SkipMerging 参数指定为进行调试而要跳过的迁移阶段。 除非 Microsoft 客户服务和支持或特定文档指示使用此参数,否则请不要这么做。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-SkipMoving
此参数已被 MoveOptions 参数替换。
SkipMoving 参数指定为进行调试而要跳过的迁移阶段。 除非 Microsoft 客户服务和支持或特定文档指示使用此参数,否则请不要这么做。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-SkipReports
SkipReports 开关指定要针对迁移跳过自动报告。 不必为此开关指定值。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-SourcePublicFolderDatabase
此参数只在本地 Exchange 中可用。
SourcePublicFolderDatabase 参数指定在公用文件夹迁移中使用的源公用文件夹数据库。 可以使用任何能够唯一标识此数据库的值。 例如:
- 名称
- 可分辨名称 (DN)
- GUID
Type: | DatabaseIdParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-StartAfter
StartAfter 参数指定在批处理中用户的数据迁移开始之前的延迟。 迁移将准备就绪,但批处理中用户的实际数据迁移不会开始,直到使用此参数指定的日期/时间。
请使用短日期格式,该格式在运行命令的计算机上的“区域选项”设置中定义。 例如,如果将计算机配置为使用短日期格式 mm/dd/yyyy,请输入 09/01/2018 来指定 2018 年 9 月 1 日。 可以只输入日期,也可以输入当天的日期和时间。 如果输入当天的日期和时间,请将该值括在引号 (") 中,例如,"09/01/2018 5:00 PM"。
在 Exchange Online PowerShell 中,如果指定日期/时间值而不指定时区,则该值位于协调世界时 (UTC) 中。 若要指定值,请使用以下选项之一:
- 以 UTC 格式指定日期/时间值:例如
"7/30/2020 9:00PM Z"
。 - 指定本地时区中的日期/时间值。 例如,
"7/30/2020 9:00PM -700"
。 如果不使用 TimeZone 参数,该值将转换为 UTC。
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
-SyncNow
SyncNow 开关为已达到“已同步”状态的用户启动即时同步,但不会恢复任何失败的用户。 不必为此开关指定值。
可以使用此开关在移动完成前使用 开关来加快载入移动速度。 对于 IMAP 迁移,可以在 MX 记录切换后使用此开关。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-Update
“更新”开关在迁移批处理上设置“更新”标志。 不必为此开关指定值。
“更新”标志触发迁移服务将终结点、批处理和用户的所有设置重新应用到迁移过程。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online |
-WhatIf
WhatIf 开关模拟命令操作。 可以使用此开关在不实际应用将会发生的更改的情况下预览这些更改。 不必为此开关指定值。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online |
输入
Input types
若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。
输出
Output types
若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。