0
点赞
收藏
分享

微信扫一扫

迁移数据的脚本

近期在做Ex2013到2019的升级,写了两个小脚本,用来批量迁移邮箱数据。

  • 从文件中读取用户,执行迁移

脚本名称: move-mailbox.ps1

<#
.SYNOPSIS
Move-Mailbox create a  mailbox move request  to a target database.

.DESCRIPTION
Move-Mailbox read a mailboxlist from  a file  and use  New-MoveRquest to move mailbox to the target database.

.PARAMETER File
The file name included absolute path. a mailbox per line.

.PARAMETER TargetDatabase
The target database that will storing the mailbox.

.EXAMPLE

Move-Mailbox -File c:\mailbox.txt  -TargetDatabase db01


#>
param (
   [Parameter(Mandatory=$True)]
   [string]$File,
   [Parameter(Mandatory=$True)]
   [string]$Targetdb

)

Add-PSSnapin microsoft.exchange*

$mailboxes = Get-Content  -Path $File

Foreach($m in $mailboxes){

  
  New-MoveRequest -Identity $m -TargetDatabase $Targetdb -BadItemLimit unlimited -BatchName $m

}

其中文件内容: 每邮箱(去除域名后部分)一行。

  • 整个db迁移
<#
.SYNOPSIS
Move-DB move all mailboxs from a  source database to a target database.

.DESCRIPTION
Move-DB  move all mailboxes in sepcific database to the target database.

.PARAMETER SourceDB
The name of the source database.

.PARAMETER TargetDB
The  name of target database.

.EXAMPLE

Move-DB -SourceDB sdb  -TargetDatabase tdb


#>
param (
   [Parameter(Mandatory=$True)]
   [string]$SourceDB,
   [Parameter(Mandatory=$True)]
   [string]$TargetDB

)

Add-PSSnapin microsoft.exchange*

$batchname=$SourceDB +"-"+$TargetDB
#Write-Output $batchname
Get-Mailbox -Database $SourceDB | New-MoveRequest -TargetDatabase $TargetDB -BadItemLimit unlimited -BatchName "$batchname"

举报

相关推荐

0 条评论