Applies to: Exchange Server 2007
Topic Last Modified: 2007-06-05

Use the Restore-Mailbox cmdlet to extract mailbox content from a database restored to a recovery storage group.

Syntax

restore-Mailbox -Identity <MailboxIdParameter> -RSGDatabase <DatabaseIdParameter> [-AllContentKeywords <String[]>] [-AttachmentFilenames <String[]>] [-BadItemLimit <Int32>] [-ContentKeywords <String[]>] [-EndDate <DateTime>] [-ExcludeFolders <MapiFolderPath[]>] [-GlobalCatalog <Fqdn>] [-IncludeFolders <MapiFolderPath[]>] [-Locale <CultureInfo>] [-MaxThreads <Int32>] [-ReportFile <LocalLongFullPath>] [-StartDate <DateTime>] [-SubjectKeywords <String[]>] [-ValidateOnly <SwitchParameter>]
restore-Mailbox -Identity <MailboxIdParameter> -RSGDatabase <DatabaseIdParameter> -RSGMailbox <StoreMailboxIdParameter> -TargetFolder <String> [-AllContentKeywords <String[]>] [-AttachmentFilenames <String[]>] [-BadItemLimit <Int32>] [-ContentKeywords <String[]>] [-EndDate <DateTime>] [-ExcludeFolders <MapiFolderPath[]>] [-GlobalCatalog <Fqdn>] [-IncludeFolders <MapiFolderPath[]>] [-Locale <CultureInfo>] [-MaxThreads <Int32>] [-ReportFile <LocalLongFullPath>] [-StartDate <DateTime>] [-SubjectKeywords <String[]>] [-ValidateOnly <SwitchParameter>]

Parameters

Parameter Required Type Description

Identity

Required

Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter

The Identity parameter specifies the identity of the target mailbox. This parameter is a name or a GUID. If the source mailbox is not identified with the RSGMailbox parameter, it is assumed that the source mailbox has the same Mailbox GUID as the target mailbox.

RSGDatabase

Required

Microsoft.Exchange.Configuration.Tasks.DatabaseIdParameter

The RSGDatabase parameter specifies the recovery storage group database from which you are restoring the mailbox. You can use the following values:

  • GUID of the database

  • Database name

  • Server name\database name

  • Server name\storage group\database name

RSGMailbox

Required

Microsoft.Exchange.Configuration.Tasks.StoreMailboxIdParameter

The RSGMailbox parameter specifies the mailbox in the recovery storage group to be used as the source mailbox. This parameter is required if the source mailbox is different from the target mailbox.

TargetFolder

Required

System.String

The TargetFolder parameter specifies the mailbox folder that will be created on the mailbox specified.

AllContentKeywords

Optional

System.String[]

The AllContentKeywords parameter specifies the filters for all of the following:

  • Subject

  • Message body

  • Attachment content

This allows an Or search of all these fields. If your search criteria are part of the subject, message body, or attachment content, you will get results.

AttachmentFilenames

Optional

System.String[]

The AttachmentFilenames parameter specifies the filter for the attachment file name. You can use wildcard characters in the string. For example, you can use "*.txt" to export items that have a .txt extension.

BadItemLimit

Optional

System.Int32

The BadItemLimit parameter specifies the number of corrupted items in a mailbox to skip before the export operation fails.

ContentKeywords

Optional

System.String[]

The ContentKeywords parameter specifies the keyword filters for the message body and content of attachments in the source mailbox.

EndDate

Optional

System.DateTime

The EndDate parameter specifies the end date for filtering content that will be exported from the source mailbox. Only items in the mailbox whose date is prior to the end date will be exported. When you enter a specific date, use the short date format that is defined in the Regional Options settings that are configured on the local computer. For example, if your computer is configured to use the short date format mm/dd/yyyy, enter 03/01/2006 to specify March 1, 2006.

ExcludeFolders

Optional

Microsoft.Exchange.Data.Mapi.MapiFolderPath[]

The ExcludeFolders parameter specifies the list of folders to exclude during the export. Folders are excluded as they are entered. They are not localized. For example, excluding calendar will only exclude calendar in English because calendar in other languages is a different word.

GlobalCatalog

Optional

Microsoft.Exchange.Data.Fqdn

The GlobalCatalog parameter specifies the global catalog to use to search for the target mailbox.

IncludeFolders

Optional

Microsoft.Exchange.Data.Mapi.MapiFolderPath[]

The IncludeFolders parameter specifies the list of folders to include during the export. Folders are included as they are entered. They are not localized. For example, including calendar will only include calendar in English because calendar in other languages is a different word.

Locale

Optional

System.Globalization.CultureInfo

The Locale parameter specifies the locale setting on a message to restore. With this filter set, only messages of the set locale will be extracted.

MaxThreads

Optional

System.Int32

The MaxThreads parameter specifies the maximum number of threads to use.

ReportFile

Optional

Microsoft.Exchange.Data.LocalLongFullPath

The ReportFile parameter specifies the path and file name for the XML report log.

StartDate

Optional

System.DateTime

The StartDate parameter specifies the start date. The start date must take place before the end date.

SubjectKeywords

Optional

System.String[]

The SubjectKeywords parameter specifies the keyword filters for subjects of items in the source mailbox. This filter will find the search string even if it is part of a word. This is not a whole word search.

ValidateOnly

Optional

System.Management.Automation.SwitchParameter

The ValidateOnly parameter instructs the command to simulate the actions that it would take on the object. The default value is $true.

Detailed Description

The Restore-Mailbox cmdlet copies end-user data from a recovery storage group on any server running Microsoft Exchange Server 2007 to a mailbox on any Exchange 2007 Mailbox server in the same organization that has adequate space and resources to support the mailbox.

A recovery storage group allows you to recover data from a backup copy of the database without disturbing user access to current data. The recovery storage group can also be useful in retrieving data in the event of data loss. A server can contain only one recovery storage group.

To run the Restore-Mailbox cmdlet, the account you use must be delegated the following:

  • Exchange Server Administrator role and local Administrators group for both the source and target servers.

For more information about permissions, delegating roles, and the rights that are required to administer Exchange Server 2007, see Permission Considerations.

Servers are part of a single forest or resource forests. Mailbox data can only be exported to mailboxes within the same forest. The Active Directory directory service accounts associated with the mailbox can be in an external forest, but mailbox data cannot be exported to servers in different forests.

The recovered and source databases must be from an Exchange 2007 server.

The Restore-Mailbox cmdlet can only use disconnected mailboxes from a recovery storage group on a server as a source of data and connected mailboxes as a target for data.

Input Types

Return Types

Errors

Error

Description

 

 

Exceptions

Exceptions

Description

 

 

Example

In the following example code, the first example restores a mailbox for user Chris from the recovery storage group database MyRSGDatabase. The second example restores Ricardo's mailbox content into Chris' mailbox under the Recovery folder. The third example restores only the mails with the subject "Meeting" AND containing the word "business" in the body AND that are located either in the Inbox or Calendar folders. This example assumes that the mailbox is in English. The last example bulk restores all the mailboxes in the MyDatabase mailbox database that are also present in the MyRSGDatabase.

Copy Code
Restore-Mailbox -Identity chris -RSGDatabase MyRSGDatabase
Restore-Mailbox -Identity Chris -RSGDatabase MyRSGDatabase -RSGMailbox Ricardo -TargetFolder Recovery
Restore-Mailbox -Identity Chris -RSGDatabase MyRSGDatabase -SubjectKeywords "Meeting" -ContentKeyword "business" -IncludeFolders \Inbox,\Calendar
Get-mailbox -Database MyDatabase | Restore-Mailbox -RSGDatabase MyRSGDatabase