3. Managing Public Folder Databases
A public folder database
is an Exchange database that stores public folders and system folders
and assists in the replication of the folders with other Exchange
servers. Exchange Server 2010 supports public folder functionality. You
need to configure public folders if your clients are using Microsoft
Outlook 2003 or earlier. However, Outlook 2007 and Outlook 2010 do not
require public folders to implement OAB distribution or calendar
information except when they need to coexist with previous versions of
Exchange Server.
When you install the
first Exchange Server 2010 server in an Active Directory Domain Service
(AD DS) forest, you can specify whether your Exchange organization
supports Outlook 2003 or Microsoft Entourage. If you say yes, Exchange
Server 2010 creates a public folder database. If you say no, you can
create a public folder database later on using the New-PublicFolderDatabase cmdlet.
Note:
PUBLIC FOLDER DATABASE CREATION AND CONFIGURATION
For more information about how to use the New-PublicFolderDatabase cmdlet to create a public folder database, see http://technet.microsoft.com/en-us/library/bb123673.aspx. For more information about how to use the Set-PublicFolderDatabase cmdlet to configure a public folder database, see http://technet.microsoft.com/en-us/library/aa997225.aspx. For detailed information about public folder management, access http://technet.microsoft.com/en-us/library/bb124411.aspx and follow the links.
Although not every
Exchange organization hosts public folder databases, you, as a
professional, need to know how to manage them. As with mailbox
databases, you have the option of using the EMC or the EMS to carry out
most tasks. In order to manage a public folder database, you need to be
granted the Exchange Organization Administrator role and be a member of
the Local Administrators group on the target server.
3.1. Creating a Public Folder Database
As mentioned earlier in this section, the New-PublicFolderDatabase
cmdlet in the EMS is used to create a public folder database. For
example, the following command creates a public folder database named My
Public Folder database with a file path C:\Program
Files\Microsoft\Exchange Server\Mailbox\PublicDatabase.edb and a log
file path D:\ExchangeDatabases\Public\Logs\ PublicDatabase:
New-PublicFolderDatabase -Name "My Public Folder Database" -EdbFilePath "C:\Program
Files\Microsoft\Exchange Server\Mailbox\PublicDatabase.edb" -LogFolderPath
"D:\ExchangeDatabases\Public\Logs\PublicDatabase"
You can also use the following procedure in the EMC:
In the Console pane, under Organization Configuration, click Mailbox.
In the Action pane, click New Public Folder Database.
On
the Introduction page of the New Public Folder Database Wizard, specify
the public folder name and select the Mailbox server on which it is to
be created. Click Next.
On
the Set Paths page, you can optionally change the default paths to the
database (.edb) file and the transaction logs. Click Next. If you want
to mount the database when it is created, ensure that the Mount This
Database check box is selected (the default).
Read
the summary on the New Public Folder Database page. If you agree with
the settings, click New to create the public folder database. Figure 5 shows the New Public Folder Database page.
Note:
CREATING A PUBLIC FOLDER DATABASE
You cannot create a
public folder database on a server on which one already exists because a
Mailbox server can host a maximum of one public folder database.
3.2. Moving Public Folder Content
Two
scenarios exist in which you want to move public folder content from
one public folder database to another public folder database. You might
want to move all public folder content in a database to the new database
(for example, if you were replacing the Exchange Server 2010 server
that stored the public folder database with a newer or more powerful
server), or you might want to move a subtree in a tree of folders from
one server to another (for example, if you wanted to share the workload
involved in hosting public folders between the two servers).
You can use the
MoveAllReplicas.ps1 script to move all public folders in a public folder
database to a new public folder database. This script replaces a server
with a new server in the replication list for all public folders,
including system folders. You can use the
ReplaceReplicaOnPFRecursive.ps1 script to move all the replicas of a
public folder subtree from one server to another server. This script
adds a new server to the replication list for a public folder and all
the folders that are beneath it in the hierarchy. If the server is
already listed in the replication list for a folder, nothing changes for
that folder.
Note:
PUBLIC FOLDER SCRIPTS
For more information about using public folder scripts, see http://technet.microsoft.com/en-us/library/aa997966.aspx.
To use the EMS to move all
public folder content in a public folder database on Mailbox server
MailServerA to a new public folder database on Mailbox server
MailServerB, you enter the following command:
MoveAllReplicas.ps1 -Server MailServerA -NewServer MailServerB
To use the EMS to move content in a
tree of folders from Mailbox server MailServerA to Mailbox server
MailServerB where the top public folder in the hierarchy is called My
Public Folder, you enter the following command:
ReplaceReplicaOnPFRecursive.ps1 -TopPublicFolder "\My Public Folder" -ServerToAdd
MailServerB -ServerToRemove MailServerA
3.3. Removing Public Folders from a Database
Removing user or system
public folders from a public folder database is a two-stage procedure.
In the EMS, you first need to identify the public folder using the Get-PublicFolder cmdlet and pipe the result into the Remove-PublicFolder
cmdlet. Note that because there can be only one public folder database
on a server, you identify the server rather than the database. The
following command removes all user public folders from the public folder
database on the Mailbox server VAN-EX1:
Get-PublicFolder -Server VAN-EX1 "\" -Recurse -ResultSize:Unlimited | Remove-
PublicFolder -Server VAN-EX1 -Recurse -ErrorAction:SilentlyContinue
The following command removes all system public folders from the public folder database on the Mailbox server VAN-EX1:
Get-PublicFolder -Server VAN-EX1 "\Non_Ipm_Subtree" -Recurse -ResultSize:Unlimited |
Remove-PublicFolder -Server VAN-EX1 -Recurse -ErrorAction:SilentlyContinue
The Recurse parameter of the Get-PublicFolder
cmdlet specifies that the command must return the specified public
folder and all its children. You do not need to specify a value with
this parameter. Non_Ipm_Subtree specifies the system folder root. If
this is not specified after the \ symbol, then the root public folder
object Ipm_Subtree is taken as the default. In the Remove-PublicFolder
cmdlet, the Recurse parameter indicates that the root folder and all
its subfolders are removed. The ErrorAction parameter of the Remove-PublicFolder cmdlet determines the action to be taken if an error is detected.
Note:
GET-PUBLICFOLDER AND REMOVE-PUBLICFOLDER
For more information about the Get-PublicFolder cmdlet, see http://technet.microsoft.com/en-us/library/aa997615.aspx. For more information about the Remove-PublicFolder cmdlet, see http://technet.microsoft.com/en-us/library/bb124894.aspx.
3.4. Removing a Public Folder Database
If you want to remove a
public folder database, you must first move any public folder replicas
in the database to another server and remove all public folders in the
database. Otherwise, you will receive an error stating that the public
folder database cannot be removed. You can remove a public folder
database that contains no public folders or public folder replicas by
using either the EMC or the EMS.
To use the EMC to remove a public folder database, carry out the following procedure:
Click Mailbox under Organization Configuration in the Console pane.
On the Database Management tab in the Results pane, click the public folder database.
Click Remove in the Action pane.
A message appears asking if you are sure that you want to remove the database. Click Yes.
A
Microsoft Exchange Warning page appears, indicating that the database
was successfully removed and reminding you to manually remove the
database file. The default location for a public folder database file
and its associated log files is C:\Program Files\Microsoft\Exchange
Server\v14\Mailbox\<public folder database name>.
You can use the Remove-PublicFolderDatabase
cmdlet in the EMS to remove a public folder database from which all
public folders have been removed and all public folder replicas moved.
For example, to remove the public folder database MyPublicFolderDatabase
on the server VAN-EX1, you would use the following command:
Remove-PublicFolderDatabase -Identity "VAN-EX1\MyPublicFolderDatabase"
If
the public folder database you are removing is the only such database
in your Exchange organization, then you need to include the
RemoveLastAllowed parameter in the command.
Note:
REMOVE-PUBLICFOLDERDATABASE
For more information about the Remove-PublicFolderDatabase cmdlet, see http://technet.microsoft.com/en-us/library/aa996312.aspx.
3.5. Configuring Public Folder Database Properties
You can access the Properties
dialog box for a public folder database through the EMC by using a
procedure similar to the way you accessed the Properties dialog box for a
mailbox database earlier in this lesson. This lets you access four
tabs: General, Replication, Limits, and Public Folder Referral.
On the General tab, you can
obtain details of the database, such as its file path, whether it is
mounted, the server on which it is mounted, and its backup status. You
can configure the database replication schedule and specify whether the
database is mounted at startup, whether it can be overwritten by a
restore, and whether circular logging is enabled.
On the Replication tab, shown in Figure 6,
you can configure the replication interval and message size limit. You
can specify that replication always runs, never runs, runs every hour,
runs every two hours, or runs every four hours. You can click Customize
to configure a custom schedule.
Note:
PUBLIC FOLDER DATABASE PROPERTIES DIALOG BOX TABS
You configure a replication
schedule on the Replication tab and a maintenance schedule on the
General tab. There is no Maintenance tab.
The Limits tab is similar to the Limits tab in the Mailbox Database Properties dialog box shown earlier in Figure 4.
You can configure Warning and Prohibit Post size limits and Maximum
Item Size. You can specify the Warning Message Interval, Deletion
Settings, and Age Limits. You should not set size or age limits for
system folders.
On the Public Folder
Referral tab, you can control how Exchange Server 2010 redirects users
among the public folder servers in an organization. By default, Exchange
attempts to redirect the user to a server within the AD DS site by
obtaining intersite connection costs from Active Directory. You can,
however, create a custom public folder server list with an individual
cost for each server.
Note:
PUBLIC FOLDER REFERRALS
For more information about public folder referrals and connection costs, see http://technet.microsoft.com/en-us/library/bb691235.aspx.
You can also use the EMS to obtain and modify public folder database settings. The Get-PublicFolderDatabase
cmdlet can obtain the settings for all public folder databases in an
Exchange 2010 organization or for a specified public folder database.
For example, the following command lists the settings for all public
folder databases in an Exchange organization:
Get-PublicFolderDatabase | fl
Part of the output from this command is shown in Figure 7.
The following command lists the properties of the public folder database MyPublicFolderDatabase on the server ServerA:
Get-PublicFolderDatabase -Identity "ServerA\MyPublicFolderDatabase"
The Set-PublicFolderDatabase
cmdlet in the EMS lets you configure public server database settings.
For example, the following command sets the deleted items retention
period to 14 days and the event history retention period to 28 days,
never removes undeleted items, and retains deleted items until the next
backup on the public folder database MyPublicFolderDatabase on the
Mailbox server MyMailboxServer:
Set-PublicFolderDatabase -Identity "MyMailboxServer\MyPublicFolderDatabase"
-DeletedItemRetention 14.00:00:00 -RetainDeletedItemsUntilBackup $true
-EventHistoryRetentionPeriod 14.00:00:00 -ItemRetentionPeriod unlimited
The following command
sets the issue warning quota to 2,000 MB and configures the quota
notification schedule for all public folders in the public folder
database named MyPublicFolderDatabase:
Set-PublicFolderDatabase -Identity MyPublicFolderDatabase -IssueWarningQuota 2000MB
-QuotaNotificationSchedule "Mon.3:00 AM-Mon.3:20 AM,Wed.3:00 AM-Wed.3:20 AM,Fri.3:00
AM-Fri.3:20 AM"
Note:
GET-PUBLICFOLDERDATABASE AND SET-PUBLICFOLDERDATABASE
For more information about the Get-PublicFolderDatabase cmdlet, see http://technet.microsoft.com/en-us/library/aa998827.aspx. For more information about the Set-PublicFolderDatabase cmdlet, see http://technet.microsoft.com/en-us/library/aa997225.aspx.