Category Archives: 17067

The Last Missing Piece – Exchange 2013 RTM CU1 Released!

Exchange 2013 RTM CU1 was released to the web today, finally allowing customers to upgrade from Exchange 2007 and Exchange 2010.  You can download Exchange 2013 RTM CU1 here.  As you probably know, there is no direct upgrade path from Exchange 2003 — You must upgrade to 2007 or 2010 first.  Read the release notes here.

The Exchange Team blog has an excellent write-up about the changes in RTM CU1, including much anticipated information about Planning and Deployment.  I’m providing a short summary about CU1 here:

  • Exchange Server 2013 CU1 includes both bug fixes and feature improvements.
  • Setup takes 20 minutes or more per server, depending on your hardware.
  • To upgrade from Exchange 2007 all servers must first be upgraded to Exchange 2007 SP3 Update Rollup 10.
  • To upgrade from Exchange 2010 all servers must first be upgraded to Exchange 2010 SP3.
  • If you are upgrading Exchange 2013 RTM note that CU1 (and all future cumulative updates) are build-to-build updates.  CU1 setup will uninstall Exchange 2013 RTM before it installs CU1.  Any customization you may have done for RTM may be lost.
  • CU1 requires AD schema updates, enterprise AD changes, and AD permissions changes.  Therefore, it requires setup /PrepareSchema, /PrepareAD, and /PrepareDomain topology updates.  The GUI setup of CU1 will do all these steps automatically. Because of these additional steps, setup will take longer on the first installation.
  • If you have not installed Exchange 2013 RTM yet, you can install Exchange 2013 CU1 directly from the CU1 update from the web.  No need to install RTM first.
  • If your environment does not include Exchange 2010 servers, you will not be able to add any 2010 servers after installing 2013. If you plan to have any 2010 servers you should deploy a 2010 multi-role server first.
  • When you deploy the first Exchange 2013 Mailbox server in an existing Exchange organization, a new default Offline Address Book is created. All users perform a full download of this new OAB when Outlook is launched.  To prevent this, assign the current default OAB to each database before installing 2013.  The methods to do this are detailed in the blog post above and the release notes.
  • You can deploy multi-role (CAS and Mailbox) server(s) or separate CAS and Mailbox servers.  Due to the fact that CAS proxies all web requests, you will be unable to manage a Mailbox server until there is at least one 2013 CAS in the environment.
  • It no longer matters which role you update first. If you have dedicated CAS and Mailbox servers you can upgrade either role first.
  • You can no longer uninstall a single server role (i.e., you cannot convert a multi-role server to a single role server).  You can only uninstall all Exchange 2013 roles and redeploy.
  • Mailboxes moved from legacy Exchange versions to 2013 will appear to increase in size an average of 30% due to more accurate space calculations. User quotas may need to be increased to account for this.
  • An Address Book Policy Routing Agent has been introduced in CU1 to provide Address Book policies (different Address Books, depending on group membership).
  • With Exchange 2013 RTM CU1 groups can once again be owners of groups for membership management, as was the case in Exchange 2007.
  • Exchange 2013 CU1 includes rudimentary access to “modern” Public Folders (the Exchange 2013 variety) using OWA.  Users must add a specific Public Folder to their Favorites in OWA.  This is only for 2013 Public Folders and only provides access to existing Public Folders — users cannot add or delete 2013 Public Folders in OWA 2013.
  • The Exchange Administration Center (EAC) has been enhanced and now includes Unified Messaging management.
  • Exchange 2013 CU1 will support the Exchange Server 2013 Management Pack for System Center Operations Manager (SCOM), due at a later date.
I’ll be posting an article about OWA 2013 and EAC enhancements shortly.

Error 0x8007232B ‘DNS Name Does Not Exist’ when Activating Windows 8

I have been installing Windows 8 Enterprise RTM on my lab machines using the RTM ISO from MSDN.  I’ve found that each installation does not activate properly, giving the following error:

Error code:          0x8007232B

Error description:   DNS name does not exist.

I have a valid product key for Windows 8 Enterprise from MSDN, but setup doesn’t prompt for this key during installation.

Open System properties and click ‘View details in Windows Activation’

Click the ‘Activate’ button to begin activation

Attempting activation…

Error 0x8000232B – DNS name does not exist.

The same thing happens if you try to activate Windows 8 from the PC Settings | Activate Windows menu in the “modern user interface” (aka Metro):
‘Windows can’t activate right now. Try activating Windows later. If the issue persists, contact your system administrator or technical support department for assistance.’
This occurs because Windows 8 is using a temporary product key.  You need to install the correct product key to complete Activation using the SLMGR.VBS script installed with Windows.
Here are the steps to perform activation with the correct product key after installation:
  • Open an elevated CMD prompt and run the following command, as shown below:
slmgr.vbs /ipk <product key>

  • You will receive a pop-up window from Windows Script Host indicating the product key has been installed successfully.

Installed product key <product key> successfully.
  • Shortly after that, Windows 8 will automatically activate over the Internet.  Or, if you’re impatient like me, just click the Activate button to activate windows immediately.

Windows is Activated

Get to know the Test-Message cmdlet

Exchange 2010 includes a little known cmdlet called Test-Message.  This cmdlet is used to troubleshoot the impact of Inbox rules on a message and gather detailed information about how rules are processing it.  It’s also useful for testing the flow of moderated messages and to see the affects of large distribution group expansion without actually sending a message.

The RTM version of Test-Message is documented at, but there are a couple of additional parameters added in Exchange 2010 SP1 that are not listed there.  The purpose of this article is to show you how to configure the cmdlet and give examples its use.

To use the Test-Message cmdlet, you must add a user account or security group to the “Support Diagnostics” RBAC role in Exchange 2010.  You do this from the Exchange Management Shell by running the following command:

New-ManagementRoleAssignment -Role “Support Diagnostics” -SecurityGroup “Organization Management”

The command above adds the Exchange 2010 Organization Management group to the Support Diagnostics RBAC role.  If you want to add the role to an individual user, use the following command:

New-ManagementRoleAssignment -Role “Support Diagnostics” -User Jeff

Note that the added user must close and restart EMS to see the new cmdlet, since access to cmdlets is granted by RBAC when EMS is started.  You can find out which users have the Support Diagnostics role assigned to them by running the following command:

Get-ManagementRoleAssignment -Role “Support Diagnostics”

Now that we have the access to the Test-Message cmdlet through RBAC, let’s see what we can do with it.  The examples below use the Exchange 2010 SP1 version of the cmdlet, which includes two additional non-documented parameters, -Arbitration (optional) and -InboxRules (required).

The simplest test would be:

Test-Message -Sender -Recipients -InboxRules:$false -SendReportTo

This test will send a system generated message from Amy’s mailbox to Jason’s mailbox, bypassing Jason’s Inbox rules, and then send the resulting report to Jeff’s mailbox.  The report looks like this:

Here we can see that the message originated from Amy’s Inbox, it evaluated Jeff’s Inbox rules, displays the SCL Junk Threshold, and tells you the target folder for the message after the rules have run.  This is an easy way to troubleshoot messages that are deleted or delivered to another folder other than the Inbox.

It’s important to note that the Sender parameter can be any SMTP email address, even an external address.  This is useful for testing various rule behaviors.

Note that the message also includes two attachments: mailbox-rules.xml and automatic-reply-history.xml.  Mailbox-rules.xml contains an export of all the rules for the target mailbox.  This can be used to backup the Inbox rule set and/or export to another user’s mailbox.  Automatic-reply-history.xml which lists all the recipients where an OOF message fired.

By default, Test-Message adds the header, X-MS-Exchange-Organization-Test-Message: Supress to the message (and yes, “Supress” is mispelled that way).  This header causes Exchange to delete the message before it is delivered to the recipient mailbox.  If you want the message to be delivered to the recipient add the -DeliverMessage parameter.  An Exchange Diagnostic Message will then be delivered with the text, “This message was generated by an Exchange administrator.
You can ignore this message, unless your administrator has requested otherwise.

See Tom Kern’s article, Test-Message Improvements in Exchange 2010 Sp1 for even more info on the Test-Message cmdlet.