get-mailbox -server "ff" | move-mailbox –targetdatabase fg
fg爲目標數據庫名字 ff爲源服務器 maxthreads (10) 10個線程遷移最多爲30
是Exchange沒有記錄郵箱遷移進度麼?當然不是,您在管理控制檯中,雙擊正在遷移的郵箱,就能夠看到這個郵箱當前遷移的進度。問題是,您的不停刷新控制檯,然後在成千上萬的郵箱中,找到正在遷移的,然後一個個雙擊查看。這個不像玩掃雷,的確沒啥娛樂性。
解決方法之一,是在控制檯中修改視圖,添加一列進度。這樣,可以通過排序,看到當前>0%而又<100%的郵箱遷移進度。
可是,我老眼昏花,看不得那麼多行……沒問題,我們用Power Shell來搞定。
Get-MoveRequest -MoveStatus inprogress
這樣,正在移動的郵箱就被抓出來了。等等,這個是看不到進度的,繼續寫。
Get-MoveRequest -MoveStatus inprogess | Get-MoveRequestStatistics
這個顯示就好多了。
領導打電話來了,同志們辛苦了。那麼,還有多少個郵箱沒有遷移呢?千萬不能說等我5分鐘,我數數。因爲,這件事情只要10秒就搞定。
Get-MoveRequest -MoveStatus queued
閃花眼了吧,我故意的~這個用來顯示仍未遷移的郵箱。放心,不會讓你導入到Excel然後數行數的。
Get-MoveRequest -MoveStatus queued | Measure-Object |fl count
這下簡單了。直接一個數字。
還記得嗎?曾經只需要按住CTRL鍵,選擇需要遷移的郵箱,然後直接選擇任務,移動,就可以等待收工。
在Exchange 2010裏面,還能重溫往日舊夢否?
我沒做到這一點,但是我做到了可以讓能過濾出來的用戶,分批次遷移。假設一下,公司有巨量的郵箱,可能無法在很短的時間裏全部遷移,那麼,就有可能將不同部門的用戶分批分期進行遷移。
在以前,這個動作只需要打開對應的OU,選用戶,遷移,即可。
現在,麻煩一點點~
Get-User -OrganizationalUnit 'domain/OU' | New-MoveRequest -TargetDatabase 'MailDB' -BatchName 'Batch 1'
'domian/OU' 就是你需要遷移的那個OU,需要寫完整。'MailDB' 是郵箱遷移的目標存儲,'Batch 1' 是給這批遷移郵箱起的批次名字。
這樣做的好處是,可以隨時查看特定批次的郵箱遷移完成情況。
Get-MoveRequest –BatchName 'Batch 1'
即可查看這一批遷移的郵箱。沒進度百分比?雖然不一定準,但是可以實現:
Get-MoveRequest –BatchName 'Batch 1' | Get-MoveRequestStatistics