Skip to main content

PST Mailbox Import Export

Exchange 2016: 

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn 

foreach ($Mailbox in (Get-Mailbox)) {New-MailboxExportRequest -Mailbox "$Mailbox" -FilePath "\\ACS-01-VSRV49\Export\$($Mailbox.Alias).pst"} 

 

 

 

Exchange 2013+   :     Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn;  

 

New-MailboxImportRequest Mailbox Username FilePath \\unc\share\Filename.pst 

 

 

New-MailboxExportRequest Mailbox J.Wesselius FilePath \\2010AD02\PST-Files\J.Wesselius.pst 

 

 

New-MailboxExportRequest -Mailbox "Chelsea Tackett" -FilePath \\rhsc-00-VSRV20\Litigation20180814\Chelseatackett.pst 

New-MailboxExportRequest -Mailbox "Mike Klug" -FilePath \\rhsc-00-VSRV20\Litigation20180814\MikeKlug.pst 

New-MailboxExportRequest -Mailbox "Liz Larner" -FilePath \\rhsc-00-VSRV20\Litigation20180814\LizLarner.pst 

New-MailboxExportRequest -Mailbox "Julie Overbeck" -FilePath \\rhsc-00-VSRV20\Litigation20180814\JulieOverbeck.pst 

New-MailboxExportRequest -Mailbox "John Overbeck" -FilePath \\rhsc-00-VSRV20\Litigation20180814\JohnOverbeck.pst 

New-MailboxExportRequest -Mailbox "Wendell Wiley" -FilePath \\rhsc-00-VSRV20\Litigation20180814\WendellWiley.pst 

New-MailboxExportRequest -Mailbox "Tim Bird" -FilePath \\rhsc-00-VSRV20\Litigation20180814\TimBird.pst 

New-MailboxExportRequest -Mailbox "Andy Sullivan" -FilePath \\rhsc-00-VSRV20\Litigation20180814\AndySullivan.pst 

New-MailboxExportRequest -Mailbox "Wade Jensen" -FilePath \\rhsc-00-VSRV20\Litigation20180814\WadeJensen.pst 

New-MailboxExportRequest -Mailbox "Roger Budreau" -FilePath \\rhsc-00-VSRV20\Litigation20180814\RogerBudreau.pst 

 

 

Export all disabled accounts with one command: 

 

 

 

$Export = Get-Mailbox 

$Export  | ?{$_.ExchangeUserAccountControl -eq 'AccountDisabled'} |%{$_|New-MailboxExportRequest -FilePath \\RHSC-00-srv12\test\$($_.alias).pst} 

 

 

$Export = Get-Mailbox 

$Export  | ?{$_.ExchangeUserAccountControl -eq 'AccountDisabled'} |%{$_|New-MailboxExportRequest -FilePath \\rhsc-00-vsrv17\Backup\$($_.alias).pst} 

 

 

 

List of Disabled accounts sorted by mailbox size: 

$Export = Get-Mailbox 

$Export  | ?{$_.ExchangeUserAccountControl -eq 'AccountDisabled'} | get-mailboxstatistics | sort-object totalitemsize –descending | ft displayname,totalitemsize 

 

All mailboxes into txt file: 

$Export = Get-Mailbox 

$Export  |  get-mailboxstatistics | sort-object totalitemsize –descending | ft displayname,totalitemsize > C:\Accent\mailboxsize.txt 

 

 

$Export = Get-Mailbox 

$Export  |  get-mailboxstatistics | sort-object totalitemsize –descending | Select-Object displayname,totalitemsize | Export-Csv C:\Accent\mailboxsize.csv -NoTypeInformation 

 

 

 

Pasted from <https://www.simple-talk.com/sysadmin/exchange/importing-psts-with-powershell-in-exchange-2010-sp1/ 

 

Get all mailboxes to a specific DB sorted by size 

Get-Mailbox -database "DB13" | Get-MailboxStatistics |Sort-Object totalitemsize -descending | ft displayname,totalitemsize,database > C:\Accent\mailboxsizeDB13.txt  

Get-Mailbox -database "DB16" | Get-MailboxStatistics |Sort-Object totalitemsize -descending | ft displayname,totalitemsize,database > C:\Accent\mailboxsizeDB16.txt  

Get-Mailbox -database "DB15" | Get-MailboxStatistics |Sort-Object totalitemsize -descending | ft displayname,totalitemsize,database > C:\Accent\mailboxsizeDB15.txt  

Get-Mailbox -database "DB17" | Get-MailboxStatistics |Sort-Object totalitemsize -descending | ft displayname,totalitemsize,database > C:\Accent\mailboxsizeDB17.txt  

Get-Mailbox -database "DB19" | Get-MailboxStatistics |Sort-Object totalitemsize -descending | ft displayname,totalitemsize,database > C:\Accent\mailboxsizeDB19.txt  

 

Get-Mailbox -database "DB13" | Get-MailboxStatistics |Sort-Object displayname -descending | ft displayname,database > C:\Accent\mailboxsizeDB13.txt  

 

 

Get DB path and log path 

Get-MailboxDatabase * | FL Name,*Path* 

 

 

Move DB path for logs 

Move-Databasepath "DB17" –EdbFilepath "E:\MailboxDatabase\DB17.edb" –LogFolderpath "F:\MailboxLogs\DB17" 

Move-Databasepath "DB15" –EdbFilepath "E:\MailboxDatabase\DB15.edb" –LogFolderpath "F:\MailboxLogs\DB15" 

Move-Databasepath "DB16" –EdbFilepath "E:\MailboxDatabase\DB16.edb" –LogFolderpath "F:\MailboxLogs\DB16"  

Move-Databasepath "DB19" –EdbFilepath "E:\MailboxDatabase\DB19.edb" –LogFolderpath "F:\MailboxLogs\DB19" 

 

Move-Databasepath "DB16" –EdbFilepath "G:\MailboxDatabase\DB16.edb" –LogFolderpath "F:\MailboxLogs\DB16"  

Move-Databasepath "DB20" –EdbFilepath "G:\MailboxDatabase\DB20.edb" –LogFolderpath "F:\MailboxLogs\DB20"  

 

Create new DB 

New-MailboxDatabase -Name "DB20" -EdbFilePath F:\MailboxDatabase\DB20.edb –LogFolderpath "F:\MailboxLogs\DB20"  

 

 

 

 

ID 'Whitespace' per DB (if defrag how much space would be gained) 

Get-MailboxDatabase -Status | FT Name,DatabaseSize,AvailableNewMailboxSpace -Auto 

 

From <http://www.blackmanticore.com/b67b676d69591719d3e14f7e92ee7a07