The Management Shell provides cmdlets that allow you to connect to the items you wish to use as sources or targets for data restore operations. The names of such cmdlets have the format Attach-<Noun>.
Cmdlets for connecting to storages
Attach-RMEArchiveManager |
Establishes a connection to the specified Archive Manager instance. |
Attach-RMEExchangeDB |
Establishes a connection to the specified Exchange Server database. |
Attach-RMEExchangeMailbox |
Establishes a connection to the live Exchange Server mailbox you specify. |
Attach-RMEExchangePublicFolders |
Establishes a connection to the public folder hierarchy whose Exchange Server you specify. |
Attach-RMELotusDB |
Establishes a connection to the specified Lotus Domino database. |
Attach-RMEPersonalFolders |
Establishes a connection to the Personal Folders (.pst) file you specify. |
When connecting to an item which can act as a source or target for data restore operations (for example, a Personal Folders (.pst) file), you need to specify how you want to use that item. To indicate that the item will act as a source, use the -IsSource parameter. In this case, licenses may be allocated to the item as described in License allocation. If the -IsSource parameter is omitted, the item will only act as a target for the data restore operation and no licenses will be allocated to it.
When attaching the Exchange offline database using the Attach-RMEExchangeDB cmdlet, you can add the source or target storage to the list of storages that are registered in Recovery Manager for Exchange console. Provide the -RegisterStorage parameter to register the storage. If the parameter is omitted, the storage will be available only during the PowerShell session and will be disposed after the session is closed.
For more information on what items are supported as source and target storages by your edition of Recovery Manager for Exchange, see Comparison of Recovery Manager for Exchange editions.
Here is an example of how to connect to a Personal Folders (.pst) file:
Table 28: Example: Connecting to a .pst file
Attach-RMEPersonalFolders "C:\PST\MyData.pst" -IsSource |
This command establishes a connection to the file MyData.pst located in C:\PST. The file will be used as a source storage. |
The Management Shell provides cmdlets that allow you to retrieve objects representing such items as Exchange Servers, message attachments, folders, mailboxes, or messages. The names of these cmdlets have the format Get-<Noun>.
Table 29: Cmdlets for retrieving objects
Get-RMEAttachment |
Retrieves attachments from the messages that match the criteria you specify. |
Get-RMEExchangeServer |
Retrieves all Exchange Servers along with the mailboxes they host from a particular Exchange organization. |
Get-RMEFolder |
Retrieves the folders that match the criteria you specify. |
Get-RMEMailbox |
Retrieves the mailboxes that match the criteria you specify. |
Get-RMEMessage |
Retrieves the messages that match the criteria you specify. |
To retrieve an object
- Connect to the item you wish to use as a storage by using one of the cmdlets described in Cmdlets for connecting to storages.
- Pass the output of the cmdlet you used in step 1 to one of the cmdlets that retrieve objects, as shown in the next examples. To pass the output, you can use pipelining or a variable.
Table 30: Examples: Retrieving objects
Attach-RMEExchangeDB C:\Demo\priv1.edb | Get-RMEMailbox "Administrator" | Get- RMEFolder "Inbox" | Get-RMEMessage -Text "confidential" -SearchIn Subject |
The Attach-RMEExchangeDB cmdlet connects to the offline Exchange Server database priv1.edb, and then pipes the database object to the Get-RMEMailbox cmdlet.
The Get-RMEMailbox cmdlet gets the Administrator mailbox object, and pipes it to the Get-RMEFolder cmdlet.
The Get-RMEFolder cmdlet gets the Inbox folder object, and pipes it to the Get-RMEMessage cmdlet.
The Get-RMEMessage cmdlet gets all messages whose Subject field contains the word confidential. |
PS C:\> $source = Attach- RMEPersonalFolders "C:\psts\MyData.pst" -IsSource
PS C:\> Get-RMEMessage $source - TimeBefore "01.01.2000" |
In the first line of this example, the Attach- RMEPersonalFolders cmdlet connects to the MyData.pst file as a source storage, and then saves the file object in the $source variable.
In the second line of this example, the Get- RMEMessage cmdlet retrieves messages that were received before 01.01.2000 from the .pst file object saved in the $source variable. |
PS C:\> $source = Attach- RMEPersonalFolders "C:\psts\MyData.pst" -IsSource
PS C:\> Get-RMEMessage $source -TimeMatch sent -TimeAfter "01.01.2000" |
In the first line of this example, the Attach- RMEPersonalFolders cmdlet connects to the MyData.pst file as a source storage, and then saves the file object in the $source variable.
In the second line of this example, the Get- RMEMessage cmdlet retrieves messages that were sent after 01.01.2000 from the .pst file object saved in the $source variable.
NOTE: When retrieving messages by date, the Get- RMEMessage cmdlet searches in the Received field by default. To search in other message fields, use the TimeMatch parameter. |
The Management Shell provides cmdlets that allow you to restore folders, mailboxes, or messages. The names of such cmdlets have the format Restore-<Noun>.
Table 31: Cmdlets for restoring data
Restore-RMEFolder |
Restores folders. |
Restore-RMEMailbox |
Restores mailboxes. |
Restore-RMEMessage |
Restores messages. |
To restore data
- Connect to the item you wish to use as a storage by using one of the cmdlets described in Cmdlets for connecting to storages.
- Pass the output of the cmdlet you used in step 1 to one of the cmdlets that retrieve objects, as shown in the examples later in this procedure. For more information, see Cmdlets for retrieving (searching for) objects.
- Pass the output of the cmdlet you used in step 2 to one of the cmdlets that restore data, as shown in the next examples. To pass the output, you can use pipelining or a variable.
Table 32: Examples: Restoring data
Attach-RMEExchangeDB C:\Demo\priv1.edb | Get-RMEMailbox "Administrator" | Restore-RMEMailbox -TargetPath "C:\Exported\PST"
|
The Attach-RMEExchangeDB cmdlet connects to the offline Exchange Server database priv1.edb, and then pipes the database object to the Get-RMEMailbox cmdlet.
The Get-RMEMailbox cmdlet gets the Administrator mailbox object, and pipes it to the Restore- RMEMailbox cmdlet.
The Restore-RMEMailbox cmdlet restores the entire Administrator mailbox to a .pst file in the folder C:\Exported\PST. |
PS C:\> $target = Attach- RMEExchangeMailbox "Administrator" | Get-RMEFolder "Restored"
PS C:\> Attach-RMEExchangeDB "C:\Data\Edb\EdbSearchTest\EdbSearchTest .edb" | Get-RMEFolder "John Doe\Inbox" | Get-RMEMessage | Restore-RMEMessage - TargetFolder $target |
In the first line of this example, the Attach- RMEExchangeMailbox cmdlet connects to the Administrator mailbox.
The mailbox object is then piped to the Get- RMEFolder cmdlet that retrieves the Restored folder from the mailbox. The Restored folder object is then saved in the $target variable.
In the second line of this example, a connection is established to the EdbSearchTest.edb mailbox store database, and all messages are retrieved from the Inbox folder in the John Doe mailbox. The retrieved messages are then restored to the folder saved in the $target variable. |
PS C:\> $target = Attach- RMEExchangeMailbox "John Doe" | Get- RMEFolder "Restored"
PS C:\> Attach-RMEPersonalFolders "C:\PST\Data.pst" -IsSource | Get- RMEMessage -Text "data" -SearchIn Body,Subject,Attach | Restore-RMEMessage -TargetFolder $target |
In the first line of this example, the Attach- RMEExchangeMailbox cmdlet connects to the John Doe mailbox.
The mailbox object is then piped to the Get- RMEFolder cmdlet that retrieves the Restored folder from the mailbox. The Restored folder object is then saved in the $target variable.
In the second line of this example, the Attach- RMEPersonalFolders cmdlet connects to the Data.pst file. Then, the Get-RMEMessage cmdlet retrieves all messages whose body, subject, or attachments include the word data. Then, the Restore-RMEMessage cmdlet restores these messages to the target folder saved in the $target variable. |
The Management Shell provides cmdlets that allow you to export messages or attachments. The names of such cmdlets have the format Export-<Noun>.
Table 33: Cmdlets for exporting data
Export-RMEAttachment |
Exports attachments to the location you specify. |
Export-RMEMessage |
Exports messages to the format you specify or to Archive Manager. |
Here is an example of how to export messages:
Table 34: Example: Exporting messages
PS C:\> $messages = Attach-RMEExchangeDB "C:\Demo\priv1.edb" | Get-RMEMessage - Importance High
PS C:\> Export-RMEMessage -Messages $messages -Type MSG -ExportPath "C:\Exported\MSG" |
In the first line of this example, the Attach- RMEExchangeDB establishes a connection to the priv1.edb offline Exchange Server database file.
The database will be used as a source storage. The database object is then piped to the Get- RMEMessage cmdlet that retrieves all the messages that have high importance and saves them to the $messages variable.
In the second line of this example, the Export- RMEMessage cmdlet exports each message saved in the $messages variable to an individual .msg file in the folder C:\Exported\MSG. |