3. Table of Contents
Lab: Migrating Public Folders from Exchange Server 2007 to Exchange Server 2013
Exercise 1: Enabling Connectivity to Legacy Public Folders
Exercise 2: Using Batch Migration to Migrate Public Folders
Exercise 3 (Optional): Removing Exchange Server 2007 from the Organization
4.
5. Lab: Migrating Public Folders from Exchange
Server 2007 to Exchange Server 2013
During this lab, youwill migrate the currently deployed Exchange Server 2007 organization
public folders to Exchange Server 2013. You willthen decommission the legacy Exchange
Server 2007 server.
Estimated time to complete: 45 minutes
What You Will Learn
After completing the exercises, youwill be able to:
Enable coexistence sharing of legacy public folders
Migrate legacy public folders to modern public folders
Decommission Exchange Server 2007
Scenario
Contoso Ltd. has installed Exchange Server 2013 into their Exchange Server 2007
organization and has already migrated mailboxes to the new Exchange server. As the
company’s Exchange administrator, youneed to enable access to the legacy public folders
for mailboxes on Exchange 2013 during coexistence and then migrate the organization’s
legacy public folders to the new Exchange server.
6. Exercise 1: Enabling Connectivity to Legacy Public
Folders
In this exercise, youwill enable access fromExchange 2013 mailboxes to legacy public
folders that are homed on Exchange 2007.
VirtualMachines
The followingvirtual machines will be used during this exercise.
DC1
EX07
EX13
CL1
Tasks
1. Createan empty mailboxdatabaseoneachpublicfolderserver.
a. Switchto EX07and open the Exchange Management Shell.
b. In the Exchange Management Shell, type the following,and then press
Enter.
New-MailboxDatabase -StorageGroup "EX07First Storage
Group" -Name "PFProxyMDB"
c. In the Exchange Management Shell, type the following,and then press
Enter.
Mount-Database PFProxyMDB
There is no output forthis command.
2. Createa proxy mailboxforpublicfolders.
Create a proxy mailbox within the new mailbox database and hide the
mailbox fromthe address book. The SMTP address of this mailbox willbe
returned by AutoDiscoveras the DefaultPublicFolderMailboxSMTP
address. By resolving this SMTP address, the client can reach the legacy
Exchange server for public folder access.
a. On EX07,in the Exchange Management Shell, type the following,and then
press Enter.
New-Mailbox -Name PFProxy -Database
PFProxyMDB -UserPrincipalName
PFProxy@Contoso.com
b. At the Passwordprompt, type Pa$$w0rdand then press Enter.
c. In the Exchange Management Shell, type the following,and then press
Enter.
7. Set-Mailbox -Identity PFProxy -
HiddenFromAddressListsEnabled $true
There is no output forthis command.
3. Configureusermailboxesto accessthelegacypublicfolders.
a. Switchto EX13.
b. Open the Exchange Management Shell.
c. In the Exchange Management Shell, type the following,and then press
Enter.
Set-OrganizationConfig -PublicFoldersEnabled
Remote -RemotePublicFolderMailboxes PFProxy
There is no output forthis command.
d. In the Exchange Management Shell, type the following,and then press
Enter.
Get-OrganizationConfig | FL *Public*
Review the type of public folders and the mailboxes associated with the
remote public foldermailboxes.
4. ReviewlegacypublicfoldersinOutlook®.
a. On CL1, on the taskbar, click Outlook2013.
b. Under the folder list, clickthe ellipsis, and then click Folders.
c. In the folder list, expand PublicFolders,expand All PublicFolders,and
review the list of folders.
Youmay have to waituntil the public folders become visible.
d. In the system tray, press Ctrl and right-clickthe MicrosoftOutlook icon.
e. In the menu, click ConnectionStatus.
f. In the Server name column, review the connections. Noticethat Outlookis
connected to EX07.contoso.com,whichis the Exchange 2007 server. This is
the connection to the public folders that are located there.
g. ClickClose.
h. In the system tray, press Ctrl and right-clickthe MicrosoftOutlook icon.
i. In the menu, click Test E-mail AutoConfiguration.
j. In the Test E-mail AutoConfiguration window,clear the Use
Guessmartand SecureGuessmartAuthentication checkboxes,andthen
clickTest.
k. Clickthe XML tab.
l. In the details pane, scroll to the bottomof the results, locateand review
the <PublicFolderInformation> tag.Noticethe SmtpAddress of the proxy
mailbox youconfigured earlier.
m. Close the Text E-mail AutoConfiguration window.
9. Exercise 2: Using Batch Migration to Migrate Public
Folders
In this exercise, youwill migrate the organization’s legacy public folders to the new modern
public folder structure on Exchange 2013. You willuse Windows PowerShell® scripts to
create public folder hierarchy documents as well as create a manual document forpublic
folder creation. Throughout the migration, youwill test connectivity to the public folders
using Outlook2013 to review end-user experience.
VirtualMachines
The followingvirtual machines will be used during this exercise.
DC1
EX07
EX13
CL1
Tasks
1. Reviewpublicfoldermigrationscripts.
a. Switchto EX07and then open Windows Explorer.
b. In Windows Explorer, browse to C:LabFilesPFScripts.
These scripts and their associated modules are used forcollecting public
folder information from Exchange 2007 and moving those public folders to
Exchange 2013. The scripts can be downloaded from
http://download.microsoft.comby searching forMicrosoftExchange 2013
Public Folders Migration Scripts.
2. Prepareforthe migration.
a. On EX07switchto the Exchange Management Shell.
b. In the Exchange Management Shell, type the following,and then press
Enter.
CD C:LabFilesPFScripts
c. For verificationpurposes at the end of migration, we recommend that you
first take snapshots of your current legacy public folder deployment. In the
Exchange Management Shell, type the following,and then press Enter.
Get-PublicFolder -Recurse | Export-CliXML
C:LabFilesPFScriptsLegacy_PFStructure.xml
d. In the Exchange Management Shell, type the following,and then press
Enter.
Get-PublicFolderStatistics | Export-CliXML
C:LabFilesPFScriptsLegacy_PFStatistics.xml
10. e. In the Exchange Management Shell, type the following,and then press
Enter.
Get-PublicFolder -Recurse | Get-
PublicFolderClientPermission | Select-Object Identity,User
-ExpandProperty AccessRights | Export-CliXML
C:LabFilesPFScriptsLegacy_PFPerms.xml
f. If the name of a public folder contains a backslash , the public folders will
be created in the parent public folder when the migration occurs.Before
you migrate, werecommend that you rename any public folders that have
a backslash in the name.
Use the followingcommand to find public folders that may contain a
backslash. In the Exchange Management Shell, typethe following,and then
press Enter.
Get-PublicFolderDatabase | ForEach {Get-
PublicFolderStatistics -Server $_.Server | Where {$_.Name
-like "**"}}
There should be no results after the command completes.
g. Make sure there is not a previous record of a successfulmigration. If there
is, youwill need to set that value to $false.If the value is set to $true the
migration request will fail.
Switchto EX13 and the Exchange Management Shell.
In the Exchange Management Shell, type the following, and then press
Enter.
Get-OrganizationConfig | Format-List
PublicFoldersLockedforMigration,
PublicFolderMigrationComplete
Verify that the status of the PublicFoldersLockedforMigrationand
PublicFolderMigrationComplete properties are False.
h. Make sure there are no existing public folder migration requests.
In the Exchange Management Shell, type the following, and then press
Enter.
Get-PublicFolderMigrationRequest
There should be no results output for this command.
i. Make sure there are no existing public folders on the Exchange 2013
servers. If the commands return any public folders, they must be removed
before continuing.
In the Exchange Management Shell, type the following, and then press
Enter.
Get-Mailbox -PublicFolder
There should be no results output for this command.
11. 3. Generatethe CSV files.
a. Switchto EX07and Windows Explorer.
b. In Windows Explorer, browse to C:LabFiles.
c. In the files list, right-clickPFMigration,point to Sharewith,and then
clickSpecificpeople.
d. In the File Sharing window, click Share.
e. In the File Sharing window,click Done.
f. Switch to the Exchange Management Shell.
g. The format forthe Export-PublicFolderStatistics.ps1script is .Export-
PublicFolderStatistics.ps1 <FQDN of sourceserver><Folderto sizemap
path>.
In the Exchange Management Shell, type the following, and then press
Enter.
.Export-PublicFolderStatistics.ps1
EX07PFMigrationPFStats.csv EX07.Contoso.com
h. Switch to WindowsExplorer.
i. In Windows Explorer, open the PFMigrationfolder.
j. Right-clickPFStats.csv and click the second Open in the list to open the
csv file in Notepad.
k. Review the last value in the rows. The value represents the current folder
size in bytes.
l. Close Notepad.
m. Switchto EX13and the Exchange Management Shell.
n. In the Exchange Management Shell, type the following,and then press
Enter.
CD C:LabFilesPFScripts
o. The format forthe PublicFolderToMailboxMapGenerator.ps1 script is
.PublicFolderToMailboxMapGenerator.ps1 <Maximummailbox sizein
bytes><Folderto sizemappath> <Folderto mailbox mappath>. The
Maximum mailbox size in bytes equals the maximum size youwant to set
for the new public folder mailboxes.
In the Exchange Management Shell, type the following, and then press
Enter.
.PublicFolderToMailboxMapGenerator.ps1 10MB
EX07PFMigrationPFStats.csv
EX07PFMigrationPFMap.csv
4. Createthe publicfoldermailboxesontheExchange2013server.
a. On EX13,open File Explorer and browse to EX07PFMigration
12. b. In the PFMigration folder,right-click PFMap.csv,and then click Open to
open the file in Notepad.
c. In Notepad, review the target mailbox name. The target public folders are
named Mailbox1, Mailbox2, and so on. The number of mailboxes will be
used in the next script to create the public foldermailboxes. For example, if
your last public folder is named Mailbox13, you will need to create 13
public folder mailboxes.
d. Close Notepad.
e. Because of the small size of the public folders in this lab, a migration
request using this mapping file would migrate all public folders into a
single public folder mailbox, named Mailbox1. For a more realistic
scenario, you will create a new public folder mapping file. In File Explorer,
right-clickin the file list, point to New, and then click Text Document.
f. Name the New Text Document to PFMAP_updated.csv
This file can also be copied from
C:LabFilesExamplesPFMap_Updated.csv to the EX07PFMigration
folder.
g. In the Rename dialog box, clickYes.
h. Right-clickPFMAP_updated.csv and the click Open.
i. In Notepad, typethe followinginformation.
"TargetMailbox","FolderPath"
"PFMB-Hierarchy",""
"PFMB-CompanyEvents","IPM_SUBTREECompany Events"
"PFMB-Europe","IPM_SUBTREEEurope"
"PFMB-Europe","IPM_SUBTREEEuropeLeases"
"PFMB-Finance","IPM_SUBTREEFinance"
"PFMB-PublicAffairs","IPM_SUBTREEPublicAffairs"
"PFMB-PublicAffairs","IPM_SUBTREEPublicAffairsNewsRelease-
Recent"
"PFMB-Redmond","IPM_SUBTREERedmond"
"PFMB-Redmond","IPM_SUBTREERedmondExecutives"
"PFMB-Redmond","IPM_SUBTREERedmondFinance"
"PFMB-Redmond","IPM_SUBTREERedmondReports"
"PFMB-Redmond","IPM_SUBTREERedmondReportsQuarterly"
"PFMB-Redmond","IPM_SUBTREERedmondTesting"
"PFMB-TailspinToys","IPM_SUBTREETailSpinToys"
"PFMB-TailspinToys","IPM_SUBTREETailSpinToysAudit"
"PFMB-TailspinToys","IPM_SUBTREETailSpinToysExpenses"
13. "PFMB-TailspinToys","IPM_SUBTREETailSpinToysProjects"
"PFMB-TailspinToys","IPM_SUBTREETailSpinToysProjectsProject
Falcon"
"PFMB-
TailspinToys","IPM_SUBTREETailSpinToysProjectsProjectA"
"PFMB-
TailspinToys","IPM_SUBTREETailSpinToysProjectsProjectT"
"PFMB-
TailspinToys","IPM_SUBTREETailSpinToysProjectsProjectX"
j. In the menu, click File,and then click Save.
k. Close Notepad.
l. Switchto the Exchange Management Shell.
m. Create the first public folder mailbox on Exchange 2013.
In the Exchange Management Shell, type the following, and then press
Enter.
New-Mailbox -PublicFolder PFMB-Hierarchy -
HoldForMigration:$True
n. In the Exchange Management Shell, type each command, pressing Enter
after each.
New-Mailbox -PublicFolder -Name PFMB-CompanyEvents
New-Mailbox -PublicFolder -Name PFMB-Europe
New-Mailbox -PublicFolder -Name PFMB-Finance
New-Mailbox -PublicFolder -Name PFMB-PublicAffairs
New-Mailbox -PublicFolder -Name PFMB-Redmond
New-Mailbox -PublicFolder -Name PFMB-TailspinToys
o. Verify that the public folders have been created.
In the Exchange Management Shell, type the following, and then press
Enter.
Get-Mailbox -PublicFolder
5. Createand start the batch migrationrequest.
a. Legacy system public folders such as OWAScratchPadand the schema-
root folder subtree in Exchange 2007 will not be recognized by Exchange
2013 and will be treated as bad items, whcihwill cause the migration to
fail. As part of the migration request, you must specify a value for the
BadItemLimit parameter. This value willvary depending on the number of
public folder databases youhave. The followingcommands will determine
how many public folder databases you have and compute the
BadItemLimit forthe migration request.
14. On EX13,in the Exchange Management Shell, type the following,and then
press Enter.
$PublicFolderDatabasesInOrg = @(Get-PublicFolderDatabase)
b. In the Exchange Management Shell, type the following,and then press
Enter.
$BadItemLimitCount = 5 +
($PublicFolderDatabasesInOrg.Count -1)
c. In the Exchange Management Shell, type the following,and then press
Enter.
New-MigrationBatch -Name PFMigration -
SourcePublicFolderDatabase (Get-
PublicFolderDatabase -Server EX07) -CSVData (Get-Content
EX07PFMigrationPFMap_Updated.csv -Encoding
Byte) -BadItemLimit $BadItemLimitCount -
NotificationEmails Administrator@Contoso.com
d. In the Exchange Management Shell, type the following,and then press
Enter.
Start-MigrationBatch -Identity PFMigration
e. In the Exchange Management Shell, type the following,and then press
Enter. Wait until yousee the Migration requests appear. Wait approx. 1
minute and youmay want to run the cmdlets several times.
Get-PublicFolderMailboxMigrationRequest
f. If the Status says “Queued”, type the following,and then press Enter.
Restart-Service MSExchangeMailboxReplication
g. Open Internet Explorer® and browse to https://mail.contoso.com/ecp
h. On the Exchange Admin Center page, sign in
as ContosoAdministratorwitha password of Pa$$w0rd
i. In the results pane, clickthe migrationtab.
j. On the toolbar, above the migrationbatchlist, clickRefresh.
k. Review the new migration batch request created in Exchange Management
Shell.
l. Periodically click Refreshuntil the STATUS of themigration batch
reads Synced.This may take 2-5 minutes.
If the status does not update to read Synced,the index may be in a failed
and suspended state. From the Exchange Management Shell on EX13,run
the following command:
CD C:Scripts
.FixIndex.ps1
15. It will take several minutes forthe index to be updated and become
healthy. When it is healthy, the status of the migration batch willupdate to
read Synced.
6. Lockdownthe publicfolderonEX07forfinal migration.
Until this point in the migration, users have been able to access public folders.
The next steps will log users off from the public folders and lockthe folders
while the migration completes its final synchronization. Users willnot be able
to access public folders during this process. Also, any mail sent to mail-enabled
public folders will be queued and will not be delivered until the public folder
migration is complete.
a. On EX07,in the Exchange Management Shell, type the following,and then
press Enter.
Set-OrganizationConfig -PublicFoldersLockedForMigration
$true
b. In the Exchange Management Shell, type the following,and then press
Enter
Restart-Service MSExchangeIS
c. In the Exchange Management Shell, type the following,and then press
Enter.
Get-Service -Name MSExchangeIS -ComputerName EX13
| Restart-Service
The MicrosoftExchange Information Store services are being restarted so
that the public folder databases pick up the change. Waitfor the command
to complete.
d. Switch to CL1.
e. On the taskbar, click Outlook2013.
f. If necessary, under the folder list, clickthe ellipsis, and then click Folders.
g. In the folder list, expand PublicFolders,andthen, attempt to expand All
PublicFolders.
h. Review the MicrosoftOutlook dialogbox. The public folders have been
lockedand are not able to be accessed. Click OK.
i. Close Outlook 2013.
7. Finalizethe publicfoldermigration.
a. Switchto EX13and the Exchange admin center.
b. In the migrationbatchlist, clickthe PFMigrationbatch.
c. In the details pane, click Completethismigrationbatch.
d. In the warning dialog box, click yes.
On the toolbar above the migrationbatchlist, periodically
clickRefreshuntil the STATUS columnreadsCompleted.This process
may take max. 2 minutes.
16. If the status does not update to read Completed,the index may be in a
failed and suspended state. From the Exchange Management Shell on EX13,
run the followingcommand:
CD C:Scripts
.FixIndex.ps1
It will take several minutes forthe index to be updated and become
healthy. When it is healthy, the status of the migration batch willupdate to
read Completed.
e.
8. Test andunlockthe publicfoldermigration.
a. On EX13,in the Exchange admin center, in the feature pane, click public
folders.
b. On the toolbar abovethe publicfolders list,clickRefresh.
Review the list of public folders.
c. Click the publicfoldermailboxes tab.
Review the public folder mailboxes that were created earlier.
d. Switch to the Exchange Management Shell.
e. In the Exchange Management Shell, type the following,and then press
Enter.
Get-PublicFolder -Recurse | ft Identity,ContentMailboxName
Review the output of the command.
f. In the Exchange Management Shell, type the following,and then press
Enter.
Set-Mailbox -Identity Administrator -
DefaultPublicFolderMailbox PFMB-Hierarchy
g. Switchto CL1.
h. On the taskbar, click Outlook2013.
i. If necessary, under the folder list, clickthe ellipsis and then click Folders.
j. In the folder list, expand PublicFolders andthen expand All Public
Folders.
Youmay have to waitfor Outlookto connectto the new public folder
mailboxes on Exchange 2013. This process may take several minutes and
you may need to close and then reopen Outlook 2013.
k. Expand PublicAffairs,and then click NewsRelease-Recent.
l. In the ribbon bar, click New Post.
m. In the new post, in the Subjectbox,type Hello CEOand then click Post.
n. Verify that the new post was created and then close Outlook 2013.
o. Switchto EX13 and the Exchange Management Shell.
17. After testing, if the public folder content and hierarchy is acceptable and
functions as expected, unlockthe public folders for all other users.
p. In the Exchange Management Shell, type the following,and then press
Enter.
Get-Mailbox -PublicFolder | Set-Mailbox -
PublicFolder -IsExcludedFromServingHierarchy
$false
q. Switch to EX07and the Exchange Management Shell.
r. In the Exchange Management Shell, typethe following,and then press
Enter.
Set-OrganizationConfig -PublicFolderMigrationComplete
$true
s. Switchto EX13and the Exchange Management Shell.
t. In the Exchange Management Shell, type the following,and then press
Enter.
Set-OrganizationConfig -RemotePublicFolderMailboxes
$Null -PublicFoldersEnabled Local
9. (Optional)Comparepublicfolderstructure,statistics,andpermissions.
a. On EX13,in the Exchange Management Shell, type the following,and then
press Enter.
Get-PublicFolder -Recurse | Export-CliXML
C:LabFilesPFScriptsModern_PFStructure.xml
b. In the Exchange Management Shell, type the following,and then press
Enter.
Get-PublicFolderStatistics | Export-CliXML
C:LabFilesPFScriptsModern_PFStatistics.xml
c. In the Exchange Management Shell, type the following,and then press
Enter.
Get-PublicFolder -Recurse | Get-
PublicFolderClientPermission | Select-Object Identity,User
-ExpandProperty AccessRights | Export-CliXML
C:LabFilesPFScriptsModern_PFPerms.xml
d. Open File Explorer and browseto C:LabFilesPFScripts.
e. In File Explorer, browse to EX07C$LabFilesPFScripts.
f. Open and compare each *_PFPerms.xml,*_PFStatistics.xml, and
*_PFStructure.xml file.
10.Removethe PublicFolderdatabasefromExchange2007.
a. Switchto EX07and then open the ExchangeManagementConsole.
b. In the MicrosoftExchange dialogbox, click OK toall warning messages.
c. In the console tree, expand ServerConfiguration,andthen click Mailbox.
18. d. In the workpane, under First Storage Group, double-clickMailbox
Database.
e. In the Mailbox Database Properties window,clickthe ClientSettings tab.
f. Next to Offlineaddressbook,clickBrowse.
g. In the Select Offline Address Book window,expand the Name column,
clickDefaultOfflineAddressBook(Ex2013),andthen click OK.
h. In the Mailbox Database Properties window,click OK.
i. In the work pane, under Second Storage Group, click PublicFolder
Database.
j. In the actions pane, under Public Folder Database, click Remove.
k. In the MicrosoftExchange dialogbox, click Yes.
l. In the MicrosoftExchange dialogbox, review the information, and then
clickYes.
m. In the MicrosoftExchangeWarning dialogbox, review the information
and then click OK.
19. Exercise 3 (Optional): Removing Exchange Server 2007
from the Organization
In this exercise, youwill uninstall the legacy Exchange Server 2007 from the organization.
VirtualMachines
The followingvirtual machines will be used during this exercise.
EX07
Tasks
1. Uninstall ExchangeServer2007.
a. On EX07,in the Exchange Management Console, expand Organization
Configuration,andthen clickMailbox.
b. In the results pane, clickthe OfflineAddressBook tab.
c. Right-clickDefaultOfflineAddressBook,whichisbeing generated on
EX07,and then click Remove.
d. In the MicrosoftExchange dialogbox, click Yes.
e. In the console tree, click RecipientConfiguration.
f. In the result list, right-clickPFProxy,and then click Remove.
g. In the MicrosoftExchange dialogbox, click Yes.
h. Close the Exchange Management Console and, if open, close the Exchange
Management Shell.
i. Click Start, point to Control Panel,and then click Programsand
Features.
j. In Programs and Features, in the programs list, click MicrosoftExchange
Server2007.
k. On the toolbar, click Uninstall.
l. In the Exchange Server 2007 SP3 Setup wizard,on the Exchange
Maintenance Mode page, click Next.
m. On the Server Role Selection page, clear the MailboxRole,ClientAccess
Role,and Hub TransportRole checkboxes.
n. Clear the ManagementToolscheckbox,and then click Next.
o. On the Readiness Checks page, after the checks complete, click Uninstall.
p. On the Completion page, click Finish.
q. Optionally, youcan:
Remove the Exchange database files (*.edb) and storage group log
files (*.log).
Remove the setup log files located at
%systemdrive%ExchangeSetupLogs.
20. Remove the followingvirtual servers that are created for Exchange
2007 under the Default Web Site in IIS:
o Microsoft-Server-ActiveSync
o OAB
o OWA