Here is a list of all KB articles released in the past week that apply to Exchange Server 2003, 2007, 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2007
980400 On Exchange Server 2007 or on Exchange Server 2010, e-mail messages seem to disappear when you try to move them to a mailbox folder
201389 SBS2008: No mail flow, Getting Event ID: 10003, Error: The type initializer for 'Microsoft.Mapi.ExRpcPerf' threw an exception
977920 You receive an error when you try to create a Unified Messaging Auto Attendant in the Exchange Management Console: "The pilotidentifier 'string value' is not a valid extension"
Exchange Server 2010
980049 You cannot connect to an Exchange Server 2010 mailbox from Outlook Web Access
979611 Description of Update Rollup 2 for Exchange Server 2010: February 18, 2010
979431 The POP3 service crashes when a user connects to a mailbox through the POP3 protocol and the user is migrated from an Exchange Server 2003 server to an Exchange Server 2010 server
979480 Users cannot receive new messages if they access mailboxes that are moved to another Exchange Server 2010 RU1 server by using IMAP4 clients
979563 Exchange Server 2010 Push Notifications does not work
980261 This fix introduces the supports for Exchange Server 2010 page patching when a "-1022" disk I/O error is generated
980262 Event ID 2156 is logged on a computer that is running Exchange Server 2010
977633 Certain third-party IMAP4 clients cannot connect to Exchange Server 2003 mailboxes through an Exchange Server 2010 CAS server
979566 A 0x85010014 error is generated when linked mailbox users try to synchronize their mailboxes with mobile devices in a CAS-CAS proxying scenario in Exchange Server 2010
Microsoft has released the following update rollup for Exchange Server 2010:
• Update Rollup 2 for Exchange Server 2010 (979611)
If you're running Exchange Server 2010, you need to apply Update Rollup 2 for Exchange 2010 to address the issues listed below.
Remember, you only need to download the latest update for the version of Exchange that you're running.
Here is a list of the fixes included in update rollup 2:
- 977633 Certain third-party IMAP4 clients cannot connect to Exchange Server 2003 mailboxes through an Exchange Server 2010 CAS server
- 979480 Users cannot receive new messages if they access mailboxes that are moved to another Exchange Server 2010 RU1 server by using IMAP4 clients
- 979431 The POP3 service crashes when a user connects to a mailbox through the POP3 protocol and the user is migrated from an Exchange Server 2003 server to an Exchange Server 2010 server
- 979563 Exchange Server 2010 Push Notifications does not work
- 980261 This fix introduces the supports for Exchange Server 2010 page patching when a "-1022" disk I/O error is generated
- 980262 Event ID 2156 is logged on a computer that is running Exchange Server 2010
- 979566 A 0x85010014 error is generated when linked mailbox users try to synchronize their mailboxes with mobile devices in a CAS-CAS proxying scenario in Exchange Server 2010
Download the rollup here.
Installation Notes:
If you haven't installed Exchange 2010 yet, you can use the info at Quicker Exchange installs complete with service packs and rollups to save you some time (article is written in reference to Exchange 2007, but applies to 2010 as well).
Microsoft Update can't detect rollups for servers that are members of a Database Availability Group (DAG). See the post Installing Exchange 2010 Rollups on DAG Servers for info, and a script, for installing update rollups.
Update Rollups should be applied to Internet facing Client Access Servers before being installed on non-Internet facing Client Access Servers.
If you're installing the update rollup on Exchange 2010 servers that don't have Internet access, see "Installing Exchange 2007 & 2010 rollups on servers that don't have Internet access" for some additional steps.
Also, the installer and Add/Remove Programs text is only in english - even when being installed on non-english systems.
Here is a list of all KB articles released in the past week that apply to Exchange Server 2003, 2007, 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2003
201994 Error: "Trying to connect to Microsoft Exchange Server" results in MAPI_E_LOGON_FAILED
Here is a list of all KB articles released in the past week that apply to Exchange Server 2007, Exchange Server 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2007
- 979704 Description of Update Rollup 6 for Hosted Messaging and Collaboration 4.5
Exchange Server 2010
- 980048 Error message when you try to submit an HTTP POST programmatically to Exchange Server 2010 Web Services: "HTTP 404 Resource Not Found"
Forefront Security for Exchange Server
- 978297 Description of Hotfix Rollup 1 for Service Pack 2 for Forefront Security for Exchange Server
Here is a list of all KB articles released in the past week that apply to Exchange Server 2007, Exchange Server 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2003
- 979177 You cannot use Outlook 2003 to connect to an Exchange 2003 server by using RPC over HTTPS
Exchange Server 2010
- 980050 The Exchange Server 2010 setup on a Hyper-V virtual machine fails and a “2147504141” error occurs
Here is a list of all KB articles released in the past week that apply to Exchange Server 2007, Exchange Server 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2007 and 2010
978775 You cannot remove the OWA virtual directory from IIS 7 on an Exchange Server 2007 server
978015 You cannot enable the Exchange Server 2007 mailbox of a copied user account when the server that the template user account locates on does not exist
979174 Event ID: 1035 is logged when some e-mail messages are stuck in a remote delivery queue in a Microsoft Exchange Server 2007 environment or in a Microsoft Exchange Server 2010 environment
975807 After you install Exchange Server 2007 CCR Service Pack 2, the Exchange Management Console displays an error: "Warning: The server administrator '' not a member of the Exchange View-Only Administrators"
Forefront Security for Exchange Server
978973 Error message when you try to install Forefront Security for Exchange or Antigen 9.0 for Exchange: "Setup failed to create the Antigen resource and configuration in the EVS"
Forefront Protection 2010 for Exchange Server
978974 When you try to install Forefront Protection 2010 for Exchange Server on an SCC cluster, the installation is unsuccessful, and you receive an error message: "Invalid query"
978220 Additional records are unexpectedly selected when you hold down SHIFT and then click to select multiple records that are in the Quarantine pane in Forefront Protection 2010 for Exchange Server (FPE)
Here is a list of all KB articles released in the past week that apply to Exchange Server 2007, Exchange Server 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2007
- 978777 Office Outlook 2003 does not connect to two or more additional mailboxes in a mixed Exchange Server 2007 and Exchange Server 2010 environment
- 976997 The Exchange Replication service in a CCR cluster crashes continually in an Exchange Server 2007 environment
- 973299 The contact name appears incorrectly in an Exchange Server 2007 environment if you set the language to Spanish in OWA
- 977919 The "Get-StorageGroupCopyStatus" command incorrectly shows that the storage group of a SCR on Exchange Server 2007 is disabled
Here is a list of all KB articles released in the past week that apply to Exchange Server 2007, Exchange Server 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2007
- 976106 Microsoft Exchange Transport services crashes and a "StackOverflowException" error is logged when Message Journaling is enabled on Exchange Server 2007
- 977355 Non-ASCII characters in a display name of a forwarded message are shown with a "?" when the display name of a contact is in East Asia characters in an Exchange Server 2007 environment
- 974155 OWA does not highlight misspelled words in an Exchange Server 2007 CAS proxy environment
- 970817 An appointment is displayed incorrectly as an all-day event if you use a mobile device to synchronize the calendar in Exchange Server 2007
- 974775 The EdgeTransport.exe process crashes intermittently on an Exchange Server 2007 server
- 971889 When a Unified Messaging-enabled user calls Outlook Voice Access on Exchange Server 2007 to play a voice mail message, there is a delay before the voice mail message is played
- 974161 Some attendees do not receive a meeting cancellation notification when the appointment recurrence pattern is changed by using EWS in Exchange Server 2007
- 974312 Unread messages are marked as "read" when Exchange Server 2007 processes the EXAMINE command
- 977181 The EXOLEDB component is not initialized successfully when you start Exchange Information Store Service on an Exchange Server 2007 server
- 976787 The Calendar Month View displays a numeric date and not an abbreviated month name when you set the Regional Settings to Japanese or to Korean in Outlook Web Access for Exchange Server 2007
- 977085 An incorrect value for DumpsterMessagesDeleted is reported in an Exchange Server 2007 environment
- 969230 The "age limits" function of a public folder do not work as expected in an Exchange Server 2007 environment
- 974450 A new accepted domain that is added does not work in an Exchange Server 2007 organization
- 974946 Exchange Server 2007 OWA users receive an error message when the users change the display line for the search results on the address books
- 976946 The message delivery time is incorrect when you send e-mail messages by using an IMAP4 client together with the APPEND command in Exchange Server 2007
- 977412 Error message when a client that uses the WebDAV protocol to connect to an Exchange Server 2007 server: "Error 1000"
- 975918 When an IMAP4 client sends a FETCH (bodystructure) request to a server that is running the Exchange Server 2007 IMAP4 service, a corrupted response is sent as a reply
- 973486 Some message parts are not readable when Exchange Server 2007 must convert the message part encoding from binary or from 8 bit to 7 bit
- 973969 Incorrect exceptions are generated for a recurring iCalendar message when an Exchange Server 2007 server processes an SMTP message that contains the iCalendar message part
- 969948 A Computer that is running the Microsoft Exchange Server 2007 Client Access Server role becomes slow when a user tries to open a folder that contains many items
- 974843 The Exchange Server 2007 "Messages queued for submission" performance counter displays an incorrect value
- 974401 Store sessions are not released when you run the "Add-PublicFolderClientPermission" cmdlet or the "Remove-PublicFolderClientPermission" cmdlet in public folders on a computer that is running Exchange Server 2007
- 977091 The time for an updated meeting request is shown incorrectly in an exception instance of a recurring meeting request in an Exchange Server 2007 environment
- 974344 You still receive an error message when you run the Test-OwaConnectivity command after you apply hotfix KB957485 in Exchange Server 2007
Microsoft has released the following update rollup for Exchange Server 2007:
• Update Rollup 2 for Exchange Server 2007 SP2 (972076)
If you're running Exchange Server 2007, you need to apply Update Rollup 2 for Exchange 2007 SP2 to address the issues listed below.
Remember, you only need to download the latest update for the version of Exchange that you're running.
Helpfull notes:
- If you haven't installed Exchange 2007 yet, you can use the info at Quicker Exchange installs complete with service packs and rollups to save you some time.
- If you are installing rollups on servers that don't have Internet access, see Installing Exchange 2007 & 2010 rollups on servers that don't have Internet access for tips on avoiding some issues.
- If you are installing the update rollup on a CCR, see How to install Update Rollups in a CCR Environment.
Here is a list of the fixes included in rollup 2:
- 961525 Exchange Server 2003 may generate duplicate journal reports in a mixed Exchange Server 2003 and Exchange Server 2007 environment
- 969230 The "age limits" function of a public folder do not work as expected in an Exchange Server 2007 environment
- 969948 A computer that is running Microsoft Exchange Server 2007 that has the Client Access Server (CAS) role installed becomes slow when a user tries to open a folder that contains many items
- 970817 An appointment is displayed incorrectly as an all-day event if you use a mobile device to synchronize the calendar in Exchange Server 2007
- 971177 The Auto Attendant 'Business Hours' schedule is not updated in Exchange Server 2007 when the DST setting is changed
- 971349 Exchange Server 2007 users intermittently cannot access an Exchange Server 2003 user's Free/Busy information in Office Outlook 2007
- 971889 When Unified Messaging-enabled users call Outlook Voice Access on Exchange Server 2007 to play voice mails messages, there is a delay before the voice mail message is played
- 972705 The Microsoft Exchange Server 2007 log or database experiences abnormal growth
- 972744 When a user sends e-mail messages to a remote domain, some e-mail messages are queued on an Exchange Server 2007 Hub Transport server or Edge server
- 973165 A return address is split into two separate and incomplete addresses when a recipient replies to a specific message in Exchange 2007
- 973486 Some message parts are not readable when Exchange Server 2007 must convert the message part encoding from binary or from 8 bit to 7 bit
- 973969 Incorrect exceptions are generated for a recurring iCalendar message when an Exchange Server 2007 server processes an SMTP message that contains the iCalendar message part
- 974155 OWA does not highlight misspelled words in an Exchange Server 2007 CAS proxy environment
- 974161 Some attendees cannot receive a meeting cancellation notification when the appointment recurrence pattern is changed by using EWS in Exchange Server 2007
- 974312 Unread messages are marked as "read" when Exchange Server 2007 processes the EXAMINE command
- 974344 You still receive an error message when you run the Test-OwaConnectivity command after you apply hotfix KB957485 in Exchange Server 2007
- 974401 Store sessions are not released when you run the Add-PublicFolderClientPermission cmdlet or the Remove-PublicFolderClientPermission cmdlet in public folders on a computer that is running Exchange Server 2007
- 974450 A new accepted domain that is added does not work in an Exchange Server 2007 organization
- 974679 Returned folder names include a question mark when you check the folder names of an Exchange Server 2007 mailbox
- 974775 The EdgeTransport.exe process crashes intermittently on an Exchange Server 2007 server
- 974843 Exchange Server 2007 performance counter "Messages queued for submission" shows incorrect value
- 974897 You receive an NDR you try to send messages through your Microsoft Exchange Server 2007 account
- 974946 Exchange Server 2007 OWA users receive an error message when the users change the display line for the search results on the address books
- 974999 The "Task Owner" field is not set when you create a task in Outlook Web Access
- 975050 A call transfer fails by using key mapping in a mixed Exchange Server 2007 UM server and OCS 2007 environment
- 975165 EWS proxying requests fail after you run Availability Service requests in a CAS to CAS proxying scenario in Exchange Server 2007
- 975213 You cannot log on to your mailbox and you receive an error in an Exchange server 2003 and Exchange Server 2007 coexist environment
- 975255 Event 2104 and event 2147 are continuously logged in an Exchange Server 2007 Cluster Continuous Replication (CCR) environment
- 975404 An attachment of a meeting request cannot be opened when you use a CDO application to accept a meeting request in Exchange Server 2007
- 975844 The misspelled word of a message loses its custom format when an Exchange Server 2007 user writes the message in OWA
- 975903 The RemoveDelegate operation of EWS fails, and then a "500 internal server" error response and event ID 4999 are logged in an Exchange Server 2007 server
- 975916 The custom form of a meeting request is removed in the recipients' calendar in an Exchange Server 2007 environment
- 975918 When an IMAP4 client sends a FETCH (bodystructure) request to a server that is running the Exchange Server 2007 IMAP4 service, a corrupted response is sent as a reply
- 975946 An S/MIME message is not verified and is rejected when BizTalk Server 2006 uses the Exchange Server 2007 version of ExSMime.dll to parse MIME messages
- 975990 Messages that have duplicate message IDs are deleted when they are archived to an Exchange 2007 mailbox
- 976025 The free/busy information of an Exchange Server 2007 user is not displayed
- 976106 Microsoft Exchange Transport services crashes with StackOverflowException when Message Journaling is enabled on Exchange Server 2007
- 976107 You receive the warning "Failed to update recipient" when you run the Update-addresslist cmdlet in Exchange Management Shell on Exchange Server 2007
- 976137 Exchange Server 2007 Unified Messaging incorrectly plays a nonbusiness hours greeting when someone calls during holiday
- 976195 You cannot edit a transport rule if one or more of the recipient addresses are disabled or removed in an Exchange Server 2007 server
- 976653 The Cluster Administrator shows that the mount operation fails and error 1003 is logged even though the database is mounted in an Exchange Server 2007 CCR or in a SCC environment
- 976787 The Calendar Month View displays a numeric date and not an abbreviated month name when you set the Regional Settings to Japanese or to Korean in Outlook Web Access for Exchange Server 2007
- 976794 When you edit an e-mail message in OWA, the font changes to the default Internet Explorer font
- 976946 The message delivery time is incorrect when you send e-mail messages by using an IMAP4 client together with the APPEND command in Exchange Server 2007
- 977085 An incorrect value for DumpsterMessagesDeleted is reported in an Exchange Server 2007 environment
- 977091 The time for an updated meeting request is incorrectly shown in an exception instance of a recurring meeting request on an Exchange Server 2007 environment
- 977181 The EXOLEDB component is not initialized successfully when you start Exchange Information Store Service on an Exchange Server 2007 server
- 977223 A move operation on a folder fails when the "ptagProvisionedFid" attribute is invalid in an Exchange Server 2007 environment
- 977261 One or more errors occur when you set the Message Access logging level to Expert in an Exchange Server 2007 SP2 server
- 977355 Non-ASCII characters in a display name of a forwarded message are shown with "?" when the display name of a contact is in East Asia characters in an Exchange Server 2007 environment
- 977412 Error message when you use the WebDAV protocol to connect to an Exchange Server 2007 server: "Error 1000"
- 977425 The "Proxy server name" field is incorrectly shown in OWA in an Exchange Server 2007 CAS-to-CAS proxy environment
- 978593 Windows Server 2008 VSS backup plug-in fails to backup Exchange 2007 Service Pack 2 databases that reside on a volume mount point
Download the rollup here. It is also available on Microsoft Update.
Here is a list of all KB articles released in the past week that apply to Exchange Server 2007, Exchange Server 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2007
977964 Error message occurs when you move a mailbox from an Exchange Server 2003 server to an Exchange Server 2007 or Exchange Server 2010 server
Having had to install rollups on a bunch of Exchange 2010 servers recently, I took the info from the original post
Installing Exchange 2010 rollups on DAG servers and combined it all into a PowerShell script. I also updated the original article to include steps using Exchange Management Console (EMC). Take a look at the original post for the updated info and script.
In today's security concious organizations, many internal servers don't have Internet access. This reduces the attack surface for the servers. However, some tasks require Internet access to some degree, such as Windows Updates. That can be mitigated by WSUS or System Center Configuration Manager. But Exchange rollups also look to the Internet, and not having Internet access can cause the rollup installation to take considerably longer, or even fail.
Exchange rollups use signed code, and IE will check http://crl.microsoft.com/pki/crl/products/CSPCA.crl for certificate revocation to validate the code signing. It's here we time out if there is no Internet connection to that URL.
We can fix this easily by disabling certification revocation in Internet Explorer. Simply open IE, go to Tools>Internet Options>Advanced>Security. Find the "Check for publisher’s certificate revocation” option and uncheck the box.

Click OK and close everything up. Installing the rollup should go much quicker now, since the server won't check for cert revocation.
If you're still having other problems with rollup installation, such as managed services not starting (usually affecting Exchange 2007), you may need to tweak some config files. Microsoft has documented this at http://support.microsoft.com/default.aspx/kb/944752 and http://msexchangeteam.com/archive/2008/07/08/449159.aspx
As you've probably heard, Microsoft recently released the first rollup package for Exchange 2010. Like the Exchange 2007 versions, installation on typical servers is fairly straightforward. However, when we get to Database Availability Group (DAG) servers, there are a few more steps involved. We'll take a look at those steps here today.
When using DAGs, the idea is to provide a high availability solution. This can include having activated databases spread amongst 2 or more servers. This is a fabulous feature that is quite popular. But we have to take this into account when applying updates that will either stop services, or require a reboot. We'll need to make sure there are no activated databases on the DAG server we're installing the rollup on. To do this, we perform two steps: stop the server from activating any more databases, and take the activated databases and activate them (make them "live") elsewhere. This will leave us with a DAG server that has no live mailbox connections, and thus, available for updating.
First, we'll stop the current server from activating databases using some PowerShell. On the server you're about to update, open Exchange Management Shell and run this:
Get-MailboxDatabaseCopyStatus –Server (hostname) | Suspend-MailboxDatabaseCopy –ActivationOnly –Confirm:$false
Note the "(hostname)", which basically just says the local server - no need to put an actual server name there (ok, I'll admit, I'm lazy). At this point, the server will continue to have databases kept up to date, but won't activate any if another DAG member goes down. Now we perform a switchover, which takes all databases activated on this server and activates them on another DAG node instead. In this example, we'll activate them on Ex2 using this:
Move-ActiveMailboxDatabase -Server (hostname) -ActivateOnServer Ex2
However, if this is a case where there are more than two nodes in the DAG, we could let the system automatically determine the best mailbox server to use by not specifying the -ActivateOnServer parameter, such as this:
Move-ActiveMailboxDatabase -Server (hostname)
In either case, enter "Y" at the prompt.
This can also be accomplished via the Exchange Management Console a couple of different ways. We can manually activate the individual databases on other DAG members. To do so, open EMC, and navigate to Organization Configuration>Mailbox. Find the database(s) that need to be activated on another server, right click, and choose Move Active Mailbox Database. Click Browse and pick the server you'd like to activate it on, as shown below, and click Move. When it's done, click Finish. Do this for each of the databases currently activated on the server you want to update.
(click for larger image)
We can also do a full switchover, activating all databases on a single DAG server, or letting the wizard pick. To do so, in EMC, go to Server Configuration>Mailbox. Right click on the server you're going to update, and choose Switchover Server. In the resulting box, as shown below, choose "Automatically choose a target server" to have Exchange pick the best server to activate a database on, or "Use the specified server as the target of the switchover" to manually pick a server (and then click browse and pick the server).
(click for larger image)
Click Ok, and the switchover will take place. When it's finished, there is no confirmation that it's done. You can look in EMC at Organization Configuration>Mailbox. On the Database Management tab, verify that all databases are mounted on a server other than the one you're updating.
Once that's finished, we install the rollup. There really isn't much need to detail that here - just pick 'next' all of the way through. It will take some time to run. Click Finish when it's done.
Once we're sure the installation was successful, and all services are started, we enable the server to activate databases again using this:
Get-MailboxDatabaseCopyStatus –Server (hostname) | Resume-MailboxDatabaseCopy
This doesn't activate databases right away - it just allows the server to do so if the activated copy on another DAG node (or the node itself) goes down.
Follow this same process for the remaining servers in your DAG. Disable activation, switchover, install the rollup, and resume activation.
Once all of the servers are updated, we need to make sure that each database is active on the correct server. Each database has a parameter called ActivationPreference that lists the order of preference that a database is activated on servers that hold a copy. This can be viewed in EMS by using
Get-MailboxDatabase | Select Name, ActivationPreference, Server
The Server field shows which server the database is currently activated on, as seen here:

(click image for larger version)
You could use EMC to manually activate the databases back on the original server, or use the code or script below.
Paul Flaherty posted a couple of one liners that we'll use here. First, we'll activate the databases on the correct servers using this:
Get-MailboxDatabase | Sort Name | ForEach {$db=$_.Name; $xNow=$_.Server.Name ;$dbown=$_.ActivationPreference| Where {$_.Value -eq 1}; Write-Host $db "on" $xNow "Should be on" $dbOwn.Key -NoNewLine; If ( $xNow -ne $dbOwn.Key){Write-host " WRONG" -ForegroundColor Red; Move-ActiveMailboxDatabase $db -ActivateOnServer $dbOwn.Key -confirm:$False} Else {Write-Host " OK" -ForegroundColor Green}}
This will essentially look at each database, determine which server has the preference of '1', and make sure the database is activated on that server. 
(click image for larger version)
Then, we can verify that they are all activated correctly using another one liner from Paul:
Get-MailboxDatabase | Sort Name | ForEach {$db=$_.Name; $xNow=$_.Server.Name ;$dbown=$_.ActivationPreference| Where {$_.Value -eq 1}; Write-Host $db "on" $xNow "Should be on" $dbOwn.Key -NoNewLine; If ( $xNow -ne $dbOwn.Key){Write-host " WRONG" -ForegroundColor Red; } Else {Write-Host " OK" -ForegroundColor Green}}

(click image for larger version)
At this point, we have the rollup installed on all DAG members, and the databases are activated on the correct server. We can also take a script written by Bhargav Shukla to verify which servers have which rollup(s) installed. This is helpful in an environment with a lot of servers to help validate that they are all at the same patch level.
Update: I've created a quick PowerShell script that will perform many of these tasks. I used the commands listed here, as well as some basic error handling. Thanks to the contributions of others listed here, it's now much easier. Perform steps 1 and 2 before installing the update, and 3,4, and 5 after the update.
Get the script here --> DAG-InstallRollup.ps1
Also - if you're installing the rollup on servers that don't have Internet access, take a look at Installing Exchange 2007 & 2010 rollups on servers that don't have Internet access
Here is a list of all KB articles released in the past week that apply to Exchange Server 2007, Exchange Server 2010, and/or Forefront Security for Exchange Server.
Exchange Server 2007
973165 A return address is split into two separate and incomplete addresses when a recipient replies to a specific message in Exchange 2007
200960 WebDav applications may experience problems when drivers force I/O operations to be performed asynchronously
One of the prerequisites for installing Exchange 2010 Hub Transport and/or Mailbox roles is the installation of the Microsoft Filter Pack. This registers IFilters so that Office 2007 attachements can be indexed. Once Exchange 2010 is installed, the filters must be registered in Exchange. Microsoft provides a PowerShell script that can be copied/pasted and used to acommplish this. But if you've run that script, you notice a bunch of messages about settings already existing. Also, once you're done, you must restart the Exchange Search service.
I've cleaned up the PowerShell script a little to check if the setting already exists, and only attempt those that don't. This yields a much cleaner console output. Also, the script will prompt, and execute, restating the search service. Once you've installed Exchange 2010, simply run the script.
Between this script and the previous script released under Automated prerequisite installation via PowerShell for Exchange Server 2010 on Windows Server 2008 R2, installation of Exchange 2010 is getting much more streamlined.
Grab the PowerShell script here --> Set-Exchange2010FilterConfig.ps1