Wednesday, June 19, 2013

Comparing public folder item counts

A question that is often asked of support in regard to legacy Public Folders is whether they are replicating and how much progress they are making.  The most common scenario for asking this question arises when the administrator is adding a new Public Folder database to the organization and replicating a large amount of data to it.  What commonly happens is that the administrator calls support and says "The database on the old server is 300GB, but the new database is only 150GB!  How can I tell what still needs to be replicated?  Is it still progressing??"  The administrator can raise diagnostic logging for public folders, but reading the events to see what folders are replicating is tedious.  Most administrators want a more detailed way of estimating the progress of replication than comparing file sizes.  They also want to avoid checking all the individual replication events.
There are a number of ways to monitor the progress of the replication so that one can make a guess as to how long a particular environment will take to complete an operation.  In this blog I am going to provide a detailed example of one approach to estimating the progress of replication by comparing item counts between different public folder stores.
To get the item counts in an Exchange 2003 Public folder database you can use PFDAVAdmin.  The process is outlined in this previous EHLO blog post.  For what we are doing below you will need the displayname, folderpath and the total number of items in the folder; the rest of the fields are not necessary.
To get the item counts on an Exchange 2007 Server you use (remember there is only one Pub per server):
Get-publicfolderstatistics -server <servername> | export-csv c:\file1.txt
To get the item counts on an Exchange 2010 server you use:
Get-publicfolderstatistics -server <servername> -resultsize unlimited | export-csv c:\file1.txt
There are some very important caveats to this whole procedure.  The things you need to watch out for are:
  • We are only checking item counts.  If you delete 10 items and add 10 items between executions of the statistics data gathering this type of query will not reveal whether they have replicated.  Therefore having the same number on both sides is not an assurance that the folders are in sync. 
  • If you are comparing folders that contain recurring meetings the item counts can be different on Exchange 2007 and older because of the way WebDAV interacts with those items
  • I have seen many administrators try to compare the size of one Public Folder database to the size of another.  Such an approach to checking on replication does not take into account space for deleted items, overhead and unused space.  Checking item counts is more reliable than simply comparing item sizes
  • The two databases might be at very different stages of processing replication messages.  It is unlikely that both pubs will present the same numbers of items if the folders are continuously active.  Even if the folders are seeing relatively low activity levels it is not uncommon for the item count to be off by one or two items because the replication cycle (which defaults to every 15 minutes) simply hasn't gotten to the latest post
  • If you really want to know if two replicas are in sync try to remove one.  If Exchange lets you remove the instance then you know Exchange believes the folders are in sync.  If Exchange cannot confirm the folders are in sync it will keep the instance until it can complete the backfill from it.  In most cases the administrators I have spoken with are not in a position where they can use this approach.
For the actual comparison you can use any number of products.  For this blog I have chosen Microsoft Access for demonstrating the process of comparing the CSV files from the different servers.  To keep things simple I am going to use the Jet database engine packaged with Access.  There are some limitations to my approach:
  • Jet has a maximum file size of 2GB so if your public folder infrastructure is particularly large (i.e.  your CSV files are over 500MB) you may have to switch to using Microsoft SQL.
  • I am not going to compare public folders with a Folder path greater than 254 characters because the Jet database engine that ships with Access cannot join memo fields in a query.  Working around the join limitation by splitting the path across multiple text fields is beyond the scope of this blog.
  • I am going to look at folders that exist in both CSV files.   If the instance has not been created and its data exported into the CSV file the folder will not be listed.
An outline of the process is:
  • Export the item counts from the two servers you wish to compare
  • Import the resulting text files
  • Clean up the data for the final query
  • Run a query to list the item counts for all folders that are in Both files and the difference in the item counts between the originally imported files
Assumptions for the steps below:
  • You have exported the public folder statistics with the PowerShell commands presented above
  • You have fields named FolderPath, ItemCount and Name in the CSV file
If your file is different than expected you will have to modify the steps as you go along
Here are the steps for conducting the comparison:
1. Create a new blank Microsoft Access database in a location that has more than double the size of your CSV files available as free space.
2. By default export-csv places a line at the top of the text file.  This line will interfere with the import so we need to remove it.  Open each CSV file in notepad (this can take a while for larger files) and remove the line highlighted below.  In this example the line starting with "AdminDisplayName" would become the topmost line of the file.  Once the top line is deleted close and save the file.
image
Figure 1
3. Import the CSV file to a new table:
  • Click on the External Data tab as highlighted in Figure 2
  • Browse to the CSV file and select it (or type in its path and name directly)
  • Make sure the "Import the source data into a new table in the current database' option is selected
  • Click OK
image
Figure 2
4. In the wizard that starts specify the file is delimited as shown and then click Next.
image
Figure 3
5. Tell the wizard that the text qualifier is the double quote (character 34 in ASCII), the delimiter is the comma and that the "First Row Contains Field Names" as shown in Figure 4.
Note:  It is possible that you will receive a warning when you click "First Row Contains Field Names".  If any of the field names violate the rules for a field name Access will display a warning.  Don't panic.  Access will replace the non-conforming names with ones it considers appropriate (typically Field1, Field2, etc.).  You can change the names if you wish on the Advanced screen.
image
Figure 4
6. Switch to Advanced view (click the Advanced button highlighted in Figure 4) so that we can change the data type of the FolderPath field.  In Access 2010 and older the data type needs to be changed from Text to Memo.  In Access 2013 it needs to be changed from Short Text to Long Text.  While we are in this window you have the option to exclude columns that are not needed by placing a checkmark in the box from the skip column.  In this blog we are only going to use the FolderPath, name and the item count.  You can also exclude fields earlier in the process by specifying what fields will be exported when you do the export-csv.  The following screenshots show the Advanced properties window.
image
Figure 5a: Access 2010 and older
image
Figure 5b: Access 2013
Note:  If you think you will be doing this frequently you can use the Save As button to save your settings.  The settings will be saved inside the Access database and can then be selected during future imports by clicking on the Specs button.
7. Click OK on the Advanced dialog and then click Finish in the wizard.
8. When prompted to save the Import steps click Close.  If you think you will be repeating this process in the future feel free to explore saving the import steps.
9. Access will import the data into a table.  By default the table will have the same name as the source CSV file.  The files used in creating this blog were called 2007PF_120301 and 2010 PF_120301.  If there are any import errors they will be saved in a separate table.  Take a moment to examine what they are.  The most common is that a field got truncated.  If that field is the folderpath it will affect the comparisons later.  If there are other problems you will have to troubleshoot what is wrong with the highlighted lines (typically there should be no import errors as long as the FolderPath is set as a Memo field).
10. Go back to Step 2 to import the second file that will be used in the comparison. 
11. Now a query must be run to determine if any folderpath exceeds 255 characters.  Fields longer than 255 characters cannot be used for a join in an Access query.  If we have values that exceed 255 characters in this field we will need to exclude them from the comparison.  Additional work to split a long path across multiple fields can be done, but that is being left as an exercise for any Access savvy readers. 
12. To get started select the options highlighted in Yellow in Figure 6:
image
Figure 6
13. Highlight the table where we want to check the length of the folderpath field as shown in Figure 7.  Once you have selected the table click Add and then Close:
image
Figure 7
14. Switch to SQL view as shown in Figure 8:
image
Figure 8
15. Replace the default select statement with one that looks like this (please make sure you substitute your own table name for the one that I have Bolded in the example):
SELECT Len([FolderPath]) AS Expr1, [2007PF_120301].FolderPath
FROM 2007PF_120301 WHERE (((Len([FolderPath]))>254));
Note:  Be sure the semi-colon is the last character in the statement.
16. Run the query using the red "!" as shown in Figure 9: 
image
Figure 9
image
Figure 10
17. If the result is a single empty row (as shown in Figure 10) then skip down to step 19.  If the result is at least one row then go back to SQL view (as shown in Figure 8) and change the statement to look like this one (as before please make sure 2007PF_120301 is replaced with the table name actually being used in your database):
SELECT [2007PF_120301].FolderPath, [2007PF_120301].ItemCount,
[2007PF_120301].Name, [2007PF_120301].Identity INTO 2007PF_120301_trimmed
FROM 2007PF_120301
WHERE (((Len([FolderPath]))<255));
18. You will get a prompt like the one in Figure 11 when you run the query.  Select Yes:
image
Figure 11
19. After it is done repeat steps 11-18 for the other CSV file that was imported to be part of the comparison.  If you have done steps 11-18 for both files you will be comparing then advance to step 20.
20. Originally the FolderPath was imported as a memo field (Long Text if using Access 2013).  However we cannot join memo fields in a query.  We need to convert them to a text field with a length of 255. 
If you got a result greater than zero rows in step 16 this step and the subsequent steps will all be carried out on the table specified in the INTO clause of the SQL statement (in this blog that table is named 2007PF_120301_trimmed). 
If you were able to skip steps 17 and 18 this step and the subsequent steps will be carried out on the table you imported (2007PF_120301 in this example).
Open the table in Design view by right-clicking on it and selecting Design View as shown in Figure 12.  If you select the wrong tables for the subsequent steps you will get a lot of unwanted duplicates in your final comparison output.
image
Figure 12
21. Change the folderpath from Memo to Text as shown in Figure 13.  If you are using Access 2013 change it from Long Text to Short Text.
image
Figure13
22. With the FolderPath field highlighted look to the lower part of the Design window where the properties of the currently selected field are displayed.  Change the field size of folderpath to 255 characters as shown in Figure 14.
image
Figure 14
23. Save the table and close its design view.  You will be prompted as shown in Figure 15.  Don't panic.  All the folderpaths should be shorter than the 255 characters specified in the properties of the table.  The dialog is just a standard warning from Access.  No data should be truncated (the earlier queries should have seen to that).  Say Yes and repeat steps 20-23 for the other table being used in this comparison.  If you make a mistake here remember that you will still have your original CSV files and can always fix the mistake by removing the tables and redoing the import.
image
Figure 15
24. We have been on a bit of a journey to make sure we prepared the tables.  Now for the comparison.  Create a new query (as shown in Figure 6) and highlight both tables that have had the FolderPath shortened to 255 characters as shown in Figure 16.  Once they are highlight click Add and then close.
image
Figure 16
25. Drag Folderpath from the table that is the source of your replication to Folderpath on the other database.  The result will look like Figure 17.
image
Figure 17
26.   In the top half of the Query Design window we have the tables with their fields listed.  In the bottom half we have the query grid.  You can make fields appear in the grid in 3 ways:
  • Switch the SQL view and add them to the Select statement
  • Double-click the field in the top half of the window
  • Drag the field from the top half of the window to the grid
  • Click in the Field line of the grid and a drop down will appear that you can use to select the fields
  • Type the field name you want on the Field in the grid
For this step we need to add:
  • One copy of the folderpath field from one table (doesn't matter which one)
  • The ItemCount field from each table
27.   Go to an empty column in the grid.  We need to enter the text that will tells us the difference between the two item counts.  Type the following text into the column (be sure to use the table names from your own database and not my example): 
Expr1:  Abs([2007PF_120301_trimmed].[itemcount]-[2010pf_120301_trimmed].[itemcount])
Note:  After steps 25-27 the final result should look like  Figure 18.  The equivalent SQL looks like this:
SELECT [2007PF_120301_trimmed].FolderPath, [2007PF_120301_trimmed].ItemCount, [2010PF_120301_trimmed].ItemCount, Abs([2007PF_120301_TRIMMED].[ItemCount]-[2010PF_120301_TRIMMED].[ItemCount]) AS Expr1
FROM 2007PF_120301_trimmed INNER JOIN 2010PF_120301_trimmed ON [2007PF_120301_trimmed].FolderPath = [2010PF_120301_trimmed].FolderPath;
image
Figure 18
28. Run the query using the red "!" shown in Figure 9.  The results will show you all the folders that exist in BOTH public folder databases, the itemscount in each database and the difference between them.  I like the difference reported as a positive number, but you might prefer to remove the absolute value function.
There is more that can be done with this.  You can use Access to run a Find Unmatched query to find all items from one table that are not in the other table (thus locating folders that have an instance in one database, but not the other).  You can experiment with different Join types in the query and you can deal with Folderpaths longer than a single text field can accommodate.  These and any other additional functionality you desire are left as an exercise for the reader to tackle.  I hope this provides you with a process that can be used to compare the item counts between two Public Folder stores (just remember the caveats at the top of the article).
Thanks To Bill Long for reviewing my caveats and Oscar Goco for reviewing my steps with Access.
Chris Pollitt



New feature enables Outlook 2007/2010 to use DNS Service Location (SRV) records


This article describes a new feature in Microsoft Office Outlook 2007. This new feature enables Outlook 2007 to use DNS Service Location (SRV) records to locate the Exchange Autodiscover service. 

This feature is also available in Outlook 2010.
Back to the top | Give Feedback
MORE INFORMATION
Update Information
A supported feature that modifies the default behavior of the product is now available from Microsoft, but it is only intended to modify the behavior that this article describes. Apply it only to systems that specifically require it. This feature may receive additional testing. Therefore, if you are not severely affected by the lack of this feature, we recommend that you wait for the next Outlook 2007 service pack that contains this feature.

To obtain this feature immediately, download the feature by following the instructions later in this article or contact Microsoft Product Support Services. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:

This feature is available as part of the following update rollup for Outlook 2007:
939184 Description of the update rollup for Outlook 2007: June 27, 2007
Background
When Outlook 2007 is not domain-joined, you have to use a predefined URL method or an HTTP redirect method in order to locate the Autodiscover service. The following list contains two predefined URL methods and one HTTP redirect method:
https://<smtpdomain>/Autodiscover/Autodiscover.xml
https://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml
http://autodiscover.<smtpdomain>/Autodiscover/Autodiscover.xml
Note The predefined URL method requires that you have a valid SSL certificate for the URL that you are using. This method can be difficult to implement because you generally use one DNS name for the Outlook Anywhere feature for Microsoft Exchange Server 2007 and a different DNS name for Microsoft Office Outlook Web Access.

Note The HTTP redirect method can be difficult to implement because it requires the following in order to work correctly:
An additional Web site in IIS
Two Public IP addresses


By using the software update that is described in this article, Outlook 2007 will perform an additional check for a DNS SRV record in order to locate the Autodiscover service. This additional check does not require complex configuration or a valid certificate for the Autodiscover service.
How to use the new DNS SRV lookup method to locate the Exchange 2007 Autodiscover service
To use the new DNS SRV lookup method in order to locate the Exchange 2007 Autodiscover service, follow these steps.

Note You must create the Autodiscover SRV record in the external DNS zone that matches the right side of your user's SMTP addresses. For example, if a user's primary SMTP address is user@contoso.com, the record must be created in the contoso.com external DNS zone. If you have multiple primary SMTP address domains in your organization, you must create an Autodiscover SRV record in each zone.
1. In your external DNS zone, remove any HOST (A) or CNAME records for the Autodiscover service.
2. Use the following parameters to create a new SRV record:

Service: _autodiscover
Protocol: _tcp
Port Number: 443


Note For more information about how to create this record, see the "About SRV records" section.
Note In this example, mail.contoso.com is a name for which your certificate is valid. Usually, this is the same DNS name that you use for Outlook Anywhere and for Outlook Web Access.

In this example, the Autodiscover service does the following when the client tries to contact the Autodiscover service:
1. Autodiscover posts to https://contoso.com/Autodiscover/Autodiscover.xml. This fails.
3. Autodiscover performs the following redirect check:
This fails.
4. Autodiscover uses DNS SRV lookup for _autodiscover._tcp.contoso.com, and then "mail.contoso.com" is returned.
5. Outlook asks permission from the user to continue with Autodiscover to post to https://mail.contoso.com/autodiscover/autodiscover.xml.
6. Autodiscover's POST request is successfully posted to https://mail.contoso.com/autodiscover/autodiscover.xml.
About SRV records
If you are using Windows DNS, the steps to create an SRV Record are as follows:
1. Open the DNS Management MMC snap-in.
2. Expand Forward Lookup Zones.
3. Locate and right-click the external DNS zone, and then click Other New Records.
4. Click Service Location (SRV).
5. Enter the parameters by using the required values.
6. Click OK.
Note Depending on your DNS solution, you may be unable to implement SRV records. Contact your DNS hosting provider or your DNS administrator for guidance.

--
Thanks & Regards
G.BalaKrishna
Contact : 9962552505
            : 9841710719

Where Did That New Exchange 2010 Mailbox Go?

You're an administrator, and you've installed a few servers running Microsoft Exchange Server 2010. You know that mailboxes are stored in mailbox databases, and, based on previous versions of Exchange, you know that you need to specify a mailbox database when you create a mailbox. One day, you go to create a mailbox and forget to specify a mailbox database. And you don't get an error. And then you ask "Where'd it go?". You eventually discover that the mailbox was created on some random mailbox database that you didn't specify yourself. You wonder what in the world just happened. Exchange administrator, meet automatic mailbox distribution.

Automatic mailbox distribution is a new feature in Exchange 2010. If you don't provide a mailbox database when you create a new mailbox on an Exchange 2010 server, Exchange picks a mailbox database for you. Now, you might see this as a really cool feature, or you might think it's pretty scary. I hope to demystify the selection process Exchange 2010 uses to select a mailbox database. Plus, I'll describe the controls you have over the process. Hopefully, armed with this information, you'll see automatic mailbox distribution as a tool you can use to simplify your life a bit.

Automatic mailbox distribution is a process where Exchange 2010 looks at the mailbox databases in your organization, excludes databases that aren't suitable (using criteria I talk about later in this article), and then randomly chooses a database where the mailbox should be located.

Automatic mailbox distribution only happens when you don't specify a mailbox database in the following places:

  • Mailbox Settings page in the New Mailbox wizard in the Exchange Management Console (EMC)
  • Database parameter on the New-Mailbox and Enable-Mailbox cmdlets
  • TargetDatabase parameter on the New-MoveRequest cmdlet
    noteNote:
    You can use automatic mailbox distribution when you use the New-MoveRequest cmdlet, but you can't use it when you use the move request wizards in the EMC.

It's important to note, however, that automatic mailbox distribution is performed only when a mailbox is created on an Exchange 2010 server, moved to an Exchange 2010 server, or when a user is mailbox-enabled. The New-Mailbox, New-MoveRequest, and Enable-Mailbox cmdlets, and the EMC must be run from, or must be connected to, a server running Exchange 2010. Exchange doesn't redistribute mailboxes to distribute load across databases automatically based on server load. Exchange 2010 also doesn't take into account the database load or disk space available when choosing a database.

What some admins may find somewhat disconcerting is that Exchange randomly chooses the database where the mailbox should be located. But, no need for alarm because you have control over which databases Exchange can actually choose. In fact, you can use this to your advantage and take control out of the hands of junior or department-level admins or your help desk personnel and enforce company processes consistently using mailbox distribution. You can specify which databases should be excluded from the selection process entirely and which databases can only be selected when actions are taken by certain administrators.

noteNote:
The ability to control which databases certain administrators can create mailboxes in, or move mailboxes to, is a new feature of Exchange Server 2010 Service Pack 1 (SP1). If you're using the release to manufacturing (RTM) version of Exchange 2010, everything in this article still applies with the exception of database scopes.

Exchange uses the following process to find a suitable mailbox database where a new or moved mailbox should be located:

  1. Exchange retrieves a list of all mailbox databases in the Exchange 2010 organization.
  2. Any mailbox database that's marked for exclusion from the distribution process is removed from the available list of databases. You can control which databases are excluded. For more information, see How to Permanently or Temporarily Exclude Databases later in this article.
  3. Any mailbox database outside of the database management scopes applied to the administrator performing the operation is removed from the list of available databases. This step only applies if you're running Exchange 2010 SP1. For more information, see How to Use Database Scopes to Select Databases for Mailbox Distribution later in this article.
  4. Any mailbox database that's outside of the local Active Directory site where the operation is being performed is removed from the list of available databases.
  5. From the remaining list of mailbox databases, Exchange chooses a database randomly. If the database is online and healthy, the database is used by Exchange. If it's offline or not healthy, another database is chosen at random. If no online or healthy databases are found, the operation fails with an error.

The following figure illustrates the selection process I just described.

Databases available for selection being narrowed

Doing all the work in the process of selecting a mailbox database is the Mailbox Resources Management Agent cmdlet extension agent. The Mailbox Resources Management Agent is one of several cmdlet extension agents that extend the functionality of running cmdlets.

If you really decide that you don't want Exchange 2010 randomly distributing mailboxes to your databases, you can disable the Mailbox Resources Management Agent. When you disable the agent, the change is applied to the entire Exchange 2010 organization. For more information about how to disable cmdlet extension agents, see Disable a Cmdlet Extension Agent.

But, if you're intrigued by the idea of putting automatic mailbox distribution to work for you, read on. I'll explain how you can use mailbox distribution to spread the load of new mailboxes across multiple databases (except for "those" databases, which only "Department X" can use), instead of relying on your admins to do so. This means you can help your admins focus on supporting your users, instead of remembering which databases can be used, and when.

By default, all online and healthy mailbox databases on Exchange 2010 servers in the local Active Directory site can be chosen by automatic mailbox distribution to store a new or moved mailbox. However, you might want to exclude some databases from the distribution process for various reasons. For example, you may designate a mailbox database as a journaling database in which only mailboxes you manually specify should be located. Or, you might want to temporarily remove a database from rotation to perform scheduled maintenance. Exchange 2010 gives you the option to either permanently or temporarily exclude databases from the automatic mailbox distribution process.

Every Exchange 2010 mailbox database has the following two properties that you can set using the Set-MailboxDatabase cmdlet:

  • IsExcludedFromProvisioning   Use this property if you want to permanently exclude the database from automatic mailbox distribution. Use this property if you don't plan to include the database in the automatic mailbox distribution process.
  • IsSuspendedFromProvisioning   Use this property if you want to temporarily exclude the database from automatic mailbox distribution. Use this property if you plan to add the database back into the automatic mailbox distribution process sometime in the future.

The following figure illustrates the behavior of the IsExcludedFromProvisioning and IsSuspendedFromProvisioning properties that I just described. Both properties have two valid values, $True and $False, with the default being $False. Setting either property to $True has the same result of excluding the database from the automatic mailbox distribution process. However, both properties must be set to $False for a mailbox database to be included in the automatic mailbox distribution process.

Automatic distribution exclusion properties

Whether you set the IsExcludedFromProvisioning property or the IsSuspendedFromProvisioning property to $True doesn't matter to Exchange 2010. Exchange 2010 simply checks to see if one of the properties is set to $True, and if so, excludes the database from the automatic mailbox distribution process.

This example sets a mailbox database as permanently excluded from automatic mailbox distribution.

Set-MailboxDatabase <database name> -IsExcludedFromProvisioning $True  

This example sets a mailbox database as temporarily excluded from automatic mailbox distribution.

Set-MailboxDatabase <database name> -IsSuspendedFromProvisioning $True  

When a mailbox database is excluded from automatic mailbox distribution, the only way to create a mailbox in, or move a mailbox to, the database is to select the database manually if you're using the Exchange 2010 console, use the Database parameter on the New-Mailbox and Enable-Mailbox cmdlets in the Shell, or use the TargetDatabase parameter on the New-MoveRequest cmdlet in the Shell.

If you want to make an excluded mailbox database available for selection in the automatic mailbox distribution process, set both properties to $False.

Database management scopes are an additional level of control over the automatic mailbox distribution process that's been added to Exchange 2010 SP1. If a mailbox database is online and healthy, it's in the local Active Directory site, and it isn't excluded from the automatic mailbox distribution process. Exchange 2010 SP1 checks to see if the mailbox database is included in the database scope applied to the administrator running the cmdlet. If it's included in the database scope, it's included in the list of databases available to that administrator.

Database scopes are part of the Role Based Access Control (RBAC) permissions model. Database scopes can be useful if you have many mailbox databases in your local Active Directory site that are available to automatic mailbox distribution, but you want to restrict which databases can be used by certain sets of administrators. This could be the case if your Exchange 2010 SP1 servers serve several departments, but you only want to allow each department to create or move mailboxes to mailbox databases allocated to them. As an example of a database scope in action, the following figure shows:

  • Six databases are available in the Exchange 2010 organization. Three databases are part of the Legal database scope, and three databases are part of the Sales database scope.
  • An administrator is granted access to create mailboxes on any database in the Sales database scope. Exchange evaluates which database the administrator has access to and returns only the databases that are part of the Sales scope.
  • Exchange then randomly selects one of the three remaining databases on which to create the mailbox.
Database scopes in automatic mailbox selection

By default, all administrators in an Exchange 2010 SP1 organization can see all the mailbox databases in the organization. To limit the databases that they can see, and therefore restrict the databases they can potentially create mailboxes in, or move mailboxes to, you must do the following:

  1. Create a custom database management scope using the New-ManagementScope cmdlet that includes only the mailbox databases you want the administrator to use.
  2. Associate the new database scope with a management role assignment in one of the following ways:
    • Add the new database scope to an existing management role assignment using the CustomConfigWriteScope parameter on the Set-ManagementRoleAssignment cmdlet. The database scope is now applied to the management role group, universal security group (USG), or user-assigned role assignment.
    • Create a management role assignment using the New-ManagementRoleAssignment cmdlet, and use the CustomConfigWriteScope parameter to specify the new database scope. You can create a role assignment between a management role and a role group, USG, or user.
  3. If you created a role assignment to a role group or USG, add users to the role group or USG so that the role assignment and database scope are applied to the users.
  4. If applicable, remove the user (or users who are members of role groups or USGs you created in the preceding steps) you assigned the new role assignment to from any other role groups or USGs that might be assigned a database scope that contains databases you don't want them to access.
  5. Verify that the administrators have access only to the databases they should have access to.

After you're done with these steps, the administrators assigned role assignments with the database scopes you created will only be able to create mailboxes in, or move mailboxes to, the databases you specified.

For more information about how to use database scopes to limit which mailbox databases are available to administrators, see Control Automatic Mailbox Distribution Using Database Scopes.

Now that I've explained how automatic mailbox distribution works, take a look at your organization and see how you can make it work for you. Consider the following:

  • Do you have special-use mailbox databases?   Use database exclusions to prevent automatic mailbox distribution from creating mailboxes on those databases. Admins no longer need to keep track of which databases they can use and which ones they can't.
  • Are departments assigned specific databases for their own use?   Use database scopes to target only the databases that automatic mailbox distribution should use. Avoid situations where mailboxes are incorrectly created in the wrong department's database, which could have data retention or other requirements that differ from those of the database assigned to the correct department.
  • Is there more than one mailbox database for admins to choose from?   Use automatic mailbox distribution, with or without database exclusions and scopes, to randomly select a database. Lessen the possibility of a specific database being preferred over others due to force of habit.

I hope you now have a better understanding of how Exchange 2010 uses automatic mailbox distribution to make your life a bit simpler, while still giving you the control you need to make it work the way you want. To learn more about the features discussed in this article, see the following topics:





Tuesday, July 26, 2011

ESEutil & ISinteg


 Microsoft(r) Exchange Server Utilities – ESEutil & ISinteg

Microsoft includes two command line utilities with Exchange Server that are designed to accomplish various maintenance functions within the Exchange database. They are limited, complex, tedious, and time consuming when compared to the functionality contained within GOexchange. The best time to learn how to use these tools is in a lab environment before you need them. Like firearms and prescription medications, these tools can be dangerous if you don't understand how they work and when to use them. Imagine shooting a shotgun at a container full of water—a graphic demonstration of what can happen when you mishandle a powerful tool. These two utilities are named ESEutil and ISinteg.

ESEutil checks and fixes individual database tables and ISinteg checks and fixes the links between tables.
To better understand the difference between ESEutil and ISinteg, let’s use a building construction analogy.
 Running ESEutil is like having a structural engineer check your house's foundation. The engineer doesn't care what's inside the house. The engineer cares only whether the underlying structure is sound. –
Running ISinteg is like having an interior decorator come inside your house to check the way you've laid out your furnishings. The decorator doesn't care about the house's foundation. The decorator cares only whether the rooms' layout and decor meet with their approval.
As you can see from the analogy above, both ESEutil and ISinteg are vastly different utilities, but they are complimentary and in some ways dependent upon each other to provide proper Exchange maintenance. In the next section, we will provide a more in-depth description of these two Microsoft Exchange utilities.

 About ESEutil
ESEutil checks and fixes individual database tables but does not check the mail data contained in the Extensible Storage Engine (ESE) database. Object-oriented databases like Microsoft Exchange consist of big, structured sequential files connected by a set of indexes. The underlying database technology that controls these files is called Indexed Sequential Access Method, or ISAM. The ESE database engine exposes the flat ISAM structure as a hierarchy of objects.
The function of ESEutil is to examine these individually indexed object pages, check them for correctness by comparing a computed checksum against a checksum stored in the page header, and verify that each page's data is consistent.

ESEutil isn't for casual use. So, don't use ESEutil unless you absolutely need to run it and you understand what it does. To understand ESEutil, you need to know about the format of the ESE database in which ESEutil works and you need to be familiar with ESEutil's many modes of operation. ESEutil is a useful tool because it can operate in many modes. Each mode, however performs different functions with limitations or caveats.
 - Defragmentation: ESEutil /d <database name> [options]
- Recovery: ESEutil /r [options]
- Integrity: ESEutil /g <database name [options]
- File Dump: ESEutil /m [mode-modifier] <filename>
- Repair: ESEutil /p <database name [options]
- Restore: ESEutil /c [mode-modifier] <path name> [options]
- Checksum: ESEutil /k <database name> [options]

The way that each of these functions is executed within the utility is to use a cryptic MS-DOS-like command structure as the parameter qualifier. For example, in order to run the defragmenter portion of the utility, an administrator would run “ESEutil /d <database name> [options]” and so on. For additional information on ESEutil, please refer to the GOexchange FAQ on our website – Microsoft ESEutil: http://www.goexchange.com/faq_GEvsMStools4.html

We are not going to attempt to cover all the potential pitfalls with ESEutil, however, here are a few major issues regarding ESEutil to keep in mind:
 - There are times when it is appropriate to use ESEutil on its own, however, a complete maintenance process includes the combined use of specific ESEutil and ISinteg commands, as well as other steps that must be undertaken.
 - ESEutil is very powerful tool and, if the commands are entered improperly or in an incorrect order, the results can be catastrophic.
- The ESEutil command structure can be very confusing and, at times, misleading. Changing one letter in the command structure executes a completely different utility function, and the results to an Exchange database can be disastrous. Below are a few of the many different available modes and options for ESEutil, each of which can have very different results on a database. NOTE: For brevity we have not included entire command statements.
- “ESEutil /d” will defragment the designated database and is a fairly straight forward mode of operation that is commonly used. Running a manual offline defragmentation is only part of the process that should be completed in order to keep the databases healthy. Many administrators run ESEutil on a database to remove deleted items and regain white space then, mistakenly assume that by doing so, the process is complete. Performing this task, however, doesn't check or address
issues that may exist within the mail data itself, and it won't fix the links between the tables of an ESE database. The database now contains a higher percentage of errors, warnings, and minor inconsistencies than it did prior to defragmentation. NOTE: Running ESEutil repeatedly without implementing a complete offline maintenance process is certain recipe for disaster.
- “ESEutil /d /p” will have a slightly different result. The “/d” tells ESEutil to defragment the designated database. The “/p” option used with the “/d” instructs ESEutil to leave the newly created defragmented database in the temporary work area and not to overwrite the original database.
- Now slightly modify the command to “ESEutil /p” and the actions taken on the designated database are extremely different. The “/p” evokes the Exchange “Repair” mode. At first glance this sounds like a great thing to do, and it couldn’t hurt to try because repairing the database should be beneficial right? Wrong! This command actually invokes a “Hard Repair” mode of ESEutil. This means that ESEutil will attempt to repair corrupt pages, but it makes no attempt to put the database in a consistent state. If it finds problems that cannot be corrected, then those pages will be discarded. Each page contains data therefore each discarded page represents data loss. Discarding certain pages of the database can actually render it useless. In other words, wave goodbye to your data. Sometimes, using the repair mode is the only way to fix a database. In the vast majority of situations, however, it should be avoided except as a last resort and there are specific steps that should be taken pre and post use of “Repair /p” mode. About ISinteg The purpose of the Microsoft ISinteg utility is to inspect and fix weaknesses within the information store (IS). ISinteg looks at the mailboxes, public folders, and other parts of the IS, checking for anything that appears to be out of place. ISinteg scans the tables and B-trees that organize the ESE pages into their logical structures. In addition, the tool looks for orphaned objects, or objects that have incorrect values or references. Because ISinteg focuses on the logical level rather than physical database structure, it can repair and recover data that ESEutil can't. When looking at the physical database level, ESEutil might find the data to be valid because it looks for things such as page integrity and B-Tree structure. Data that appears valid to ESEutil from a physical view of the database might not be valid from a logical view. For example, data for various IS tables like the message, folder, or attachments table may be intact, but the relationships among tables or records within tables may be broken or incorrect because of corruption in the logical structure. This corruption can render the database unusable.
Logical corruption of your Exchange Server databases is problematic and much more difficult to diagnose and repair than physical corruption. The user and administrator are, typically, unaware of a logical corruption occurrence. No specific symptoms identify logical corruption. Often, when an administrator discovers the logical corruption, it's too late for any repairs to take place. You can run ISinteg one of two ways: - Default mode, in which the tool runs the tests you specify and reports its findings. - Fix mode, where you specify optional switches instructing ISinteg to run the specified tests and attempt to fix whatever it can. The most important thing about running ISinteg is to run the command until it no longer reports any problems. Just running the command once does not guarantee that the information store is functioning properly. Depending on the size of the information store, the process can take a long time, however, it ensures that the databases are properly functional. For additional information on ISinteg, please refer to the GOexchange FAQ on our website – Microsoft ISinteg: Troy Werelius is CEO of Lucid8 LLC, the creators of “GOexchange, the Automated Maintenance Solution for Microsoft Exchange 5.5, 2000 and 2003 Servers”. GOexchange prevents disasters, repairs problems, and accelerates performance. Visit http://www.goexchange.com/faq_GEvsMStools5.html http://www.goexchange.com for a free DEMO copy of GOexchange.

Friday, July 22, 2011

Exchange 2007 SP3 Password Reset Tool

How to Enable the Exchange 2007 SP3 Password Reset Tool

Applies to: Exchange Server 2007 SP3

This topic explains how to use Registry Editor to enable the Microsoft Exchange Server 2007 Password Reset Tool.

Microsoft Office Outlook Web Access (OWA) includes a feature to let users change their passwords. However, this feature requires that users log on to OWA to change their passwords. In a scenario in which a user password has expired, or in which users have to change their passwords when they first log on, users cannot log on to OWA to access the password change feature. In earlier versions of Microsoft Exchange , an administrator could configure the IISADMPWD Web application to help users. To do this, the administrator could direct users who had expired passwords to an anonymously-accessible Web page to reset their passwords. IISADMPWD is not available in Windows Server 2008. Therefore, the password reset functionality may be unavailable for Exchange 2007 users in a Windows Server 2008-based environment.

Exchange 2007 SP3 adds a new feature to the Client Access server (CAS) role. This feature creates a new Internet Information Services (IIS) 7 module that detects expired passwords, and redirects users to a new change password page. By default, this feature is disabled. To enable the password reset feature, you must set a registry key.

To enable the password reset feature

1.     Log on to the Exchange server that is running the CAS role by using an account that has local administrator rights.

2.     Start Registry Editor, and then locate the following registry subkey:

HLKM\SYSTEM\CurrentControlSet\Services\MSExchange OWA

3.     Create the following DWORD value if it does not already exist:

Value name: ChangeExpiredPasswordEnabled
Value type: REG_DWORD
Value data: 1

4.     Exit Registry Editor.

Ff607232.note(en-us,EXCHG.80).gifNote:

The password reset functionality is enabled when ChangeExpiredPasswordEnabled is set to a nonzero (0) value. If this registry value is missing or is set to a value of zero, the password reset functionality is disabled.

 

An Outlook Web Access user can use the Change Password feature in the following cases:

  • To change their password after they have logged on to their mailbox by using Outlook Web Access
  • To change their password if their password will expire within a given time period
  • To change their password if their password has already expired
  • To change their password if the User must change password at first logon is enabled
  • To change their password if the User cannot change password option is enabled

 

For more information : http://technet.microsoft.com/en-us/library/bb684904(EXCHG.80).aspx  



::DISCLAIMER::
-----------------------------------------------------------------------------------------------------------------------

The contents of this e-mail and any attachment(s) are confidential and intended for the named recipient(s) only.
It shall not attach any liability on the originator or HCL or its affiliates. Any views or opinions presented in
this email are solely those of the author and may not necessarily reflect the opinions of HCL or its affiliates.
Any form of reproduction, dissemination, copying, disclosure, modification, distribution and / or publication of
this message without the prior written consent of the author of this e-mail is strictly prohibited. If you have
received this email in error please delete it and notify the sender immediately. Before opening any mail and
attachments please check them for viruses and defect.

-----------------------------------------------------------------------------------------------------------------------

Thursday, July 21, 2011

Exchange Server Supportability Matrix


Exchange Server Supportability Matrix


The Exchange Server Supportability Matrix provides a central source for Microsoft Exchange administrators to easily locate information about the level of support available for any configuration or required component for all versions of Microsoft Exchange.


For more information about the support lifecycle for a specific version of Exchange or of the Microsoft Windows server or client operating systems, see the Microsoft Support Lifecycle page. For more information about the Microsoft Support lifecycle, see the Microsoft Support Lifecycle Policy FAQ.


The tables in this topic use an X character to identify supported configurations or required components for each version of Exchange. If an X is accompanied by an asterisk, see the section following the table for corresponding information. Any product that is not listed in the tables isn't supported. This is because that product hasn't been tested, isn't compatible with Exchange, or has reached the end of its lifecycle.


http://i.msdn.microsoft.com/Global/Images/clear.gif Lifecycle Support


The following table identifies the support lifecycle for each version of Exchange.




























Lifecycle


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Mainstream


X


X


X


X




Extended



X


X


http://i.msdn.microsoft.com/Global/Images/clear.gif Release Model


The following table identifies the release model used for updates and hotfixes for each version of Exchange. With Exchange, each update rollup package is cumulative with regard to the whole product. Therefore, if you apply an update rollup package to Microsoft Exchange Server 2010, you apply all the fixes contained in that update rollup package. This includes all the fixes contained in each earlier update rollup package. For more information, see Exchange 2010 Servicing.


When an update or a hotfix for earlier versions of Exchange is created, one or more of the binary files included in the update or included in the hotfix are cumulative. They are cumulative with regard to the contents of the files. However, they aren't cumulative with regard to the whole Exchange product. The release model used by a product is identified by an X character.




























Servicing release model


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Update rollup


X


X


X


X




Hotfix



X


X


http://i.msdn.microsoft.com/Global/Images/clear.gif Supported Operating System Platforms


The following table identifies the operating system platforms on which each version of Exchange can run. Supported platforms are identified by an X character.












































































































Operating system platform


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Windows 2000 Server SP4



X


X


Windows XP Professional SP2


X*


X*


X**


X**


Windows XP Professional SP3


X*


X*


X**


X**


Windows Vista SP1


X*


X*


X***



Windows Vista SP2


X*


X*


X*


X*


X***



Windows Server 2003 SP2


X


X


X



Windows Server 2003 R2 SP2


X


X


X



Windows Server 2008


X


X




Windows Server 2008 SP2


X


X


X


X




Windows Server 2008 R2


X


X


X





Windows Server 2008 R2 SP1


X


X


X


Windows 7


X*


X*


X*





*Only for Exchange management tools


**Only for Exchange 2003 or Exchange 2000 System Manager


***Only together with Exchange 2003 System Manager for Windows Vista


http://i.msdn.microsoft.com/Global/Images/clear.gif Supported Active Directory Environments


The following table identifies the Active Directory environments with which each version of Exchange can communicate. Supported environments are identified by an X character. An Active Directory server refers both to global catalog servers and to domain controllers.




















































































Operating system environment


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Windows 2000 Server SP4 Active Directory servers



X


X


Windows Server 2003 SP1 Active Directory servers


X


X


X


X


X


X


Windows Server 2003 SP2 Active Directory servers


X


X


X


X


X


X


Windows Server 2008 Active Directory servers


X


X


X


X


X



Windows Server 2008 SP2 Active Directory servers


X


X


X


X


X



Windows Server 2008 R2 Active Directory servers


X


X


X


X


X



Windows Server 2008 R2 SP1 Active Directory servers


X


X


X


X


X


Windows Server 2008 read-only Active Directory servers





Windows Server 2008 R2 read-only Active Directory servers








































































































Domain and forest functional level


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Windows 2000 Server mixed domain functional level



X


X


Windows 2000 Server native functional level


X


X


X


X


Windows Server 2003 interim domain functional level



X


X


Windows Server 2003 domain functional level


X


X


X


X


X


X


Windows Server 2008 domain functional level


X


X


X


X


X



Windows Server 2008 R2 domain functional level


X


X


X


X


X



Windows 2000 Server forest functional level


X


X


X


X


Windows Server 2003 interim forest functional level



X


X


Windows Server 2003 forest functional level


X


X


X


X


X


X


Windows Server 2008 forest functional level


X


X


X


X


X



Windows Server 2008 R2 forest functional level


X


X


X


X


X



http://i.msdn.microsoft.com/Global/Images/clear.gif Web Browsers Supported for Use with the Premium Version of Outlook Web App or Outlook Web Access


The following table identifies the Web browsers supported for use together with the premium version of Microsoft Office Outlook Web App for Exchange 2010, Office Outlook Web Access for Exchange 2007 or Exchange 2003, or Outlook Web Access for Exchange 2000. Supported browsers are identified by an X character.




































































Browser


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Internet Explorer 9


X


X


X


X


Internet Explorer 8


X


X


X


X


X**



Internet Explorer 7


X


X


X


X


X***


X***


Internet Explorer 6


X


X


X


X


Firefox 3.0.1


X


X


Safari 3.1


X


X


Chrome


X


X


**Requires the hotfix described in Microsoft Knowledge Base article 963664, Error message when you click the flag icon of a message in the message list view in Outlook Web Access 2003 when you are using Internet Explorer 8: "'firstchild.firstchild' is null or not an object".


***Requires the hotfix described in Knowledge Base article 911829, You receive an error message when you try to perform any editing tasks, or you must click to enable the compose frame in Outlook Web Access.


http://i.msdn.microsoft.com/Global/Images/clear.gif Web Browsers Supported for Use with the Basic Version of Outlook Web App or Outlook Web Access


The following table identifies the Web browsers that are supported for use together with the light (basic) version of Outlook Web App for Exchange 2010 or Outlook Web Access for Exchange 2007, for Exchange 2003, or for Exchange 2000. Supported browsers are identified by an X character.




















































































Browser


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Internet Explorer 9


X


X


X


X


Internet Explorer 8


X


X


X


X


X**



Internet Explorer 7


X


X


X


X


X***


X***


Internet Explorer 6


X


X


X


X


X


X


Safari


X


X


X


X


X****



Firefox


X


X


X


X


X****



Netscape


X


X


X****



Opera


X


X


X


X


X****



**Requires the hotfix described in Knowledge Base article 963664, Error message when you click the flag icon of a message in the message list view in Outlook Web Access 2003 when you are using Internet Explorer 8: "'firstchild.firstchild' is null or not an object".


***Requires the hotfix described in Knowledge Base article 911829, You receive an error message when you try to perform any editing tasks, or you must click to enable the compose frame in Outlook Web Access.


****Browser should support HTML 3.2, European Computer Manufacturers Association (ECMA) script standards, and JavaScript.


http://i.msdn.microsoft.com/Global/Images/clear.gif Web Browsers Supported for the Use of S/MIME with Outlook Web App or Outlook Web Access


The following table identifies the Web browsers that are supported for the use of S/MIME together with Outlook Web App for Exchange 2010 or Outlook Web Access for Exchange 2007, Exchange 2003, or Exchange 2000. Supported browsers are identified by an X character.




















































Browser


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Internet Explorer 9


X


X


X


X


Internet Explorer 8


X


X


X


X


X*



Internet Explorer 7


X


X


X


X


X***


Internet Explorer 6



X


**Requires Update Rollup 8 for Exchange Server 2007 Service Pack 1 (SP1) or later versions. For more information, see Description of Update Rollup 8 for Exchange Server 2007 Service Pack 1.


***Requires the hotfix described in Knowledge Base article 924334, The Compose Message form stops responding after you install Internet Explorer 7.0 and the S/MIME control on an Outlook Web Access client in Exchange Server 2003.


http://i.msdn.microsoft.com/Global/Images/clear.gif Clients


The following table identifies the mailbox clients that are supported for use together with each version of Exchange. Supported clients are identified by an X character.












































































































Client


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Outlook 2002


X


X


X


Outlook 2003


X


X


X


X


X


X


Outlook 2007


X


X


X


X


X


X


Outlook 2010


X


X


X


X


X


Windows Mobile 5.0


X


X


X


X


X



Windows Mobile 6.0


X


X


X


X


X



Windows Mobile 6.1


X


X


X


X


X



Windows Mobile 6.5


X


X


X


X


X



Entourage X


X*


X*


X


X


Entourage 2004 (DAV)


X**


X**


X


X


Entourage 2008 (DAV)


X**


X**


X


X


Entourage 2008 (EWS)


X****


X****


X


X




*WebDav: Contacts, Events, IMAP: Mail


**WebDav


****EWS only. There is no DAV support for Exchange 2010.


http://i.msdn.microsoft.com/Global/Images/clear.gif Tools


The following table identifies the version of Microsoft Exchange that can be used together with the Microsoft Exchange Inter-Organization Replication tool (Exscfg.exe; Exssrv.exe). The tool is used to replicate public folder information (including free/busy information) between Exchange organizations. For more information, see Microsoft Exchange Server Inter-Organization Replication. Supported versions are identified by an X character.












Ff728623.note(en-us,EXCHG.141).gifNote:


You must run the Inter-Organization Replication tool on a 32-bit operating system that has Exchange 2003 Management Tools installed.


Ff728623.important(en-us,EXCHG.141).gifImportant:


If you want to use the Inter-Organization Replication tool, one of the Exchange replication endpoints must be an Exchange 2003 server.





















Tool


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Inter-Organization Replication tool


X


X


X


X


X


http://i.msdn.microsoft.com/Global/Images/clear.gif Microsoft .NET Framework


The following table identifies the version of the Microsoft .NET Framework that can be used together with each version of Exchange. Supported versions are identified by an X character.












































































.NET Framework


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


.NET Framework 1.0 SP1



X



.NET Framework 1.1 SP1


X


.NET Framework 2.0





.NET Framework 2.0 SP1


X


X




.NET Framework 3.0


X


X




.NET Framework 3.5


X***


X***




.NET Framework 3.5 SP1


X


X


X


X**




.NET Framework 4.0


X****


X***


**Applies only when upgrading the system from .NET Framework 2.0. Uninstall of .NET Framework 2.0 isn't supported.


***Supported versions of the .NET Framework are included in the .NET Framework 3.5 and in the .NET Framework 3.5 SP1.


****Applies only when upgrading the system from .NET Framework 3.5 and .NET Framework 3.5 SP1. Uninstall of .NET Framework 3.5 and .NET Framework 3.5 SP1 isn't supported.


http://i.msdn.microsoft.com/Global/Images/clear.gif Windows PowerShell


The following table identifies the version of the Windows PowerShell command-line interface that can be used together with each version of Exchange. Supported versions are identified by an X character.




























PowerShell


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


PowerShell 1.0


X


X




PowerShell 2.0


X


X


X


X




http://i.msdn.microsoft.com/Global/Images/clear.gif Microsoft Management Console


The following table identifies the version of Microsoft Management Console (MMC) that can be used together with each version of Exchange. Supported versions are identified by an X character.




























MMC


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


MMC 2.0



X



MMC 3.0


X


X


X


X




http://i.msdn.microsoft.com/Global/Images/clear.gif Windows Installer


The following table identifies the version of Windows Installer that is used together with each version of Exchange. Supported versions are identified by an X character.






























































Windows Installer


Exchange 2010 SP1


Exchange 2010 RTM


Exchange 2007 SP3


Exchange 2007 SP2


Exchange 2003 SP2


Exchange 2000 SP3


Windows Installer 3.0





Windows Installer 3.1 v1





Windows Installer 3.1 v2





Windows Installer 4.0





Windows Installer 4.5


X


X


X


X




Windows Installer 5.0





© 2011 Microsoft. All rights reserved. Terms of Use Trademarks Privacy Statement