分享一個之前做過的Exchange郵箱資料檔案的導入導出操作示例。目錄内容如下:
目錄
<a>第一步 建立一個Exchange角色組并将其添加到Mailbox Import Export 管理角色中... 4</a>
<a>第二步 建立共享檔案夾... 4</a>
<a>第三步 建立單個使用者郵件導出請求... 5</a>
<a>第四步 将導出的PST檔案導入到使用者主郵箱... 6</a>
<a>删除已完成的郵件導入請求... 6</a>
<a>删除已完成的郵件導出請求... 6</a>
<a>批量導出歸檔郵箱至PST檔案... 7</a>
<a>基于資料庫批量導出PST. 7</a>
<a>使用CSV檔案批量導出PST. 8</a>
<a>批量導入PST檔案至使用者主郵箱... 9</a>
<a>檢視郵箱導入導入請求狀态... 10</a>
<a>使用Windows計劃任務自動執行腳本... 12</a>
使用指令建立一個角色組名稱為Enterprise Mail Support,并将其賦予Mailbox Import Export角色權限,将exadmin加入到成員中。
<a href="http://s3.51cto.com/wyfs02/M02/9D/9F/wKioL1mC2vPSuO0UAABeyQOUkV8261.jpg" target="_blank"></a>
删除角色組使用指令:Remove-RoleGroup -Identity "Enterprise Mail Support"
<a href="http://s3.51cto.com/wyfs02/M00/9D/9F/wKioL1mC2vSSV_qtAABQL8wzbLo334.jpg" target="_blank"></a>
get-RoleGroup -Identity "Enterprise Mail Support"
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKiom1mC2vWgQUSxAAC5cwgm1Vk710.jpg" target="_blank"></a>
若要導出郵箱或存檔,必須首先建立網絡共享檔案夾。您需要向在其中導出或導入郵箱的網絡共享授予對“Exchange 受信任子系統”組的讀/寫權限。如果您不授予此權限,則将收到一條錯誤消息,表明 Exchange 無法建立與目标郵箱的連接配接。
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKioL1mC2veCGerdAADtPBUX1uo204.jpg" target="_blank"></a>
通過指令将某個使用者的歸檔郵箱郵件導出到PST檔案中。
New-MailboxExportRequest -Mailbox exadmin -IsArchive -FilePath "\\127.0.0.1\PST\exadmin.pst"
<a href="http://s3.51cto.com/wyfs02/M02/9D/A0/wKiom1mC2vjCqzeSAABXHNOfm8Y695.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M02/9D/A0/wKiom1mC2vqQe2M6AABGtfg1hOg441.jpg" target="_blank"></a>
導入過程中如果沒有指定導入的目标檔案,預設是導入到使用者主郵箱的#Inbox#(收件箱裡面),PST檔案中收件箱中使用者自定義的檔案會在主郵箱的收件箱中建立(如果該檔案夾不存在的情況下)。如果主郵箱中已經存在該封郵件,導入過程中自動跳過重複的郵件。
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKiom1mC2vvBlCK1AABKSD3RWm4227.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKiom1mC2vzg5ScNAABVRKVRXZU276.jpg" target="_blank"></a>
如果想要删除處于完成狀态的郵箱導入請求可以運作如下指令:
Get-MailboxImportRequest –Status Completed | Remove-MailboxImportRequest
如果需要删除處于完成狀态的郵件導出請求可以運作如下指令:
Get-MailboxExportRequest –Status Completed | Remove-MailboxImportRequest
使用腳本Export-Mail_DB.ps1,該腳本可以将使用者的歸檔郵箱資料按照資料庫批量導出到PST檔案中,并将各個PST檔案存放在以資料庫命名的目錄中。
運作腳本需要具體的前提條件:
2、 操作賬号需要屬于"Mailbox Import Export"角色組成員。
腳本内容如下:
##以資料庫名稱為檔案名批量建立目錄
foreach ($folder in Get-MailboxDatabase db* ) {mkdir \\localhost\pst\$folder\ }
##按照資料庫批量導出郵箱使用者歸檔郵箱中郵件到PST檔案中,PST檔案以“使用者名.pst”格式命名。
foreach ($database in get-mailboxdatabase) {foreach ($Mailbox in Get-Mailbox -Database $database -Archive) {$b=$Mailbox.Alias;New-MailboxExportRequest -Mailbox $a -FilePath "\\localhost\pst\$db\$b.pst" -IsArchive}}
運作腳本如圖:
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKioL1mC2vyBsJNVAABEpzulqsg055.jpg" target="_blank"></a>
運作結果:
<a href="http://s3.51cto.com/wyfs02/M02/9D/A0/wKiom1mC2v7CmY7zAABeuSCJYTE385.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKioL1mC2v-xqWTkAABzgvziTuw064.jpg" target="_blank"></a>
可以使用腳本Export-Mail_CSV.ps1,該腳本的具體内容就是批量導出CSV檔案中的郵箱使用者的歸檔郵件到PST檔案中。
使用腳本前需要注意事項:
1、 手動建立共享目錄,并賦予Exchange信任子系統具有完全通路權限。
在運作腳本前準備好CSV檔案(CSV檔案可以使用指令get-mailbox -Archive -Database DB01 | ft name,Alias,Sam* > c:\2014.csv來生成檔案,然後調整檔案格式即可),CSV檔案内容格式如下:
示例CSV檔案:
<a href="http://s3.51cto.com/wyfs02/M02/9D/A0/wKiom1mC2wDBXwFlAAANZgJ-DSM895.png" target="_blank"></a>
$mail = import-csv -path "c:\test01.csv"
##周遊CSV檔案内容
Foreach ($user in $mail)
{
$Alias = $user.SamAccountName
##批量導出CSV檔案中的郵箱賬号的歸檔郵箱資料到共享目錄中,并自動建立以使用者名命名的PST檔案。共享目錄的權限需要設定為Exchange信任子系統具有完全通路權限。
New-MailboxExportRequest -IsArchive -Mailbox $Alias -FilePath "\\127.0.0.1\PST\$Alias.pst"
}
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKioL1mC2wGzmspuAABPa5v5i-M962.jpg" target="_blank"></a>
使用腳本ImportMailbox.ps1将PST檔案導入到使用者的主郵箱中。腳本自動識别PST檔案的檔案名并将識别到的檔案導入到對應的郵箱賬戶主郵箱中。
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKiom1mC2wLx-Y-pAAA4kNps6so596.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKiom1mC2wPgLMA_AAHVBxZIM0I818.png" target="_blank"></a>
使用如下指令檢視導入請求狀态。
Get-MailboxExportRequest | Get-MailboxExportRequestStatistics
<a href="http://s3.51cto.com/wyfs02/M02/9D/A0/wKiom1mC2wXwTZOXAAC4fIHrhPA962.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKiom1mC2wbjMNZGAADiy6ywD8E219.jpg" target="_blank"></a>
Get-MailboxImportRequestStatistics -Identity 'contoso.com/Exchangeuser/test\MailboxImport1' | fl TargetMailboxIdentity,EstimatedTransferSize,EstimatedTransferItemCount,BytesTransferred,ItemsTransferred,PercentComplete
<a href="http://s3.51cto.com/wyfs02/M02/9D/A0/wKiom1mC2wezm2nDAAEbSWWKzM8289.png" target="_blank"></a>
在“管理工具”中打開“任務計劃程式”,如圖。
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKioL1mC2wjQ5j8HAACLSjb9pis318.jpg" target="_blank"></a>
選擇“建立任務”,如圖。
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKioL1mC2wrhc-0YAACtnkmV9dA965.jpg" target="_blank"></a>
輸入任務名稱,如圖。
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKiom1mC2wvzdqbAAACcTr3B4ww562.jpg" target="_blank"></a>
選擇“建立觸發器”,如圖。
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKiom1mC2wyxZJnwAABrYMTiC-Y368.jpg" target="_blank"></a>
設定任務運作時間。如圖。
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKiom1mC2w2A5oy-AACqRQxlkk4727.jpg" target="_blank"></a>
如圖操作。
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKioL1mC2w_wpbzBAACBvTvTWbo758.jpg" target="_blank"></a>
在程式或腳本中輸入如下指令:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer –auto; .'C:\Export-Mailbox_DB.ps1'"
<a href="http://s3.51cto.com/wyfs02/M02/9D/A0/wKioL1mC2xCi-5JiAAB_z1-YkAM556.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M00/9D/A0/wKiom1mC2xHh1S4-AAB8pLjnDPE763.jpg" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M01/9D/A0/wKioL1mC2xKis1Q7AABs4SHl11E895.jpg" target="_blank"></a>
本文轉自 jialt 51CTO部落格,原文連結:http://blog.51cto.com/jialt/1953360