[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 224
  • Last Modified:

Archive outlook 2013

Whats the best way to archive all of outlook emails, calendar, contacts and notes to a PST?

I want to save the data for backup purposes but I cannot removed any of that data from product. So the trick is to archive everything to a PST but leave everything as well on production.
0
IT_Fanatic
Asked:
IT_Fanatic
1 Solution
 
Tim EdwardsIT Team Lead - Unified Communications & CollaborationCommented:
You will need to test as this is what I do for my 2010 environment when backing disabled users before removing. Under the Settings you will just need to input your information the OU and the ExportShare
 
###############
 # Settings #
 ###############
 
# OU Path for Users to be Archived.
 $OU = "contoso.com/users"
 
# Share to export mailboxes to. Needs R/W by Exchange Trusted Subsystem
 # Must be a UNC path as this is run by the CAS MRS service.
 $ExportShare = "UNCPath"
 
# After each run a report of the exports can be dropped into the directory specified below. (The user that runs this script needs access to this share)
# Must be a UNC path or the full path of a local directory.
 $ReportShare = "C:\Scripts\MailboxExport\Reports"
 
# Shall we remove the PST file, if it exists beforehand? (The user that runs this script needs access to the $ExportShare share)
 # Valid values: $true or $false
 $RemovePSTBeforeExport = $false
 
###############
 # Code #
 ###############
 
if ($Server)
 {
 if (!(Get-ExchangeServer $Server -ErrorAction SilentlyContinue))
 {
 throw "Exchange Server $Server not found";
 }
 if (!(Get-MailboxDatabase -Server $Server -ErrorAction SilentlyContinue))
 {
 throw "Exchange Server $Server does not have mailbox databases";
 }
 $Mailboxes = Get-Mailbox -Server $Server -ResultSize Unlimited
 } elseif ($Database) {
 if (!(Get-MailboxDatabase $Database -ErrorAction SilentlyContinue))
 {
 throw "Mailbox database $Database not found"
 }
 $Mailboxes = Get-Mailbox -Database $Database -ResultSize Unlimited
 } elseif ($OU) {
 $Mailboxes = Get-Mailbox -OrganizationalUnit $OU -ResultSize Unlimited
 }
 if (!$Mailboxes)
 {
 throw "No mailboxes found on $Server"
 }
 
 
if (!$Mailboxes.Count)
 {
 throw "This script does not support a single mailbox export."
 }
 
# Pre-checks done
 
# Make batch name
 $date=Get-Date
 $BatchName = "_Export_$($date.Year)-$($date.Month)-$($date.Day)_$($date.Hour)-$($date.Minute)-$($date.Second)"
 
Write-Output "Queuing $($Mailboxes.Count) mailboxes as batch '$($BatchName)'"
 
# Queue all mailbox export requests
 foreach ($Mailbox in $Mailboxes)
 {
 
if ($RemovePSTBeforeExport -eq $true -and (Get-Item "$($ExportShare)\$($Mailbox.Alias)$($BatchName).PST" -ErrorAction SilentlyContinue))
 {
 Remove-Item "$($ExportShare)\$($Mailbox.Alias)$($BatchName).PST" -Confirm:$false
 }
 New-MailboxExportRequest -BatchName $BatchName -Mailbox $Mailbox.Alias -FilePath "$($ExportShare)\$($Mailbox.Alias)$($BatchName).PST"
 }
 
Write-Output "Waiting for batch to complete"
 
# Wait for mailbox export requests to complete
 while ((Get-MailboxExportRequest -BatchName $BatchName | Where {$_.Status -eq "Queued" -or $_.Status -eq "InProgress"}))
 {
 
sleep 60
 }
 
# Write reports if required
 if ($ReportShare)
 {
 Write-Output "Writing reports to $($ReportShare)"
 $Completed = Get-MailboxExportRequest -BatchName $BatchName | Where {$_.Status -eq "Completed"} | Get-MailboxExportRequestStatistics | Format-List
 if ($Completed)
 {
 $Completed | Out-File -FilePath "$($ReportShare)\$($BatchName)_Completed.txt"
 }
 $Incomplete = Get-MailboxExportRequest -BatchName $BatchName | Where {$_.Status -ne "Completed"} | Get-MailboxExportRequestStatistics | Format-List
 if ($Incomplete)
 {
 $Incomplete | Out-File -FilePath "$($ReportShare)\$($BatchName)_Incomplete_Report.txt"
 }
 }
 
# Remove Requests
 Write-Output "Removing requests created as part of batch '$($BatchName)'"
 Get-MailboxExportRequest -BatchName $BatchName | Remove-MailboxExportRequest -Confirm:$false
0
 
AmitIT ArchitectCommented:
Just got to File>Open>Import>Export to a file>Outlook Data File>Select the mailbox or folder>Click Subfolders also, if required and finally export it.
0
 
IT_FanaticAuthor Commented:
Great it worked. Thank you
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now