Gone but not forgotten

Published Nov 08 2006 08:36 AM 4,296 Views

As discussed in the earlier blog post introducing the new Exchange 2007 console, the Exchange Management Console GUI has been completely redesigned in Exchange 2007. While redesigning the Exchange Management Console for Exchange 2007, we used specific ground rules to help guide what features and settings should be exposed in the console and how the console itself should be built. These guidelines allowed us to ensure that we had designed a rich, functional tool that wasn't overwhelming and complex. It also ensured a console where additional feature GUI could be added to respond more effectively to customer requests.

Exchange 2007 GUI Console Goals and Ground Rules

To meet these goals, we developed the following ground rules and reasoning:

  1. Rewrite our Exchange management console GUI to consume cmdlets directly. This means that the GUI shares business logic with the cmdlets (reuses the existing cmdlet business logic, really) and so we can easily add additional GUI in later service packs and releases simply by building on existing cmdlets.
    Note: In previous releases GUI elements had to use embeded business logic which translated to much more time and difficulty in adding GUI. These complications in adding GUI after the initial product release often led to configuration settings being exposed via registry keys or AD attributes that required KBs to be written to explain how to use them.
  2. The most common features & settings used by most of our customers should always be exposed in the console.
    Note: In the past, Exchange 2003/2000, this hasn't been the case. For example, OWA administrators had to download a tool to manage very common settings.

Naturally, when moving from Exchange 2003 to the Exchange 2007 console using the above ground rules, there have been changes in what is exposed in the console. Those changes have led to some features being removed from the console GUI. The reasons for removing some specific GUI generally fall into one of the three following categories:

  1. Feature was an advanced scenario, not commonly used by most customers and thus added to complexity and confusion (and clutter) in the GUI.
    Note: In previous versions of Exchange, features not visible in the GUI were frequently not available through any administrative interface. In Exchange 2007, we have a great mitigation for features not exposed in the console GUI - the Exchange management shell!! The shell provides rich error handling, validation, and discoverability for configuration settings - a feature not found in registry editor or ADSIEdit!
  2. Feature was removed from Exchange 2007 entirely
  3. Feature or setting was replaced by a better solution in Exchange 2007 - for instance it works out of the box without requiring the previously complex configuration.

Exchange 2007 GUI Result

Based on these guidelines, we did an evaluation of all GUI available in Exchange 2003 and also took into consideration any GUI required for new Exchange 2007 features. Then we made some hard choices on what belonged in the new GUI console for Exchange 2007 and where these should be placed. The surprising outcome was that only a handful of features are completely removed from the GUI, and there's actually more (quantity) GUI exposed in Exchange 2007 than there was in Exchange 2003.

Think of it a bit like cleaning out your garage. When you start out, it's a huge mess and there's no room anywhere to hold even the stuff you've already got. But by the time you've reorganized everything more efficiently, you find there's suddenly room to hold the car again!

The table below lists the various GUI features that were removed for Exchange 2007 RTM. Please have a look through the list and let us know your opinion on the decisions we made. In particular, we'd love to know if you think we missed anything critical from Exchange 2003 GUI or if the mitigations seem insufficient to you.

GUI Feature Removed

Reason for Removal


Exchange Extensions to Active Directory Users & Computers

We needed to address the Exchange 2003 challenge of a poor, incomplete automation and provisioning user management story.  To do this we rewrote all of our recipient management logic into cmdlets using PowerShell technology.  Extending the unmanaged code MMC 2.1 Active Directory Users and Computers console with our managed MMC 3.0 cmdlet-based GUI would have left some functionality broken. Additionally, it would have meant continuing to require the use of two different tools for server and recipient management of your Exchange organization.

Recipient management is exposed in the Exchange 2007 Management Console

Exchange Management Shell Cmdlets made available through Powershell.  An overview of the recipient cmdlets can be found here.

MMC built-in feature "new window from here" can be used to provide a limited view of Recipient Configuration Node for a custom console (See Tip #8 in this blog post)

IMAP and POP enable/disable on a Mailbox

IMAP and POP Virtual Directory

Not as common to manage as other client access protocols like Outlook Web Access or ActiveSync. This GUI is a good candidate to be added later based on customer request.

Exchange Management Shell Cmdlets:
Set-CASMailbox (enable/disable IMAP and POP on a mailbox)

Removal of hidden distribution group membership

Completely hidden membership is not supported by the Active Directory, so past implementations have had many issues and bugs.

Scripted approach which leverages Dynamic Distribution Groups and ACLing the custom property to exclude ability to look up membership.

Recovery Storage Group

In Exchange 2003, performing a disaster recovery on databases was a manual, complex process that had little end-to-end guidance for the administrator. 

In Exchange 2007 a database recovery management tool has been added to the toolbox which provides step-by-step guidance and support in disaster recovery scenarios. Therefore, the exposure of the recovery storage group configuration in the main console is no longer required.

Content Indexing Management

Was not a commonly managed feature by most of our customers

Exchange Management Shell Cmdlets:
IndexEnabled parameter on set-mailboxdatabase

Details Tab on property pages which included comments/created/etc.

Was not a commonly used feature by most of our customers

3rd party auditing/change tracking software

Modified time is on general property page

Move Address List GUI (to move the address list to a new position in the address list hierarchy)

Was not a commonly used feature by most of our customers

Exchange Management Shell Cmdlet:

In the GUI the address list can be deleted then recreated in place of move

Mailbox Statistics for an entire database

The Exchange management shell provides a native, rich reporting functionality that is exceedingly powerful and effective; thus it is the chosen method for information gathering in Exchange 2007.

Exchange Management Shell Cmdlet:

General property page of an individual mailbox shows mailbox statistics for that mailbox

3rd party extension of Exchange management console

We first focused on management shell extensibility story before tackling console extensibility.

MMC3.0 has no support for extending context menu.

Build a separate snap-in

Public Folder Referral GUI

Public folder referrals are linked to routing groups which are no longer an Exchange 2007 concept, however there are mitigations for configuring referrals in an environment with mixed Exchange 2003/2000 and Exchange 2007 servers

Exchange Management Shell Cmdlet:
Use the PublicFoldersEnabled parameter on
Set-RoutingGroupConnector cmdlets to enable public folder referrals

Alternately, for mixed Exchange 2000/2003 and Exchange 2007 environments, use the Exchange 2003 management tools for this purpose.

Public folder statistics

The Exchange management shell provides a native, rich reporting functionality that is exceedingly powerful and effective; thus it is the chosen method for information gathering in Exchange 2007.

Exchange Management Shell Cmdlet:

Recipient Update Service GUI

No longer managed by admin, simply an API that is called into by cmdlets

None needed (and see the Goodbye RUS blog post for more details).

Monitoring GUI

The Exchange 2003/2000 monitoring feature was very limited and has been removed.

This has been replaced by monitoring-specific cmdlets used either directly by the administrator or in combination with Microsoft Operations Manager

Export List in GUI

The Exchange management shell provides a native, rich reporting functionality that is exceedingly powerful and effective; thus it is the chosen method for information gathering in Exchange 2007.

Use Exchange Management Shell cmdlets to perform reporting.  Here is an example getting a report (CSV) on all mailbox databases for the server and only reporting on their name, quotas, and retention:
get-mailboxdatabase | select-object name,mailboxretention,prohibitsendreceivequota,prohibitsendquota | export-csv c:\reports\dbquota.csv

ACL Picker (Security Tab)

ACL level permissions are an advanced scenario that are not commonly required by most of our customers.

Exchange Management Shell Cmdlets:

Remove Server GUI

The scenarios for remove server are closely related to the setup experience and due to the highly destructive nature of removing an Exchange server it was removed from the console.

If the server is still operational choosing the uninstall option in setup will be sufficient. However if the server had run into problems and an uninstall will no longer work, an administrator can first use the "recover server" option and then uninstall to remove the server from Active Directory.

Global Address List GUI (new, modify, etc.)

Creating a new Global Address List or modifying the default was not a commonly used feature by most of our customers

Exchange Management Shell Cmdlets:

Complex filtering for Address Lists, dynamic distribution groups, and E-mail Address Policies in GUI

In Exchange 2003/2000 the filter GUI for address lists, e-mail address policies, and dynamic distribution groups was incredibly complex with nested lists having hundreds of properties listed.  In Exchange 2007 the most common filters are defined as "precanned filters" with an extremely simple and intuitive filter control to make this experience much easier for our customers to use. 
For the few companies that have advanced filtering requirements not met by the precanned filters, these "custom filters" can be defined using the OPATH filter syntax in the shell.

Exchange Management Shell Cmdlets for complex and "custom filters":
Use the RecipientFilter parameter on 

Complex & hidden address generation  (firstname.lastname) variables for SMTP address in E-mail Address Policies

In Exchange 2003/2000 administrators had to simply know the correct variables (%s.%g) used to generate the local part of the SMTP address as there was no indication in the GUI as to how to do this.  Exchange 2007 introduces GUI to define address generation using the most common generation variable combinations.  For more advanced requirements, administrators can define the proxy address template directly through the management shell.

Simply prepend the desired variable (%s.%g) as the local part of the SMTP e-mail address template when it is specified using the new-emailaddresspolicy or set-emailaddresspolicy cmdlets.

Public Folder Tree Management GUI

Providing solid bulk management story is crucial to public folders so investing in rewriting all of our public folder management logic as cmdlets was priority.

Exchange Management Shell Cmdlets:

Exchange 2003 console against an Exchange 2003 public folder server can be used to manage the public folder hierarchy

System Policies

There are good replacement features using Exchange 2007 management shell automation that cover the scenarios for Exchange 2000/2003 system policies

Use Exchange Management Shell cmdlets to perform bulk configuration.  Example of modifying all mailbox databases to have an item retention of 4 days on ServerA:
get-mailboxdatabase -server ServerA | set-mailboxdatabase -itemretention 4.00:00:00

Cloning can be used for new objects by specifying the TemplateInstance parameter


If consistent and periodic application of these settings are required, a script to apply these settings can be scheduled using OS scheduling functionality.

Protocol Virtual Server

In Exchange 2003/2000, ESM exposed various IIS specific protocol settings. These inconsistencies caused customer confusion about where to manage virtual server and virtual directory settings.  In Exchange 2007 only Exchange specific settings on a virtual directory are exposed in the console and any virtual server settings required by Exchange are automatically set upon creation of virtual directories for the administrator.

IIS Manager should be used to manage the IIS concept of Virtual server

Delete/Create Outlook Web Access & ActiveSync virtual directories

Creating a new Outlook Web Access or ActiveSync virtual directory (beyond the default ones created by setup) is not a commonly used feature by most of our customers

Exchange Management Shell Cmdlets:

End to End SMTP Connector Wizard (Internet Mail Wizard)

By default in Exchange 2007 after setup the correct SMTP connectors are already created with smart defaults. 

SMTP connectors created and configured automatically when Edge server is configured as a "subscribed Edge".

Did we get it right?

If you've made it all the way through that table, you're a trooper and we thank you! We've done lots of usability testing around the new Exchange 2007 console and the use of various Exchange 2007 features, but there's sure to be some folks who disagree with one or more of the items in the list above.

That's where you come in! Now that we have developed a much more flexible GUI architecture (ie - built on cmdlet business logic), it's far more possible than in previous versions of Exchange to correct problems in the GUI or to add in necessary GUI after the initial release of the product.

We'd love to hear from you if there are features you believe are missing from the GUI that should be there. It's our goal to keep the GUI simple and uncluttered - following the ground rules at the top of this blog post, but we definitely want to make sure we haven't overlooked some critical GUI features. Please let us know what you think!

- Evan Dodds and Amanda Langowski

Version history
Last update:
‎Jul 01 2019 03:20 PM
Updated by: