Exchange 2010 SP1 Help Updated (Feb2011)


The Exchange 2010 SP1 help file has been updated (February 22th, 2010). You can download it here.

Windows Server 2008 R2 SP1 RTM’ed


Service Pack 1 for Windows Server 2008 R2 (and Windows 7) being released to manufacturing (RTM) today.  This is great news after an extensive beta period. Organizations can now plan for SP1 deployments. With SP1, organizations can use new features like Dynamic Memory, for increased virtual machine density, and RemoteFX for an enhanced Remote Desktop experience.

The availability of Service Pack 1 may also encourage customers with “SP0 anxiety” to start implementing Windows Server 2008 R2 or Windows 7.

Availability of SP1 is scheduled as follows:

  • February 16:  Available to TechNet/MSDN subscribers and Volume Licensing customers;
  • February 22:  General availability through Download Center and Windows Update.

Update: The Exchange Team blog published an item stating Windows Server 2008 R2 SP1 support for:

  • Exchange 2007 SP3
  • Exchange 2010 RTM
  • Exchange 2010 SP1

So, unlike earlier rumors, you don’t need to wait for Exchange 2010 SP2. What this means for the list of hotfix prerequisites remains to be seen. Note that the Exchange 2010 Supportability Matrix doesn’t mention Windows Server 2008 R2 SP1 yet.

Restoring a personal archive from backup


Many articles discuss recovering single or multiple mailboxes from backup, but little on how to recover those personal archives (and no, recovering the mailbox doesn’t recover the personal archive, depending on your backup solution of course). I’d like to show you how to restore a personal archive using standard Exchange 2010 SP1 functionality and a backup, meaning we won’t use the dumpster and we won’t be using a lagged copy.

For our example we’ll need an archive-enabled mailbox:

image

Disaster strikes and you need to perform a full recovery of the personal archive. For completeness I’ll describe shortly how to restore a backup and create and mount the recovery database.

First, restore the database and logs from backup (you do have a backup, right?) and use an alternative location to restore the files. In this example, the effective restoration path for the DB will be called <RestoreDBPath>, the path for the logs will be <RestoreLogsPath>.

Second, create a recovery database using the following cmdlet:

New-MailboxDatabase –Recovery –Name RecoveryDB –Server <ServerID> –EdbFilePath <RecoveryDBPath> –LogFolder <RecoveryLogsPath>

Before you can mount the recovery database it might be required to bring it in a clean state. This means all logs need to be replayed, for which we use ESEUTIL in recovery mode (/r). The command to use is something as follows, where <PREFIX> is the prefix used by the database, e.g. ‘”E00”:

ESEUTIL /r <PREFIX>  /l “<RecoveryLogsPath>” /d “<RecoveryDBPath>”

image

Next, mount the database using the Exchange Management Shell as follows:

Mount-MailboxDatabase RecoveryDB

Now it’s time to restore the personal archive, for which we’ll use the New-MailboxRestoreRequest cmdlet. We’ll use the TargetIsArchive parameter to specify that the restored content should be stored in the specified mailbox’s associated personal archive. Now the trick is to specify the ArchiveGuid as SourceStoreMailbox instead of the ID (yes, having a SourceIsArchive option in the future would be nice, so we don’t need to fetch the mailbox’ ArchiveGuid first). Given this information, use the following New-MailboxRestoreRequest cmdlet to restore UserID’s personal archive:

Get-Mailbox <UserID> | % { New-MailboxRestoreRequest -SourceDatabase RecoveryDB -SourceStoreMailbox $_.ArchiveGuid -TargetMailbox $_.Identity -TargetIsArchive }

image

This will fetch UserID’s mailbox first and pass it to the New-MailboxRestoreRequest cmdlet using the required parameters. Note that, unlike Restore-Mailbox, you can’t filter on subject, timeframe, etc. You can however optionally specify a TargetFolder to restore content in a separate folder (otherwise content will be merged, like you may expect).

The restore request is queued and you can monitor progress using Get-MailboxRestoreRequest. When the restore has finished successfully, the status will be set to Completed.

image

Now let’s take a look at the mailbox’ personal archive again:

image

When you verified everything is restored, you can remove the completed restore request using Get-MailboxRestoreRequest. For example, to remove all completed restore requests in conjunction with Remove-RestoreRequest cmdlet use the following:

Get-MailboxRestoreRequest | where { $_.Status -eq “Completed”} | Remove-MailboxRestoreRequest –Confirm:$false

The above procedure is great for restoring a single personal archive, but you can also use it to recover multiple mailboxes by passing a collection of mailboxes to New-MailboxRestoreRequest like shown above, e.g.

Get-Mailbox –Database <DatabaseID> | where {$_.Name –like “p*”} |  % { New-MailboxRestoreRequest -SourceDatabase RecoveryDB -SourceStoreMailbox $_.ArchiveGuid -TargetMailbox $_.Identity -TargetIsArchive }

This will select all mailboxes on a single database (which makes sense since the recovery database will only contain the backup of a single database) and filter the selection on users with a Displayname starting with a “p”. Those users’ personal archive will be restored using RecoveryDB.

Exchange 2010 SP1 Rollup 2 & RTM RU5


Today the Exchange Team released Rollup 2 for Exchange Server 2010 Service Pack 1 (KB2425179). This update raises Exchange 2010 version number to 14.1.270.1.

Here’s the list of changes included in this rollup:

  • 983186 The mailbox alias of a user contains the “?” character unexpectedly after you run the “Enable-Mailbox” cmdlet to create a mailbox for the user in an Exchange Server 2010 environment
  • 2295902 An excepted occurrence is not excluded from a recurring iCalendar message for an Exchange Server 2010 mailbox user
  • 2385017 You cannot edit public folder items even though you are the owner of the items in an Exchange Server 2010 environment
  • 2385194 You cannot connect to an Exchange Server 2010 mailbox by using a MAPI application when a Mailbox server and a Client Access server are installed on different computers
  • 2397171 You cannot reply or forward a large email message on an Exchange Server 2010 mailbox
  • 2403783 An incorrect label is displayed in the date field in a public folder item when you open the item by using OWA in an Exchange Server 2010 environment
  • 2408924 The subject of an item is deleted when you use the “UploadItems” operation together with the “Update” action or the “UpdateOrCreate” action in an Exchange Server 2010 environment
  • 2409597 You cannot open a public folder item when the default public folder database for the mailbox database is unavailable in an Exchange Server 2010 environment
  • 2423776 The Exchange Information Store service crashes frequently during a public folder replication process on an Exchange Server 2010 public folder
  • 2431500 You cannot connect to an Exchange Server 2010 mailbox simultaneously by using Outlook Anywhere from several Windows XP-based computers
  • 2433642 The “FETCH (BODYSTRUCTURE)” command returns a corrupted file name of an email message attachment on an Exchange Server 2010 computer
  • 2452075 You cannot connect to mailboxes in a recovery database on a server after you install Exchange Server 2010 SP1
  • 2458005 The Exchange Mailbox Replication service crashes when you use the “New-MailboxImportRequest” command to import a PST file to an Exchange Server 2010 mailbox
  • 2458419 “A temporary change has occurred that requires you to connect to a different server” error message when Exchange Server 2007 mailbox users try to access their mailboxes by using an Exchange Server 2010 Client Access server
  • 2322161 The replay queue length on passive copies of mailbox databases in Database Availability Group continues to increase in an Exchange Server 2010 environment
  • 982004 Exchange Server 2010 users cannot access the public folder
  • 983492 You cannot view updated content of an Exchange Server 2010 public folder
  • 983549 Exchange Server 2010 removes the sender’s email address from the recipient list in a redirected email message
  • 2467001 The MSExchangeTransport.exe process crashes or stops responding on a Hub Transport server that has Exchange Server 2010 SP1 installed

The team also released Exchange 2010 Rollup 5; that is, Rollup 5 for the RTM version of Exchange 2010 (KB2407113). Note that this KB article hasn’t been published yet so no details on the changes. The Exchange 2010 RTM RU5 update raises Exchange 2010 version number to 14.0.726.0.

When running ForeFront Protection for Exchange, make sure you disable ForeFront before installing the rollup and re-enabling it afterwards, otherwise the Information Store and Transport services may not start. You can disable ForeFront using fscutility /disable and enable it by using fscutility /enable afterwards.

For those still unaware, update rollups are cumulative, i.e. they contain fixes released in earlier update rollups for the same product level (RTM, SPx). This means you don’t need to install previous update rollups during a fresh installation but can start with the latest rollup published right away.

You can download Exchange 2010 SP1 Rollup 2 here; Exchange 2010 (RTM) Rollup 5 can be downloaded here.

Exchange 2010 SP1 Help Updated


The Exchange 2010 SP1 help file has been updated (October 14th, 2010). You can download it here.

The offline reference material is nice to take with you when you can’t access online resources.