<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft UK UC Blog</title><link>http://blogs.technet.com/msukucc/default.aspx</link><description>...architecture, best practice, news &amp; abc of Exchange, OCS and all things UC related</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Meet the Microsoft Certified Masters and Microsoft Certified Architects</title><link>http://blogs.technet.com/msukucc/archive/2009/11/02/meet-the-microsoft-certified-masters-and-microsoft-certified-architects.aspx</link><pubDate>Mon, 02 Nov 2009 11:39:36 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3290788</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3290788.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3290788</wfw:commentRss><description>&lt;p&gt;Over the past few months there have been rumours of a website that will list everyone who has passed their MCM or MCA.&amp;#160; It is possible for people to opt out of the website if they do not wish their details to be published, but I would expect it to be a pretty comprehensive list of the Ranger/MCM/MCA community worldwide by region – Who in their right mind would put themselves through this program and then decide to opt out of the public recognition program?? :)&lt;/p&gt;  &lt;p&gt;&lt;a title="https://www.microsoft.com/learning/en/us/certification/master.aspx#meet" href="https://www.microsoft.com/learning/en/us/certification/master.aspx#meet"&gt;https://www.microsoft.com/learning/en/us/certification/master.aspx#meet&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3290788" width="1" height="1"&gt;</description></item><item><title>Automating Exchange 2010 Pre-Requisites on Windows Server 20008 R2</title><link>http://blogs.technet.com/msukucc/archive/2009/10/16/automating-exchange-2010-pre-requisites-on-windows-server-20008-r2.aspx</link><pubDate>Fri, 16 Oct 2009 10:34:30 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3287262</guid><dc:creator>msukucc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3287262.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3287262</wfw:commentRss><description>&lt;p&gt;Everyone knows its a good idea to automate your installations of Exchange.&amp;#160; It provides a solid, repeatable process by which to deploy your infrastructure – and it takes less time – win/win!.&lt;/p&gt;  &lt;p&gt;One area that I have witnessed repeatedly over the last 12 months or so is organisations automating their OS build and Exchange build, but deploying the Exchange pre-requisites manually.&amp;#160; This obviously leads to inconsistencies in the built out environment.&lt;/p&gt;  &lt;p&gt;Since Windows Server 2008 we have been able to automate the pre-requisites deployment with “&lt;em&gt;servermanagercmd&lt;/em&gt;” and appropriate xml files for each role.&amp;#160; However, in Windows Server 2008 R2 this method is deprecated.&lt;/p&gt;  &lt;p&gt;Instead of “&lt;strong&gt;&lt;em&gt;servermanagercmd&lt;/em&gt;&lt;/strong&gt;” in Server 2008 R2 and SP2 we use a powershell cmdlet “&lt;strong&gt;&lt;em&gt;add-windowsfeature&lt;/em&gt;&lt;/strong&gt;”&lt;/p&gt;  &lt;p&gt;As a quick example, if you are installing the Client Access, Hub Transport and Mailbox roles onto a single server, the following PowerShell commands will take care of the pre-requisites for you…&lt;/p&gt;  &lt;div class="mycode"&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;Import-Module&lt;/strong&gt; ServerManager&lt;/font&gt;&lt;/div&gt;  &lt;div class="mycode"&gt;&amp;#160;&lt;/div&gt;  &lt;div class="mycode"&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;Add-WindowsFeature&lt;/strong&gt; NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart&lt;/font&gt;&lt;/div&gt;  &lt;p&gt;This is discussed in more detail, including the features required for each specific role here : &lt;a title="http://technet.microsoft.com/en-us/library/bb691354(EXCHG.140).aspx#WS08R2" href="http://technet.microsoft.com/en-us/library/bb691354(EXCHG.140).aspx#WS08R2"&gt;http://technet.microsoft.com/en-us/library/bb691354(EXCHG.140).aspx#WS08R2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3287262" width="1" height="1"&gt;</description></item><item><title>Viewing Registry Values Through PowerShell</title><link>http://blogs.technet.com/msukucc/archive/2009/09/30/viewing-registry-values-through-powershell.aspx</link><pubDate>Wed, 30 Sep 2009 16:55:44 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3284069</guid><dc:creator>msukucc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3284069.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3284069</wfw:commentRss><description>&lt;p&gt;By default when you run a command through PowerShell to retrieve values with registry keys, the response shows the values as being empty. Here’s an example – I use the following command to set an excluded DC:&lt;/p&gt;  &lt;p&gt;Set-ExchangeServer -Identity CSX2K71 -StaticExcludedDomainControllers excludeme.csx2k7dom.com&lt;/p&gt;  &lt;p&gt;The key appears as expected in the registry (within MSExchange ADAccess | Profiles | Default) :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ViewingRegistryValuesThroughPowerShell_D1B0/clip_image001_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ViewingRegistryValuesThroughPowerShell_D1B0/clip_image001_thumb.jpg" width="244" height="56" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;However, when you try to retrieve the settings using the default command, you get the following output:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ViewingRegistryValuesThroughPowerShell_D1B0/clip_image002_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ViewingRegistryValuesThroughPowerShell_D1B0/clip_image002_thumb.jpg" width="244" height="40" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In order to retrieve the registry values, you must add the –Status command as follows:&lt;/p&gt;  &lt;p&gt;Get-ExchangeServer -Identity CSX2K71 &lt;b&gt;-Status&lt;/b&gt; | fl Name, StaticExcludedDomainControllers&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ViewingRegistryValuesThroughPowerShell_D1B0/clip_image003_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image003" border="0" alt="clip_image003" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ViewingRegistryValuesThroughPowerShell_D1B0/clip_image003_thumb.jpg" width="244" height="43" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Further details about usage of the Get-ExchangeServer commands can be found on TechNet (&lt;u&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb123873.aspx"&gt;http://technet.microsoft.com/en-us/library/bb123873.aspx&lt;/a&gt;&lt;/u&gt;).&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;font color="#ff0000"&gt;Posted by Chris Stevenson (UK Premier Field Engineer)&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3284069" width="1" height="1"&gt;</description></item><item><title>White Paper: Configuration and Mailbox Access Auditing for Exchange 2007 Organizations</title><link>http://blogs.technet.com/msukucc/archive/2009/09/16/white-paper-configuration-and-mailbox-access-auditing-for-exchange-2007-organizations.aspx</link><pubDate>Wed, 16 Sep 2009 11:47:48 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3281357</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3281357.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3281357</wfw:commentRss><description>&lt;p&gt;One my personal bugbears with Exchange over the last 10 years or so has been the total lack of a useful auditing function.&amp;#160; Sure, you can see who accessed a mailbox, but since Outlook 2003 and the extended Free/Data the Windows Server event logs are pretty much useless since you cant tell if someone actually read the mailbox contents maliciously or just invited that user to a meeting and Outlook attempted to read the extended free/busy data from their calendar directly.&lt;/p&gt;  &lt;p&gt;Well, Exchange 2007 SP2 introduces a huge leap forward in this respect and Mike Lagase has written a monster of a white paper all about how to perform auditing in an Exchange 2007 environment here…&lt;/p&gt;  &lt;p&gt;&lt;a title="http://technet.microsoft.com/en-us/library/ee331009.aspx" href="http://technet.microsoft.com/en-us/library/ee331009.aspx"&gt;http://technet.microsoft.com/en-us/library/ee331009.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3281357" width="1" height="1"&gt;</description></item><item><title>Microsoft Exchange Server Jetstress 2010 Beta</title><link>http://blogs.technet.com/msukucc/archive/2009/09/16/microsoft-exchange-server-jetstress-2010-beta.aspx</link><pubDate>Wed, 16 Sep 2009 11:47:14 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3281356</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3281356.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3281356</wfw:commentRss><description>&lt;p&gt;I have just received a note from Erin Bookey announcing the public beta of JetStress for Exchange 2010.&amp;#160; You can download your copy here…&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13267027-8120-48ed-931b-29eb0aa52aa6#tm" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13267027-8120-48ed-931b-29eb0aa52aa6#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13267027-8120-48ed-931b-29eb0aa52aa6#tm&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is the announcement…&lt;/p&gt;  &lt;h4&gt;Jetstress 2010 (Beta Preview) – Available Publically!&lt;/h4&gt;  &lt;p&gt;&lt;b&gt;9/01/2009&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Questions:&amp;#160; &lt;a href="mailto:jetfeed@microsoft.com"&gt;jetfeed@microsoft.com&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Download location:&amp;#160; &lt;/b&gt;&lt;b&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13267027-8120-48ed-931b-29eb0aa52aa6#tm"&gt;Microsoft Exchange Server Jetstress 2010 Beta (64 bit)&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Jetstress has been updated to support the new IO characteristics of Exchange 2010. This build is now available publically.&amp;#160; Please read this email carefully.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Feedback&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Please send feedback (including bugs) to: &lt;b&gt;&lt;a href="mailto:jetfeed@microsoft.com"&gt;jetfeed@microsoft.com&lt;/a&gt;&lt;/b&gt;.&amp;#160;&amp;#160; For bug reporting, please include the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Your configuration xml file &lt;/li&gt;    &lt;li&gt;Your Jetstress log file &lt;/li&gt;    &lt;li&gt;Any pertinent html reports &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;CHM Help File&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The Jetstress 2010 Help chm has not yet been updated.&amp;#160; The chm content is still Jetstress 2007 and does not reflect any change made to Jetstress 2010.&amp;#160; See “New Functionality” below for details on new Jetstress 2010 functionality.&amp;#160; Send email to &lt;b&gt;&lt;a href="jetstres@microsoft.com"&gt;jetstres@microsoft.com&lt;/a&gt;&lt;/b&gt; with any usage questions.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Scenarios&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Jetstress dev/test has prioritized validating Jetstress 2010 with E2010 versions of ESE vs. testing legacy ESE versions (E2K3 and E2K7).&amp;#160; The goal of Jetstress 2010 is to completely replace &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=73dfe056-0900-4dbb-b14a-0932338cecac&amp;amp;DisplayLang=en"&gt;Jetstress 2007&lt;/a&gt; so it does support E2K3/E2K7 ESE binaries, but those scenarios are much less tested at this time.&amp;#160; Please focus Jetstress 2010 with E2010 ESE binaries and use Jetstress 2007 for E2K3/E2K7 testing.&amp;#160; Jetstress 2010 requires the most recent version of E2010 ESE binaries.&amp;#160; Jetstress 2010 supports Windows 2003 and higher but E2010 supports W2K8 SP2 or W2K8 R2 (W7).&amp;#160; Please use W2K8 SP2 or W2K8 R2 (W7) with Jetstress 2010 when using E2010 ESE binaries.&amp;#160; Only the 64bit version of Jetstress 2010 has been provided.&amp;#160; 32bit Jetstress 2010 will be available in the final release. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;New Functionality&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;/b&gt;Here is a list of the most significant changes to Jetstress 2010: &lt;/li&gt;    &lt;li&gt;Updated with Exchange 2010 Mailbox IO profile (32KB page size, avg DB read size, avg DB write size, avg Log write size etc..)&amp;#160; &lt;i&gt;This profile is not yet final and is subject to change between now and E2010 release.&lt;/i&gt; &lt;/li&gt;    &lt;li&gt;Database duplication is now multi-cast.&amp;#160; This dramatically reduces the time to prepare databases for Jetstress testing. &lt;/li&gt;    &lt;li&gt;Moved away from using Logical Disk performance counters to using MSExchange Database IO counters for IO measurement.&amp;#160; This now allows placing databases and logs on the same volume.&amp;#160; This also solves the usability issue of Jetstress not working correctly when there is a Logical Disk performance counter problem. &lt;/li&gt;    &lt;li&gt;Log check summing is now multi-threaded (logs from different ESE instances check summed in parallel). &lt;/li&gt;    &lt;li&gt;Maximum number of Databases per test increased to 100 for E2010 ESE binaries. &lt;/li&gt;    &lt;li&gt;Log replication IO is now simulated based on E2010 HA architecture.&amp;#160; You can simulate a maximum number of 16 DB copies to drive the log replication IO (Log read IO) via xml configuration or UI in Jetstresswin.exe.&amp;#160; The IO generated by simulating log shipping as well as the configuration is provided in the HTML report. &lt;/li&gt;    &lt;li&gt;Background Database Maintenance (Checksum) is now simulated for E2010 test configurations. This is the default behavior (like E2010) and the work BDM does during the test is reported separately from the normal transactional IO in the HTML report.&amp;#160; This can be disabled via the xml configuration or via a checkbox in Jetstresswin.exe. &lt;/li&gt;    &lt;li&gt;Traces now contain date and time information for every entry; &lt;/li&gt;    &lt;li&gt;More informative messages and warnings are provided prevent admins from using mismatched ese/eseperf and have further problems with performance counters errors when generating test reports; &lt;/li&gt;    &lt;li&gt;Only the minimum necessary number of databases is created/replicated (as opposed to 5 databases per ESE instances); &lt;/li&gt;    &lt;li&gt;ESE performance counters are now unregistered/registered back if it is detected that the current registered version is inconsistent with the version Jetstress will use. Restarting Jetstress is still required; &lt;/li&gt;    &lt;li&gt;JetstressCmd and JetstressWin are now consistent in overriding the test type from Performance to Stress if the duration is longer than 6 hours. &lt;/li&gt;    &lt;li&gt;System and Application events are now saved off per Jetstress run for time of run (along with html reports and perfmon log). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;JetstressWin UI&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“Select Test Type” page now displays a “Run database maintenance” checkbox. Only visible for E2010 and not visible is the test type is “Streaming Backup” &lt;/li&gt;    &lt;li&gt;“Define Storage Group” page was renamed to “Define Database Configuration” and the Storage Group concept was removed.&amp;#160; To use Jetstress 2010 with E2K3/E2K7 binaries where multiple databases are desired per SG, the admin was now set the Jetstress 2010 log paths for DB instances they want to be in the same SG to the same path.&amp;#160; E2010 only supports only one DB per log stream so this doesn’t apply. &lt;/li&gt;    &lt;li&gt;A new “Number of database copies” checkbox was added to the “Define Database Configuration” page. Only supported for E2010. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;JetstressCmd UI&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Added “/DBCopies &amp;lt;# of copies&amp;gt;” to allow the admin to specify the number of database copies to simulate E2010 HA log replication IO. Only E2010. &lt;/li&gt;    &lt;li&gt;Added “/DoNotRunDBM” to allow the admin to not run database maintenance (default is to run). Only E14+; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Test Reports&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;HTML reports now break out IO in to the following table categories: &lt;/li&gt;    &lt;li&gt;Transactional IO Performance:&amp;#160; This table just reports the transactional IO performance (e.g. Outlook generated IO).&amp;#160; This report is generated based on subtracting the Background DB Maintenance IO and Log Replication IO from the Total IO.&amp;#160; This report provides that actual DB IOPS generated and DB/Log latency that is required to judge a Jetstress performance test as Pass/Fail. &lt;/li&gt;    &lt;li&gt;Background Database Maintenance IO Performance:&amp;#160; This table reports just the IO generated due to background maintenance. &lt;/li&gt;    &lt;li&gt;Log Replication IO Performance:&amp;#160; This table reports just the IO generated from the simulated log replication. &lt;/li&gt;    &lt;li&gt;Total IO Performance:&amp;#160; This table reports the total IO generated during the Jetstress test. &lt;/li&gt;    &lt;li&gt;Added read and write average sizes for databases and logs. &lt;/li&gt;    &lt;li&gt;Database configuration is now shown in the test report. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Thx,&lt;/p&gt;  &lt;p&gt;The Jetstress Development Team&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3281356" width="1" height="1"&gt;</description></item><item><title>Microsoft Exchange Server 2010 Loadgen Beta</title><link>http://blogs.technet.com/msukucc/archive/2009/09/16/microsoft-exchange-server-2010-loadgen-beta.aspx</link><pubDate>Wed, 16 Sep 2009 11:45:43 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3281355</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3281355.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3281355</wfw:commentRss><description>&lt;p&gt;Looks like the team have been busy finishing off the test tools for Exchange 2010.&amp;#160; The Exchange 2010 Loadgen beta has also gone live in the last few weeks, here is a link…&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cf464be7-7e52-48cd-b852-ccfc915b29ef" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cf464be7-7e52-48cd-b852-ccfc915b29ef"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cf464be7-7e52-48cd-b852-ccfc915b29ef&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This release has changed significantly so please read through the documentation thoroughly!!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;Important changes:&lt;/h3&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h5&gt;Requirement Changes:&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Now require .NET framework 3.5 &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Now requires Vista/W2k8 for Loadgen client OS&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;No longer require Exchange Management Tools &lt;/li&gt;    &lt;li&gt;Configuration File Schema Change &lt;/li&gt;    &lt;li&gt;Your existing configuration files will not work with this new version of Loadgen. You will have to re-create them. &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;New Features:&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;ActiveSync Module! &lt;/li&gt;    &lt;li&gt;Dynamic Mail Content Generator – See &lt;a href="https://sharepoint.partners.extranet.microsoft.com/sites/Loadgen/Lists/New%20Features/AllItems.aspx"&gt;New Features&lt;/a&gt; on the website for How To… &lt;/li&gt;    &lt;li&gt;UI enhancements &lt;/li&gt;    &lt;li&gt;Mailbox Profile for initialization now based on mailbox size! &lt;/li&gt;    &lt;li&gt;Public Folder Initialization &lt;/li&gt;    &lt;li&gt;Loadgen will skip FreeBusy initialization if no public store exists &lt;/li&gt;    &lt;li&gt;Log files in their own directory! &lt;/li&gt;    &lt;li&gt;New Junk Mail Rule action &lt;/li&gt;    &lt;li&gt;Calendar Items have reminders turned off by default &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Known Issues&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;&lt;i&gt;MUST&lt;/i&gt; create a new XML because of schema changes. &lt;/li&gt;    &lt;li&gt;OWA Module &lt;/li&gt;    &lt;li&gt;If running OWA load against E12 use the OWA2007Module. &lt;/li&gt;    &lt;li&gt;The OWAModule is for E14 only. &lt;/li&gt;    &lt;li&gt;ActiveSync Profiles – pick your profile carefully!      &lt;ul&gt;       &lt;li&gt;V12 – Exchange 2007 &lt;/li&gt;        &lt;li&gt;V12.1&amp;#160; - Exchange 2007 SP1 &amp;amp; Exchange 2007 &lt;/li&gt;        &lt;li&gt;V14 – Exchange 15 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Dynamic Mail Generator is not linked to the UI. Therefore if you add the dynamic mail generator to your XML, we will not be able to create the mailbox size that you specified in the UI. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Please give us feedback on our new features! Our dev team has been working hard to make the tool easier for you to use. Please email &lt;a href="mailto:exload@microsoft.com"&gt;exload@microsoft.com&lt;/a&gt; if you have any issues or questions.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:erinbook@microsoft.com"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3281355" width="1" height="1"&gt;</description></item><item><title>How to setup multiple AD site test VM's to communicate without multiple NIC's or RRAS</title><link>http://blogs.technet.com/msukucc/archive/2009/09/15/how-to-setup-multiple-ad-site-test-vm-s-to-communicate-without-multiple-nic-s-or-rras.aspx</link><pubDate>Tue, 15 Sep 2009 22:19:02 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3281252</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3281252.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3281252</wfw:commentRss><description>&lt;p align="justify"&gt;As Exchange technologies using multiple AD site infrastructures become more popular, Exchange PFE engineers have to build LAB’s spanning multiple AD sites using Virtual PC/ Virtual server or Hyper V. &lt;/p&gt;  &lt;p align="justify"&gt;I always used to use multiple NIC’s and Routing and remote access service (RRAS) to get communication working between machines in different AD sites. I used to spend time troubleshooting various routing issues because of this. Meanwhile, one of my colleagues in PFE, Ewan Mackellar suggested me the following workaround which serves as a really easy method to get multiples servers in different AD sites communicating without the need of having RRAS.&lt;/p&gt;  &lt;p align="justify"&gt;The basic idea is to trick AD sites and services to think that we are on different networks by manipulating subnet masks. Here’s the breakdown on how it works:&lt;/p&gt;  &lt;p align="justify"&gt;Take 2 sites within efourteen.com: UK and US&lt;/p&gt;  &lt;p align="justify"&gt;In the UK site, on the Windows 2003/2008 machine set the network card properties to the following:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;Connection-specific DNS Suffix (UK) :&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Description . . . . . . . . . . . : Intel(R) WiFi Link 5300 AGN&lt;/p&gt;  &lt;p align="justify"&gt;Physical Address. . . . . . . . . : 00-21-6A-55-FA-FC&lt;/p&gt;  &lt;p align="justify"&gt;IPv4 Address. . . . . . . . . . . : 192.168.0.3(Preferred)&lt;/p&gt;  &lt;p align="justify"&gt;Subnet Mask . . . . . . . . . . . : 255.255.0.0&lt;/p&gt;  &lt;p align="justify"&gt;DNS Servers . . . . . . . . . . . : 192.168.0.1&lt;/p&gt;  &lt;p align="justify"&gt;In the US site, on the Windows 2003/2008 machine set the network card properties to the following:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;Connection-specific DNS Suffix (US) :&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Description . . . . . . . . . . . : Intel(R) WiFi Link 5300 AGN&lt;/p&gt;  &lt;p align="justify"&gt;Physical Address. . . . . . . . . : 00-21-6A-53-DA-FA&lt;/p&gt;  &lt;p align="justify"&gt;IPv4 Address. . . . . . . . . . . : 192.168.1.3(Preferred)&lt;/p&gt;  &lt;p align="justify"&gt;Subnet Mask . . . . . . . . . . . : 255.255.0.0&lt;/p&gt;  &lt;p align="justify"&gt;DNS Servers . . . . . . . . . . . : 192.168.1.1&lt;/p&gt;  &lt;p align="justify"&gt;Both these machines will communicate since they are on a class B network. However, in AD sites and services, we need to create new subnets to indicate the 2 different sites:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/HowtosetupmultipleADsitetestVMstocommuni_11DAF/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/HowtosetupmultipleADsitetestVMstocommuni_11DAF/image_thumb.png" width="244" height="302" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/HowtosetupmultipleADsitetestVMstocommuni_11DAF/image_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/HowtosetupmultipleADsitetestVMstocommuni_11DAF/image_thumb_1.png" width="246" height="302" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;We set Class C subnet here so that AD sites will think that these are separate networks. Now you will need to ensure that you have a site connector between UK and US.&lt;/p&gt;  &lt;p align="justify"&gt;In addition, if you want Intersite replication to occur more frequently than every 15 minutes, you must enable Change Notification on the Active Directory site link. How you do this depends on which OS is on your DC.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;u&gt;For Windows 2003 Domain Controllers:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;•Open ADSIEdit.msc (in the Windows Support Tools) as a Domain Admin&lt;/p&gt;  &lt;p align="justify"&gt;•Open the Configuration naming context&lt;/p&gt;  &lt;p align="justify"&gt;•Navigate to Sites &amp;gt; Inter-Site Transports &amp;gt; IP&lt;/p&gt;  &lt;p align="justify"&gt;•Right-click the siteLink to modify in the results pane and click Properties&lt;/p&gt;  &lt;p align="justify"&gt;•Locate the options attribute and edit the value from to 1&lt;/p&gt;  &lt;p align="justify"&gt;•Click OK and repeat for other siteLinks, as necessary.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;u&gt;For Windows 2008 and Windows 2008 R2 Domain Controllers:&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;You can use the same method as Windows Server 2003 DCs or you can edit the values directly from AD Sites and Services, as follows.&lt;/p&gt;  &lt;p align="justify"&gt;•Locate the Site Link to modify in AD Sites and Services&lt;/p&gt;  &lt;p align="justify"&gt;•Right-click the Site Link and choose Properties&lt;/p&gt;  &lt;p align="justify"&gt;•Click the Attribute Editor tab&lt;/p&gt;  &lt;p align="justify"&gt;•Locate the options attribute and edit the value from to 1&lt;/p&gt;  &lt;p align="justify"&gt;•Click OK and repeat for other Site Links, as necessary.&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#ff0000"&gt;Sunil Surendranath&lt;/font&gt;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;font color="#ff0000"&gt;Premier Field Engineer&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3281252" width="1" height="1"&gt;</description></item><item><title>Exchange Server Supportability Matrix</title><link>http://blogs.technet.com/msukucc/archive/2009/09/14/exchange-server-supportability-matrix.aspx</link><pubDate>Mon, 14 Sep 2009 18:42:21 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3280957</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3280957.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3280957</wfw:commentRss><description>&lt;p&gt;Over the past few months I have lost count of the number of times I have been asked is “X” version of Exchange supported on “X” OS or against “X” GC’s.&amp;#160; Well, finally someone has put together all of this information in a single location…&lt;/p&gt;  &lt;p&gt;&lt;a title="http://technet.microsoft.com/en-us/library/ee338574.aspx" href="http://technet.microsoft.com/en-us/library/ee338574.aspx"&gt;http://technet.microsoft.com/en-us/library/ee338574.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Although the matrix does not yet include Exchange 2010, it is expected that operating system support will include Windows Server 2008 SP2 and Windows Server R2.&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3280957" width="1" height="1"&gt;</description></item><item><title>Automating Jetstress…</title><link>http://blogs.technet.com/msukucc/archive/2009/06/11/automating-jetstress.aspx</link><pubDate>Fri, 12 Jun 2009 01:15:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3253709</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3253709.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3253709</wfw:commentRss><description>&lt;p&gt;One of the things I like about Jetstress is that it tends to identify failing or failed components before the servers go live.&amp;#160; Its not all about how many IOPS a storage array can provide, sometimes its just as important to prove the stability of the infrastructure and not just its peak performance.&lt;/p&gt;  &lt;p&gt;So, we all know that Jetstress is a great tool.&amp;#160; It helps us prove our storage design and is also really good for finding problems in a storage deployment before it goes live.&amp;#160; The problem is that it takes a while to initialize and run – and quite often on a large project different people will configure the test slightly differently, even with clear documentation.&lt;/p&gt;  &lt;p&gt;On my current project I was faced with the requirement of deploying and therefore jetstress testing,&amp;#160; 20 CCR clusters, which meant 40 jetstress tests!.&amp;#160; Along with all of the other deployment “stuff” this wasn't going to leave me with much time…. not to mention that setting up jetstress and watching it run for a few hours is like watching paint dry…&lt;/p&gt;  &lt;p&gt;This is where I decided I would look at automating the jetstress process from end to end.&amp;#160; I already had a pretty solid automated build process (I will blog about this in the next few weeks), so I just needed to tag in the jetstress bits prior to installing Exchange and I would be all set…&lt;/p&gt;  &lt;h4&gt;Jetstress process outline&lt;/h4&gt;  &lt;p&gt;Before I could begin automating things I needed to determine exactly what I needed to automate…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Create Jetstress directories &lt;/li&gt;    &lt;li&gt;Install Jetstress &lt;/li&gt;    &lt;li&gt;Copy over ESE DLL files &lt;/li&gt;    &lt;li&gt;Start Jetstress to register the DLL files &lt;/li&gt;    &lt;li&gt;Close Jetstress &lt;/li&gt;    &lt;li&gt;Start Jetstress Again &lt;/li&gt;    &lt;li&gt;Configure test &lt;/li&gt;    &lt;li&gt;Initialize databases &lt;/li&gt;    &lt;li&gt;Run Test &lt;/li&gt;    &lt;li&gt;Copy output files centrally &lt;/li&gt;    &lt;li&gt;Remove test databases &lt;/li&gt;    &lt;li&gt;Uninstall jetstress &lt;/li&gt; &lt;/ol&gt;  &lt;h4&gt;Pre-Requisites&lt;/h4&gt;  &lt;p&gt;In addition to the actual functions, I also had some pre-requisites…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Disks need to be ready &lt;/li&gt;    &lt;li&gt;Need to have a copy of the intended ESE Dll’s &lt;/li&gt;    &lt;li&gt;Need to have exported the Jetstress XML config file from the GUI &lt;/li&gt;    &lt;li&gt;Must have powershell installed &lt;/li&gt; &lt;/ol&gt;  &lt;h4&gt;Phase 1 (Steps 1 – 3)&lt;/h4&gt;  &lt;p&gt;The first phase is where we create the directory structure, install jetstress and copy over the ESE dll files we need to use.&lt;/p&gt;  &lt;h5&gt;Step 1 – Create Jetstress directories&lt;/h5&gt;  &lt;p&gt;To do this I decided to use powershell.&amp;#160; To make things really easy I wrote some code to query the jetstress xml file and look at the directories specified within it.&amp;#160; This would allow me to use the process with any jetstress configuration file without needing to update any code.&amp;#160; Copy the following lines of code and save it as create_jetstress_dirs.ps1&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;create_jetstress_dirs.ps1&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;###### BEGIN COPY UNDERNEATH THIS LINE ############&lt;/p&gt;  &lt;div class="code"&gt;&lt;font color="#0000ff"&gt;################################################################### #&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;Read&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;a&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;JetStress&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Config&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;File&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;and&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Create&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;the&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;required&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;dirs&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;Written:&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Neil&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Johnson&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(neiljohn@microsoft.com)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;###################################################################&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$args&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#800000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;])&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$configfile&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$args&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#800000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$configfile&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;.\jetstress.xml&amp;quot;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(!(&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;$configfile&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;throw&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;No Config File Found - create_jetstress_dirs.ps1 &amp;lt;path_to_config_file&amp;gt;&amp;quot;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#2b91af"&gt;$jetstress&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;Get-Content&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$configfile&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;in&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$jetstress&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;-match&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;&amp;lt;path&amp;gt;&amp;quot; &lt;/font&gt;&lt;font color="#0000ff"&gt;-or&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;-match&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;&amp;lt;logpath&amp;gt;&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$path_array&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#000000"&gt;.split(&lt;/font&gt;&lt;font color="#808080"&gt;'&amp;lt;&amp;gt;'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#0000ff"&gt;;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$path_array&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#800000"&gt;2&lt;/font&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;((&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$path&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;green&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;$path already exists&amp;quot;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;yellow&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;Creating $path...&amp;quot;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$nul&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;New-Item&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;$path&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;-type&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;directory&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-force&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt; &lt;/div&gt;  &lt;div class="code"&gt;&amp;#160;&lt;/div&gt;  &lt;div class="code"&gt;###### BEGIN COPY ABOVE THIS LINE ############&lt;/div&gt;  &lt;h5&gt;Step 2 – Install Jetstress&lt;/h5&gt;  &lt;p&gt;Jetstress supports silent installation, so installing it is as simple as running the following command from a batch file or powershell script…&lt;/p&gt;  &lt;div class="code"&gt;&lt;font color="#fa050c"&gt;start /wait msiexec /i c:\jetstress\jetstress.msi /quiet&lt;/font&gt; &lt;/div&gt;  &lt;h5&gt;Step 3 – Copy over ESE DLL files&lt;/h5&gt;  &lt;p&gt;Jetstress simply uses the Exchange ESE dll files to create and control the databases for testing.&amp;#160; As such it requires a copy of the ESE dll files before it can begin.&amp;#160; The following files are required for jetstress to function…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ese.dll &lt;/li&gt;    &lt;li&gt;eseperf.dll &lt;/li&gt;    &lt;li&gt;eseperf.hxx &lt;/li&gt;    &lt;li&gt;eseperf.ini &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I recommend copying these files from a production server that will be running the same version of Exchange into a directory you can keep for later use. &lt;/p&gt;  &lt;p&gt;Now we have our ESE DLL files and a copy of jetstress installed, we just need to copy them into the jetstress installation directory…&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;xcopy C:\JetStress\ESE\SP1-RU5-x64\*.* &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot; /y&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;So, with phase 1 complete, we have a batch file that looks like this…&lt;/p&gt;  &lt;p&gt;&lt;font color="#0080ff" size="2"&gt;@echo off      &lt;br /&gt;set configfile=c:\jetstress\jetstress.xml       &lt;br /&gt;cd c:\jetstress       &lt;br /&gt;powershell -file c:\jetstress\create_jetstress_dirs.ps1 %configfile%       &lt;br /&gt;start /wait msiexec /i c:\jetstress\jetstress.msi /quiet       &lt;br /&gt;xcopy C:\JetStress\ESE\SP1-RU5-x64\*.* &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot; /y       &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h4&gt;Phase 2 - (Steps 4 - 9)&lt;/h4&gt;  &lt;p&gt;So this bit took me quite a while to get working exactly as I wanted.&amp;#160; Essentially on first run JetStress will register the ESE files and performance counters with the operating system.&amp;#160; If you are doing this via the GUI, it simply asks you to close and re-open JetStress after it has registered the DLL files.&amp;#160; In the command line things are more complicated…&lt;/p&gt;  &lt;p&gt;By default when you run JetStressCmd.exe it will register the DLL files and then spawn off a second copy of the process in a new window.&amp;#160; This upsets the natural flow of my batch file because essentially the original JetStress process has now terminated so the batch file continues and in my case reboots! – I needed to run JetStress then carry on and do other things.&amp;#160; The way I got around this behaviour was to initially begin JetStress with the /? switch – this forces the registration of the DLL files, but allows my batch file to continue as expected…&lt;/p&gt;  &lt;div class="code"&gt;&lt;font color="#ff0000"&gt;cd &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot;&amp;#160; &lt;br /&gt;JetStressCmd.exe /?&amp;#160; &lt;br /&gt;JetstressCmd.exe /c c:\jetstress\jetstress.xml /timeout 2H0M0S /new&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt; &lt;/div&gt;  &lt;p&gt;So, our batch file now looks like this…&lt;/p&gt; &lt;font color="#0080ff" size="2"&gt;@echo off    &lt;br /&gt;set configfile=c:\jetstress\jetstress.xml     &lt;br /&gt;cd c:\jetstress     &lt;br /&gt;powershell -file c:\jetstress\create_jetstress_dirs.ps1 %configfile%     &lt;br /&gt;start /wait msiexec /i c:\jetstress\jetstress.msi /quiet     &lt;br /&gt;xcopy C:\JetStress\ESE\SP1-RU5-x64\*.* &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot; /y     &lt;br /&gt;&lt;/font&gt;&lt;font color="#0080ff"&gt;cd &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot;&amp;#160; &lt;br /&gt;JetStressCmd.exe /?&amp;#160; &lt;br /&gt;JetstressCmd.exe /c c:\jetstress\jetstress.xml /timeout 2H0M0S /new&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;   &lt;h4&gt;Phase 3 - (Steps 10 - 12)&lt;/h4&gt;  &lt;p&gt;So, after roughly 4 hours we have completed our JetStress test – the next step is to copy the results and logs into a directory we can harvest later on.&amp;#160; For my deployment I chose c:\jetstress\jetstress_results – however given sufficient permissions you could choose to directly copy the results to a shared location on a server somewhere.&amp;#160; With hindsight this is the route I should have chosen for this deployment and I will aim to do this for the next one.&lt;/p&gt;  &lt;p&gt;We are ideally looking to retain copies of the HTML, BLG, LOG and XML files that exist within the JetStress installation directory.&amp;#160; Assuming you have installed into the default directory&amp;#160; the following lines of batch file will gather the results…&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;mkdir c:\jetstress\jetstress_results      &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.html&amp;quot; c:\jetstress\jetstress_results\ /y       &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.blg&amp;quot; c:\jetstress\jetstress_results\ /y       &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.log&amp;quot; c:\jetstress\jetstress_results\ /y       &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.xml&amp;quot; c:\jetstress\jetstress_results\ /y&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The next step is to uninstall JetStress from the server ready for its Exchange installation.&amp;#160; The following lines of batch file will uninstall JetStress and remove any files that are left in that directory…&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;start /wait msiexec /uninstall c:\jetstress\jetstress.msi /quiet      &lt;br /&gt;cd c:\jetstress      &lt;br /&gt;rmdir &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot; /Q /S&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;The next thing left to do is remove the JetStress test databases and directories.&amp;#160; For that we will use a slightly modified version of our earlier powershell script.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;remove_jetstress_dirs.ps1&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;###### BEGIN COPY UNDERNEATH THIS LINE ############&lt;/p&gt;  &lt;div class="code"&gt;&lt;font color="#0000ff"&gt;################################################################### #      &lt;br /&gt;&lt;/font&gt;&lt;font color="#808080"&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;Read&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;a&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;JetStress&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Config&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;File&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;and&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Delete&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;the&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;required&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;dirs&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;Written:&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Neil&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Johnson&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(neiljohn@microsoft.com)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;###################################################################&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$args&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#800000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;])&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$configfile&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$args&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#800000"&gt;0&lt;/font&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$configfile&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;.\jetstress.xml&amp;quot;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(!(&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;$configfile&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;throw&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;No Config File Found - remove_jetstress_dirs.ps1 &amp;lt;path_to_config_file&amp;gt;&amp;quot;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#2b91af"&gt;$jetstress&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;Get-Content&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$configfile&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;in&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$jetstress&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;-match&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;&amp;lt;path&amp;gt;&amp;quot; &lt;/font&gt;&lt;font color="#0000ff"&gt;-or&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;-match&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;&amp;lt;logpath&amp;gt;&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$path_array&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$line&lt;/font&gt;&lt;font color="#000000"&gt;.split(&lt;/font&gt;&lt;font color="#808080"&gt;'&amp;lt;&amp;gt;'&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#0000ff"&gt;;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$path_array&lt;/font&gt;&lt;font color="#000000"&gt;[&lt;/font&gt;&lt;font color="#800000"&gt;2&lt;/font&gt;&lt;font color="#000000"&gt;]&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;((&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$path&lt;/font&gt;&lt;font color="#000000"&gt;))&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;yellow&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;Removing $path&amp;quot;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$nul&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;remove-Item&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;$path&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;-force&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-recurse&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;green&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;$path already removed&amp;quot;      &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt; &lt;/div&gt;  &lt;p&gt;###### BEGIN COPY ABOVE THIS LINE ############&lt;/p&gt;  &lt;p&gt;After this point we have completed our jetstress test and we are ready to move on.&amp;#160; I simply saved this batch file as c:\jetstress\runjetstress.cmd and called it from powershell at the point in my automated build where I wanted to run it.&lt;/p&gt;  &lt;p&gt;So our final automated jetstress batch file looks like this…&lt;/p&gt;  &lt;p&gt;&lt;font color="#0080ff"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;@echo off          &lt;br /&gt;set configfile=c:\jetstress\jetstress.xml           &lt;br /&gt;cd c:\jetstress           &lt;br /&gt;powershell -file c:\jetstress\create_jetstress_dirs.ps1 %configfile%           &lt;br /&gt;start /wait msiexec /i c:\jetstress\jetstress.msi /quiet           &lt;br /&gt;xcopy C:\JetStress\ESE\SP1-RU5-x64\*.* &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot; /y           &lt;br /&gt;&lt;/font&gt;&lt;/font&gt;cd &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot;&amp;#160; &lt;br /&gt;JetStressCmd.exe /?&amp;#160; &lt;br /&gt;JetstressCmd.exe /c %configfile% /timeout 2H0M0S /new       &lt;br /&gt;mkdir c:\jetstress\jetstress_results       &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.html&amp;quot; c:\jetstress\jetstress_results\ /y       &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.blg&amp;quot; c:\jetstress\jetstress_results\ /y       &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.log&amp;quot; c:\jetstress\jetstress_results\ /y       &lt;br /&gt;xcopy &amp;quot;c:\program files\exchange JetStress\*.xml&amp;quot; c:\jetstress\jetstress_results\ /y       &lt;br /&gt;start /wait msiexec /uninstall c:\jetstress\jetstress.msi /quiet       &lt;br /&gt;cd c:\jetstress       &lt;br /&gt;rmdir &amp;quot;C:\Program Files\Exchange Jetstress&amp;quot; /Q /S       &lt;br /&gt;powershell -file c:\jetstress\remove_jetstress_dirs.ps1 %configfile%&lt;/font&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;So, there you have it – a totally automated and predictable method of running JetStress on your production servers.&amp;#160; So far I have been using this process for the last six months and it has proven to be incredibly robust.&lt;/p&gt;  &lt;p&gt;One last thing, I also chose to parse the results HTML file to attempt to determine if the test had passed or failed.&amp;#160; The following powershell shows how I did this…&lt;/p&gt;  &lt;div class="code"&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;((&lt;/font&gt;&lt;font color="#0000ff"&gt;test-path&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;c:\jetstress\jetstress_results&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)))&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;green&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;$phase - JetStress Test Completed: &amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;-nonewline&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$result_file&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;dir&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;c:\jetstress\jetstress_results\stress*.html&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$results&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;get-content&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$result_file&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$results&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;-match&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;&amp;lt;td class=`&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;success`&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;&amp;gt;Pass&amp;lt;/td&amp;gt;&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;green&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;PASSED&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;red&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;FAILED&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt; &lt;/div&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3253709" width="1" height="1"&gt;</description></item><item><title>Updated Combined Role HUB/CAS Scaling Guidance…</title><link>http://blogs.technet.com/msukucc/archive/2009/06/05/updated-combined-role-hub-cas-scaling-guidance.aspx</link><pubDate>Fri, 05 Jun 2009 12:52:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3250719</guid><dc:creator>msukucc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3250719.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3250719</wfw:commentRss><description>&lt;p&gt;Well, its been a long time in the making and I for one have been waiting for a long time for this data to be published publically.&amp;#160; I was fortunate enough to be taught by Bill Thompson at the ECoE during my Masters rotation and he went through some of the data in this paper.&amp;#160; It dramatically altered the way I approached HUB/CAS scaling work…&lt;/p&gt;  &lt;p&gt;If you are currently designing Exchange 2007 or planning to, I highly recommend you read through this paper.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd901772.aspx"&gt;http://technet.microsoft.com/en-us/library/dd901772.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3250719" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/msukucc/archive/tags/CAS+Role/default.aspx">CAS Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/HUB+Role/default.aspx">HUB Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Scaling/default.aspx">Scaling</category></item><item><title>Reverse Number Lookup and Dealing with Legacy PBX</title><link>http://blogs.technet.com/msukucc/archive/2009/05/21/reverse-number-lookup-and-dealing-with-legacy-pbx.aspx</link><pubDate>Thu, 21 May 2009 20:57:03 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3244217</guid><dc:creator>msukucc</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3244217.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3244217</wfw:commentRss><description>&lt;p&gt;Working with customers I have come across a number of scenarios where the caller ID presented from the PBX is not in E164/DID (Direct Inward Dial) format. Some gateways allow for extensive manipulation of the caller ID, some less so. The good news is that in OCS 2007 R2 you can now easily solve the problem and this has also been made available as a hotfix for OCS 2007 R1 (&lt;a href="http://support.microsoft.com/kb/954647/en-us"&gt;http://support.microsoft.com/kb/954647/en-us&lt;/a&gt;) . Below is an explanation of how it works and what you need to put in place.&lt;/p&gt;  &lt;p&gt;In a simple scenario, you have 2 sites, each with a PBX. There is in place standard short code site dialing. I have also included the PBX node numbers as I have seen these exposed in some cases.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ReverseNumberLookupandDealingwithLegacyP_10A6B/Untitled2_4.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Untitled2" border="0" alt="Untitled2" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ReverseNumberLookupandDealingwithLegacyP_10A6B/Untitled2_thumb_1.jpg" width="515" height="376" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now if we take the simple scenario of Peter in Reading on OCS which is connected through a mediation server and a basic gateway to a PBX in Reading. Joe is a user in London connected to a PBX in London.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ReverseNumberLookupandDealingwithLegacyP_10A6B/Untitled_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Untitled" border="0" alt="Untitled" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ReverseNumberLookupandDealingwithLegacyP_10A6B/Untitled_thumb.jpg" width="484" height="262" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;When Joe calls Peter the following occurs&lt;/p&gt;  &lt;p&gt;The call is routed from the London PBX to the Reading PBX and then on to the basic gateway.&lt;/p&gt;  &lt;p&gt;The gateway will create a SIP invite message and the “to” address is usually formatted correctly but the “from” address could be in one of several formats depending on your legacy PBX&lt;/p&gt;  &lt;p&gt;DID number 442031391212&lt;/p&gt;  &lt;p&gt;Short Dial number 8021212&lt;/p&gt;  &lt;p&gt;Internal dial number 84041212&lt;/p&gt;  &lt;p&gt;If you are fortunate and it is in DID format then the basic gateway can easily add +, as can the mediation server. More likely though you either have the short dial number, or as in this case the internal dial number (using the PBX node number) &lt;/p&gt;  &lt;p&gt;You can see from the log from my basic gateway the formatting of the different addresses I have highlighted in red.&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;---- Outgoing SIP Message to 10.1.10.7:5060 ----&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;INVITE&lt;/b&gt; &lt;b&gt;&lt;font color="#ff0000"&gt;sip:+441189093291@10.1.10.7&lt;/font&gt;&lt;/b&gt;;user=phone SIP/2.0&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Via: SIP/2.0/TCP 10.1.10.10;branch=z9hG4bKac295994674;alias&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Max-Forwards: 70&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;From&lt;/b&gt;&lt;b&gt;:&lt;font color="#ff0000"&gt; &amp;quot;84041212&amp;quot; &amp;lt;sip:84041212@10.1.10.10&amp;gt;&lt;/font&gt;&lt;/b&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;;&lt;/font&gt;&lt;/b&gt;tag=1c295989178&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;To:&lt;/b&gt; &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;b&gt;&amp;lt;sip:+441189093291@10.1.10.7;user=phone&amp;gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Call-ID&lt;/b&gt;: 29598879711200021026@10.1.10.10&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;CSeq:&lt;/b&gt; 1 INVITE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Contact:&lt;/b&gt; &amp;lt;sip:84041212@10.1.10.10;transport=tcp&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Supported:&lt;/b&gt; em,100rel,timer,replaces,path,resource-priority&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Allow:&lt;/b&gt; REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;User-Agent:&lt;/b&gt; Audiocodes-Sip-Gateway-MP-114 FXS_FXO/v.5.00A.035.003&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Content-Type:&lt;/b&gt; application/sdp&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Content-Length:&lt;/b&gt; 258&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;When the message is received by the mediation server, because the “from” number is not in E164 format it will add its configured location profile to the “from” address as a phone-context which I have highlighted in red in the log below.&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;TL_INFO(TF_PROTOCOL) [0]0B9C.1004::03/18/2009-13:48:03.831.000010a9 (SIPStack,SIPAdminLog::TraceProtocolRecord:SIPAdminLog.cpp(122))$$begin_record&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Instance-Id&lt;/b&gt;: 00000134&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Direction&lt;/b&gt;: incoming&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Peer&lt;/b&gt;: redmed01.europe.corp.microsoft.com:2503&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Message-Type&lt;/b&gt;: request&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Start-Line&lt;/b&gt;: &lt;b&gt;INVITE &lt;/b&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;sip:peter@microsoft.com&lt;/font&gt;&lt;/b&gt;;opaque=user:epid:jDT7sohH91mi5ocvidTJugAA;gruu SIP/2.0&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;From&lt;/b&gt;: &lt;b&gt;&lt;font color="#ff0000"&gt;&amp;lt;sip:84041212;phone-context=readingmediationserver@microsoft.com;user=phone&amp;gt;&lt;/font&gt;;&lt;/b&gt;epid=1460650F33;tag=dedea5f4a2&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;To&lt;/b&gt;: &lt;b&gt;&lt;font color="#ff0000"&gt;&amp;lt;sip:+441189093291@microsoft.com;user=phone&amp;gt;&lt;/font&gt;;&lt;/b&gt;epid=7e731b1d1b;tag=03d30514a1&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;CSeq&lt;/b&gt;: 16 INVITE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Call-ID&lt;/b&gt;: b7a0659b-57d0-4336-98e8-0725f897415b&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;MAX-FORWARDS&lt;/b&gt;: 70&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;VIA&lt;/b&gt;: SIP/2.0/TLS 10.1.1.7:2503;branch=z9hG4bK42fecdc&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;ROUTE&lt;/b&gt;: &amp;lt;sip:redmed01.europe.corp.microsoft.com:5061;transport=tls;opaque=state:T;lr&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;CONTACT&lt;/b&gt;: &amp;lt;sip: redmed01.europe.corp.microsoft.com @microsoft.com;gruu;opaque=srvr:MediationServer:kqKefwcAxUeuOkjBv6DxWwAA;grid=92401592ca3b413db9bf01d752fdbf7b&amp;gt;;isGateway&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;CONTENT-LENGTH&lt;/b&gt;: 704&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;SUPPORTED&lt;/b&gt;: replaces&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;SUPPORTED&lt;/b&gt;: ms-safe-transfer&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;SUPPORTED&lt;/b&gt;: gruu-10&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;SUPPORTED&lt;/b&gt;: 100rel&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;USER-AGENT&lt;/b&gt;: RTCC/3.5.0.0 MediationServer&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;CONTENT-TYPE&lt;/b&gt;: application/sdp&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Message-Body&lt;/b&gt;: v=0&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The pool front end server uses the location profile in the phone-context to normalise the number. I would recommend using a different location profile to the one you assign to users as the rules can be slightly different and allows you the flexibility to customise it to your PBX.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ReverseNumberLookupandDealingwithLegacyP_10A6B/Untitled1_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Untitled1" border="0" alt="Untitled1" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/ReverseNumberLookupandDealingwithLegacyP_10A6B/Untitled1_thumb.jpg" width="521" height="480" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It adds a “P-Asserted-Identity” field to the invite message with the normalised number as shown towards the bottom of the invite message below. &lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;TL_INFO(TF_PROTOCOL) [0]0B9C.1004::03/18/2009-13:47:56.380.00000f6e (SIPStack,SIPAdminLog::TraceProtocolRecord:SIPAdminLog.cpp(122))$$begin_record&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Instance-Id&lt;/b&gt;: 00000124&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Direction&lt;/b&gt;: outgoing&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Peer&lt;/b&gt;: 10.1.1.1:3121&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Message-Type&lt;/b&gt;: request&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Start-Line&lt;/b&gt;: &lt;b&gt;INVITE &lt;/b&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;sip:10.1.1.1:3121&lt;/font&gt;&lt;/b&gt;;transport=tls;ms-opaque=29e2f0e8e5;ms-received-cid=800 SIP/2.0&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;From&lt;/b&gt;: &lt;b&gt;&lt;font color="#ff0000"&gt;&amp;lt;sip:84041212;phone-context=readingmediationserver@microsoft.com;user=phone&amp;gt;&lt;/font&gt;;&lt;/b&gt;epid=1460650F33;tag=dedea5f4a2&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;To&lt;/b&gt;&lt;b&gt;: &lt;font color="#ff0000"&gt;&amp;lt;sip:+441189093291@microsoft.com;user=phone&amp;gt;&lt;/font&gt;;&lt;/b&gt;epid=7e731b1d1b&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;CSeq&lt;/b&gt;: 14 INVITE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Call-ID&lt;/b&gt;: b7a0659b-57d0-4336-98e8-0725f897415b&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Record-Route&lt;/b&gt;:&amp;lt;sip:redmed01.europe.corp.microsoft.com:5061;transport=tls;opaque=state:F:Ci.R800:Ieh.F3iAkjnCzw86ws8Paad7Q-xhoz-dlzMeAcTz0kz9ap5Qzj4gqUobs-iQAA;lr;ms-route-sig=aayPE3zUoe-C6QGmGlfPRG4c_CpiLj4gqUobs-iQAA&amp;gt;;tag=5394737F5C726A52BF0897201BE0E06B&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Via&lt;/b&gt;: SIP/2.0/TLS 10.1.1.2:5061;branch=z9hG4bK494BEF08.940AE2E3D46C2B3C;branched=TRUE;ms-internal-info=&amp;quot;aaJ40wWI6TcWSrM9kHR3RfmIeBWPvj4gqUlmojpgAA&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Proxy-Authentication-Info&lt;/b&gt;: Kerberos rspauth=&amp;quot;602306092A864886F71201020201011100FFFFFFFF4B108BAF713F56BEA6F3CC8B197124B2&amp;quot;, srand=&amp;quot;F46844E8&amp;quot;, snum=&amp;quot;51&amp;quot;, opaque=&amp;quot;30115551&amp;quot;, qop=&amp;quot;auth&amp;quot;, targetname=&amp;quot;sip/dubocs01.europe.corp.microsoft.com&amp;quot;, realm=&amp;quot;SIP Communications Service&amp;quot;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Max-Forwards&lt;/b&gt;: 69&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Content-Length&lt;/b&gt;: 2492&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Via&lt;/b&gt;: SIP/2.0/TLS 10.1.1.7:2503;branch=z9hG4bKdb55b847;ms-received-port=2503;ms-received-cid=E00&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Contact&lt;/b&gt;: &amp;lt;sip: redmed01.europe.corp.microsoft.com @microsoft.com;gruu;opaque=srvr:MediationServer:kqKefwcAxUeuOkjBv6DxWwAA;grid=92401592ca3b413db9bf01d752fdbf7b&amp;gt;;isGateway&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Supported&lt;/b&gt;: replaces&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Supported&lt;/b&gt;: ms-safe-transfer&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Supported&lt;/b&gt;: gruu-10&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Supported&lt;/b&gt;: 100rel&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;User-Agent&lt;/b&gt;: RTCC/3.5.0.0 MediationServer&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Content-Type&lt;/b&gt;: multipart/alternative; boundary=uuXBWe9zTOKnsjncYiXRaSzuM0iotixl&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Allow&lt;/b&gt;: UPDATE&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Allow&lt;/b&gt;: Ack, Cancel, Bye,Invite,Refer&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;P-Asserted-Identity&lt;/b&gt;: &lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;b&gt;&amp;lt;sip:+442031391212@microsoft.com;user=phone&amp;gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;History-Info&lt;/b&gt;: &amp;lt;sip:peter@microsoft.com&amp;gt;;index=1&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;b&gt;Message-Body&lt;/b&gt;: --uuXBWe9zTOKnsjncYiXRaSzuM0iotixl&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;When the invite message is received by the Office Communicator client it uses either the “From” field or the “P-Asserted-Identity” field to match against the address book and local Outlook contacts. The problem here is that the numbers in the address book come from Active Directory and these are usually in the short dial format as they are used by users who are not using OCS enterprise voice. &lt;/p&gt;  &lt;p&gt;e.g.    &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="121"&gt;           &lt;p&gt;&lt;b&gt;User&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="151"&gt;           &lt;p&gt;&lt;b&gt;Telephone Number&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="142"&gt;           &lt;p&gt;&lt;b&gt;SIP Line URI&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="121"&gt;           &lt;p&gt;Peter Perfect&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="151"&gt;           &lt;p&gt;801 3291&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="142"&gt;           &lt;p&gt;Tel:+441189093291&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="121"&gt;           &lt;p&gt;Joe Bloggs&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="151"&gt;           &lt;p&gt;803 1212&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="142"&gt;&amp;#160;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="121"&gt;           &lt;p&gt;Ruth Smith&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="151"&gt;           &lt;p&gt;801 3232&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="142"&gt;&amp;#160;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;For this you need to amend the company normalization rules file (Company_Phone_Number_Normalization_Rules.txt) so that it generates number that can be matched against. In this example for London you would add&lt;/p&gt;  &lt;p&gt;&lt;b&gt;##&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;# 802xxxx +44203139xxxx London&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;##&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;802[\s()\-\./]*(\d\d\d\d)&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;+44203139$1&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;I would also recommend you add a test input entry&lt;/p&gt;  &lt;p&gt;&lt;b&gt;#TestInput: 8021234 TestResult: +442031391234&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;This enables you to easily test your address book normalization rules using the command line:&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Abserver.exe -testPhoneNorm &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Which would give output like the following:-&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Running 1 normalization rules tests&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Test from Company_Phone_Number_Normalization_Rules.txt on line 37&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Input: '8021234'&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Expected Result: '+442031391234'&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Actual Result: '+442031391234'&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Test PASSED&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;Matching Rule in Company_Phone_Number_Normalization_Rules.txt on line 15&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;^802[\s()\-\./]*(\d\d\d\d)$&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You can also output the Address book to a text file to view how your numbers are normalizing e.g. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Abserver.exe /dumpFile “f-0bb5.dabs” c:\absdump.txt&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Where f-0bb5.dabs is the latest full address book file. You will see entries similar to the following:-&lt;/p&gt;  &lt;p&gt;ContactId {GUID}&lt;/p&gt;  &lt;p&gt;Mail joe@microsoft.com &lt;/p&gt;  &lt;p&gt;TelephoneNumber 802 1212&lt;/p&gt;  &lt;p&gt;TelephoneNumber tel:+442031391212&lt;/p&gt;  &lt;p&gt;msRTCSIPPrimaryUserAddress sip:joe@microsoft.com &lt;/p&gt;  &lt;p&gt;displayName Joe Bloggs&lt;/p&gt;  &lt;p&gt;Sn Bloggs&lt;/p&gt;  &lt;p&gt;givenName Joe&lt;/p&gt;  &lt;p&gt;Notice that there is an additional telephone number entry with the normalised version of the number. This is the normal telephone number field in Active Directory, not the SIP Line URI.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;To summarise what you need to do is:&lt;/p&gt;  &lt;p&gt;· Create location profile for mediation server&lt;/p&gt;  &lt;p&gt;· Have a consistent number format for telephone numbers in Active Directory&lt;/p&gt;  &lt;p&gt;· Edit Company_Phone_Number_Normalization_Rules.txt file to normalize numbers from Active Directory for the address book.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;font color="#ff0000"&gt;Posted by Paul Brombley&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3244217" width="1" height="1"&gt;</description></item><item><title>Updated : Exchange version powershell script</title><link>http://blogs.technet.com/msukucc/archive/2009/05/07/updated-exchange-version-powershell-script.aspx</link><pubDate>Thu, 07 May 2009 16:13:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3236850</guid><dc:creator>msukucc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3236850.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3236850</wfw:commentRss><description>&lt;p&gt;Further to my &lt;a href="http://blogs.technet.com/msukucc/archive/2009/04/30/how-to-retrieve-the-store-exe-version-from-all-mailbox-and-clustered-servers-in-one-step.aspx" target="_blank"&gt;blog post on April 30th&lt;/a&gt;, I have updated the powershell script to output in a more usable manner and also detect more information about your exchange servers…&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="132"&gt;ServerName&lt;/td&gt;        &lt;td width="132"&gt;TransportVer&lt;/td&gt;        &lt;td width="132"&gt;CASver&lt;/td&gt;        &lt;td width="132"&gt;StoreVer&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER1&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER2&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER3&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER4&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER5&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER6&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER7&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER8&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER9&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER10&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER11&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER12&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER13&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER14&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER15&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER16&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER17&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER18&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER19&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER20&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER21&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER22&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.002&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER23&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER24&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER25&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER26&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER27&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;SERVER28&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;08.01.0336.000&lt;/td&gt;        &lt;td&gt;Not Installed&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Powershell Code…&lt;/p&gt;  &lt;div class="code"&gt;&lt;font color="#2b91af"&gt;$exservers&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;get-exchangeserver&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;function&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;MakeData(&lt;/font&gt;&lt;font color="#2b91af"&gt;$server&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt;&lt;font color="#2b91af"&gt;$transportver&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt;&lt;font color="#2b91af"&gt;$casver&lt;/font&gt;&lt;font color="#000000"&gt;,&lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$data1&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$server&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$data2&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$transportver&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$data3&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$casver&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$data4&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$out&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new-object&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;psobject&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$out&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;|&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;add-member&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;noteproperty&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;ServerName&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$data1&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$out&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;|&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;add-member&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;noteproperty&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;TransportVer&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$data2&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$out&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;|&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;add-member&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;noteproperty&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;CASver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$data3&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$out&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;|&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;add-member&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;noteproperty&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;StoreVer&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$data4&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-output&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$out&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$server&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;in&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$exservers&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;We&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;need&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;to&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;test&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;for&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;three&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;occurrences&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;here&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;To&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;get&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;around&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;cluster&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;share&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;scoping&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;we&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;need&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;to&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;query&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;this&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;via&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;IP...&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$ping&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new-object&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;System.Net.NetworkInformation.Ping&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$ping&lt;/font&gt;&lt;font color="#000000"&gt;.send(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;$server&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#000000"&gt;.status&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;-ne&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;success&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Sometimes&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;the&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;server&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;is&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;distant&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;the&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;first&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;ping&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;fails&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;this&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;is&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;just&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;a&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;last&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;chance&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;to&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;see&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;its&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;really&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;down...&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$ping&lt;/font&gt;&lt;font color="#000000"&gt;.send(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;$server&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$ping&lt;/font&gt;&lt;font color="#000000"&gt;.send(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;$server&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$ipaddress&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#000000"&gt;.address&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#000000"&gt;.status&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;-eq&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;success&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Check&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Store&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Version&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;\\$ipaddress\c$\program files\microsoft\exchange server\bin\store.exe&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;[System.Diagnostics.FileVersionInfo]::GetVersionInfo(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;\\$ipaddress\c$\program files\microsoft\exchange server\bin\store.exe&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;).Fileversion&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;Not Installed&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Check&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Transport&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Version&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;\\$ipaddress\c$\program files\microsoft\exchange server\TransportRoles\data&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$transportver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;[System.Diagnostics.FileVersionInfo]::GetVersionInfo(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;\\$ipaddress\c$\program files\microsoft\exchange server\bin\EdgeTransport.exe&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;).Fileversion&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$transportver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;Not Installed&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Check&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Client&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Access&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Version&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;\\$ipaddress\c$\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\Bin\Microsoft.Exchange.Clients.Owa.dll&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$casver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;[System.Diagnostics.FileVersionInfo]::GetVersionInfo(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;\\$ipaddress\c$\Program Files\Microsoft\Exchange Server\ClientAccess\Owa\Bin\Microsoft.Exchange.Clients.Owa.dll&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;).Fileversion&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$casver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;Not Installed&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;MakeData&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$server&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$transportver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$casver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$transportver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;down&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$casver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;down&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;down&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;MakeData&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$server&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$transportver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$casver&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;     &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt; &lt;/div&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3236850" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/msukucc/archive/tags/Misc/default.aspx">Misc</category><category domain="http://blogs.technet.com/msukucc/archive/tags/MBX+Role/default.aspx">MBX Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/CAS+Role/default.aspx">CAS Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/HUB+Role/default.aspx">HUB Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Edge+Role/default.aspx">Edge Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/powershell/default.aspx">powershell</category></item><item><title>Microsoft Certified Master : Exchange 2007 - A survivors guide…</title><link>http://blogs.technet.com/msukucc/archive/2009/05/05/microsoft-certified-master-exchange-2007-a-survivors-guide.aspx</link><pubDate>Tue, 05 May 2009 15:19:45 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3235602</guid><dc:creator>msukucc</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3235602.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3235602</wfw:commentRss><description>&lt;p&gt;I attended the &lt;a href="http://www.microsoft.com/learning/mcp/master/default.mspx" target="_blank"&gt;Microsoft Certified Master&lt;/a&gt; : Exchange 2007,&amp;#160; rotation 2; prior to attending I had the good fortune to be able to talk to previous Ranger/MCM candidates within Microsoft, who helped prepare me for the program. I thought it would be a good idea to consolidate this information, along with my own advice for future rotations.&lt;/p&gt;  &lt;p&gt;I will leave it to others to talk about what the MCM program is and the and benefits of attending (there are many!); this post is simply to outline what to expect and how to cope with it :)&lt;/p&gt;  &lt;p&gt;There are five flavours of MCM that currently exist.&amp;#160; Although they loosely follow the same structure they are also very different.&amp;#160; This post is regarding my experiences from attending the Exchange version…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/master/exchange/" target="_blank"&gt;Microsoft Certified Master: Microsoft Exchange Server 2007&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/master/sql/" target="_blank"&gt;Microsoft Certified Master: Microsoft SQL Server 2008&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/master/directory/" target="_blank"&gt;Microsoft Certified Master: Windows Server 2008: Directory&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/master/SharePoint/" target="_blank"&gt;Microsoft Certified Master: Microsoft Office SharePoint Server 2007&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/master/OCS/" target="_blank"&gt;Microsoft Certified Master: Microsoft Office Communications Server 2007&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;What to expect?&lt;/h4&gt;  &lt;p&gt;So, one of the first things to know about MCM is that it’s essentially three weeks of your life dedicated to Exchange. If you want to stand any chance at being successful it is VITAL that you have cleared this time, both with your customers and your FAMILY!! – this is especially true if you are attending from Europe; the time zone and class schedule makes communication with family and friends quite a challenge. Make sure you set their expectations that you haven’t died or been abducted by aliens during the three weeks.&lt;/p&gt;  &lt;p&gt;Be prepared for long and difficult days, some days during my rotation I would be awake at 7am and not get back to my apartment until 10pm.&amp;#160; On average most days tend to run from 8am to 6pm of classroom teaching, then there are homework assignments and often there are recommended labs to complete.&amp;#160; There are three exams to complete, studying for these exams usually takes up most of the weekend, so its probably not a great idea to plan anything too exciting for the weekend – we typically did a mixture of self study throughout the weekend and a group white board session on Sunday afternoon which gave everyone a chance to combine their knowledge and talk about what we “thought” might be on the exam (we were almost always wrong!)&lt;/p&gt;  &lt;p&gt;It sounds like hard work, and it is, but its also great fun – honest :)&amp;#160; If you enjoy technology and working with Exchange, the chance to spend so much time focused on a single product is actually really good fun – especially with a group of like minded people :)&lt;/p&gt;  &lt;h4&gt;Preparation&lt;/h4&gt;  &lt;p&gt;The Exchange program has a great reading list – however it is a bit on the large side. Roughly it suggests you read the help file and every blog or whitepaper published on Exchange 2007. The approach I took, which seemed to work well for me, was to concentrate on areas I had the least amount of experience with. Once in class the content is presented very quickly and if you get lost there is very little time to recover, likewise the labs can be complex – Greg’s approach is to describe the end goal of the lab and not give you step-by-step instructions. This is great and allows more flexibility in the labs; however it also means that you may struggle if that area of technology is new to you. &lt;/p&gt;  &lt;p&gt;Once I had identified my areas of weakness I printed out white papers and blogs etc, which I kept with me in my laptop case. Rather than read a book on the train or plane, I would read about UM or ILM. I still found these topics tough, but without the pre-reading I would have been totally lost!.&lt;/p&gt;  &lt;p&gt;In addition to Exchange there are some additional skills that will make your time at MCM less traumatic.&amp;#160; I hope Greg doesn't mind that I list these, but I feel that some exposure and familiarity with the following technologies would help all candidates…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsserversystem/virtualserver/" target="_blank"&gt;Microsoft Virtual Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=80adc08c-bfc6-4c3a-b4f1-772f550ae791&amp;amp;DisplayLang=en" target="_blank"&gt;VMRCplus&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/forefront/edgesecurity/isaserver/en/us/default.aspx" target="_blank"&gt;ISA&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;ISA is used predominantly during the CAS sessions and lab work – its not necessary to be an ISA expert, but some hands on practice configuring publishing rules and listeners would have helped me beforehand – likewise understanding what troubleshooting processes and features to use would have been handy.&lt;/p&gt;  &lt;p&gt;It also appears compulsory to say the phrase “Green Ticky Ticky” whenever something goes well in ISA (Everyone in R2 will understand that! - and so will you if you go through a rotation!)&lt;/p&gt;  &lt;h4&gt;Accommodation&lt;/h4&gt;  &lt;p&gt;A large proportion of my rotation ended up staying at the Redmond Trails, which are essentially a collection of self catering apartments about a 25 minute walk from campus. You will not spend long in your chosen accommodation, so it is important to be realistic regarding the items you buy. It’s unlikely you will have much time to prepare food or cook – we literally just had coffee and ready meals in our apartment. Pretty much all of the time was spent studying to ensure we passed the exams. The apartments usually have fast internet access and Microsoft FTE’s can access their lab environments via the corp VPN. &lt;/p&gt;  &lt;p&gt;Make sure that you know how long it takes to get to class, there is a no tolerance approach to lateness; on your first late you will be made to do something appropriately embarrassing (this is usually recorded!) – but be under no illusions, class will start regardless of you being there or not. Since a huge part of the exams are based on the verbal information provided by the instructors, your instructor may choose to give the rest of the class a bit of “important” information in your absence! – you may also find that additional homework is received for the entire group due to one person being late – DO NOT BE LATE! :)&lt;/p&gt;  &lt;p&gt;My flatmate and I decided to walk whenever possible – you spend so much time cooped up inside the classroom it seemed like a good idea to get some fresh air and exercise whenever possible. Be warned however, its Redmond – that means it rains – a lot! so be prepared :)&lt;/p&gt;  &lt;p&gt;Class usually begins on a Monday so try to get up to campus on the Sunday beforehand so that you know where you are going on Monday morning – there is nothing worse than frantically racing around campus trying to find a building or somewhere to park!&amp;#160; Get there early, grab a coffee and try to relax – its going to be a busy day :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://maps.live.com/default.aspx?v=2&amp;amp;FORM=LMLTCC&amp;amp;cp=47.640764~-122.129045&amp;amp;style=r&amp;amp;lvl=16&amp;amp;tilt=-90&amp;amp;dir=0&amp;amp;alt=-1000&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;encType=1" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Microsoft Campus Map" border="0" alt="Microsoft Campus Map" src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/MicrosoftCertifiedMasterAsurvivorsguide_DC92/Capture_3.jpg" width="526" height="330" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h4&gt;Dealing with Jetlag&lt;/h4&gt;  &lt;p&gt;Unless you live in Redmond or somewhere close, it’s likely that you will experience some degree of jetlag during the first week of MCM. Previously I had tried many things to get over jetlag, the most suitable for me is just to adopt the new time zone as quickly as possible and deal with a few days of being incredibly tired. A good friend of mine who attended the OCS MCM rotation in January suggested that rather than fight the jetlag, study when you can and sleep when you can. For most of the European candidates this means getting up at 4am each day, doing some study from the previous day’s class and then going to sleep at 7pm after class. At the end of the first week you have pretty much adjusted anyway. Those that didn’t adopt this technique found that they were studying when their bodies wanted to go sleep and they were not able to remember a great deal from their study sessions.&lt;/p&gt;  &lt;p&gt;Don't forget you are there for three weeks – its an endurance game, no point in pushing yourself to breaking point in the first few days!!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.healthcentral.com/sleep-disorders/jet-lag-192943-5.html" target="_blank"&gt;Dealing with Jetlag&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4&gt;Socialising&lt;/h4&gt;  &lt;p&gt;One of the most important aspects of attending MCM is the social side. You will be sitting in a room with a number of other Exchange candidates – you probably have had a very similar career path to the guy sitting next to you. It’s also highly likely that you will learn a huge amount from the people sitting around you - as well as the guy standing at the front of the class. Some of the class discussions are fascinating – everyone sitting in that room with you has earned their place, however they may have a totally different perspective than you – taking the time to participate and learn from these discussions is highly rewarding.&lt;/p&gt;  &lt;p&gt;Greg also runs a couple of nights out, all of which are great fun and allow you to get to know your fellow candidates in a more social setting. All of you are in the same boat and will go through the same highs and lows as each other. By the end of your time at MCM you will undoubtedly have made several new friends.&lt;/p&gt;  &lt;h4&gt;Health and Welfare&lt;/h4&gt;  &lt;p&gt;This is one area that concerned me before I got to MCM. If these classes are 12 hours and we have homework, study and exams – how will I cope for three weeks?&lt;/p&gt;  &lt;p&gt;The time passes incredibly quickly, but it’s vitally important to keep yourself alert and well rested. Get as much sleep as you possibly can and ensure that you keep yourself well hydrated throughout each day. We all know we should do this – right? But it’s all too easy to forget. There are frequent breaks – make the most of them – don’t be afraid to request a break, if you need one…. the chances are everyone else does too!.&lt;/p&gt;  &lt;p&gt;The classroom also acts like a Petri dish for colds and illness – in my rotation we had sixteen candidates, half of which had flown long-haul from around the world. Then we all sat together for 12 hours a day or more in a room with no windows! – combined with lack of sleep and the stress of the program led to many of us catching a cold (including Greg!). So, make sure you have cold medication, headache tablets etc – be prepared! There is nothing worse than trying to absorb information when you’re not feeling well and you have an exam on Monday!&lt;/p&gt;  &lt;h4&gt;Exams&lt;/h4&gt;  &lt;p&gt;The exams are multiple choice, closed book and computer based - but don’t expect MCP style questions. These exams can be tough, very tough! There were times during our rotation where those little multiple choice exams seemed impossible!&lt;/p&gt;  &lt;p&gt;There is no easy way to pass the exams; the best advice is to pay attention during class and MAKE NOTES! Some people like study groups, others prefer to study alone. During my rotation we spent several hours each weekend going through topics on the whiteboard, checking that our understanding was correct. We also attempted to guess what likely questions would be asked on each topic – this proved largely unsuccessful (devious instructors!) but participating in these group sessions definitely help me; usually I prefer to study alone, so I was surprised to enjoy the group sessions. My advice is that if you typically study alone, why not study the material then head off into class for a short while and see how you get on in a group. Besides, it might make a nice break from your apartment!&lt;/p&gt;  &lt;p&gt;Another tip that I found useful was during the week as you come across areas that you think might be on the exam, write them in marker pen on a sheet of A4, then tape it to the wall. I found this particularly effective for remembering lists; although our apartment did look a bit odd after three weeks... &lt;/p&gt;  &lt;p&gt;Pay attention to the slide decks; not only might they have links on them (questions can come from the slides, notes, links or verbal content!) but quite often the slide notes are very revealing :)&lt;/p&gt;  &lt;h4&gt;Qualification Lab&lt;/h4&gt;  &lt;p&gt;This sorts the men from the boys! there is no easy way through – it’s tough.&amp;#160; Without giving too much away, the test is essentially made up of a virtual environment containing a number of servers, routers and other infrastructure which has various things broken.&amp;#160; You are given multiple tasks to complete within the lab which will require that you fix some of the breaks.&amp;#160; Just to make things a little harder, you have a time limit which generally means that if you attempt to fix all of the breaks you will run out of time.&amp;#160; The real skill is in determining exactly what you need to fix in order to complete the tasks as quickly as possible.&lt;/p&gt;  &lt;p&gt;A support background will definitely help here, although it’s essentially just about being logical and working through each problem as you find it. Those that are successful generally take a task approach, so rather than fixing everything, simply fix the minimum things required to complete that single task, then move on to the next. In our qual lab there was nothing that could be described as complicated – all of the problems had relatively easy fixes, however finding that simple fix might take an hour or more. It’s also worth remembering to check the basics, networking, DNS, AD – it’s amazing just how much chaos Greg can cause without actually doing much!&lt;/p&gt;  &lt;p&gt;Take your notes electronically as you go. Various candidates advised me to do this after struggling to get their notes completed before the time ran out. To complete the qual lab, not only do you have to fix the breaks, you have to detail the changes you have made to get things working. Without these notes you will fail, if the notes are not complete or Greg is unable to understand them, you could also still fail! Your notes will also help you should you need to back out a change that you have made to the environment.&lt;/p&gt;  &lt;h4&gt;Other Stuff and DSN&lt;/h4&gt;  &lt;p&gt;Its meant to be fun as well as a challenge.&amp;#160; One of the guys from my rotation had an agreement with his daughter that he would take her toy “Theodore” with him everywhere he went for the three weeks and take pictures so that she could see what he had been up to.&amp;#160; Theodore quickly turned into the class mascot…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/MicrosoftCertifiedMasterAsurvivorsguide_DC92/IMG_0781_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Theodore doing OCS like a master..." border="0" alt="Theodore doing OCS like a master..." src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/MicrosoftCertifiedMasterAsurvivorsguide_DC92/IMG_0781_thumb.jpg" width="308" height="343" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Rotation 2’s mascot “Theodore” showing just how easy OCS is… :)&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h4&gt;Are you ready?&lt;/h4&gt;  &lt;p&gt;Both before and after attending MCM I would talk to people about the program.&amp;#160; One of the most common comments I heard was that they would love to attend but they didn't think that they were ready yet.&amp;#160; &lt;/p&gt;  &lt;p&gt;After going through the program and surviving I have some advice for all of those people (you know who you are!) – if you have the opportunity to attend this course, do not pass it up because you think you might not make it – you probably know much more than you think you do already :)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/MicrosoftCertifiedMasterAsurvivorsguide_DC92/IMG_0497_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="MCM Empty classroom..." border="0" alt="MCM Empty classroom..." src="http://blogs.technet.com/blogfiles/msukucc/WindowsLiveWriter/MicrosoftCertifiedMasterAsurvivorsguide_DC92/IMG_0497_thumb.jpg" width="533" height="357" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;MCM Exchange 2007 - rotation 2’s home for 3 weeks – I'm not entirely sure where we all were when this was taken…&lt;/p&gt;  &lt;p&gt;If you are interested in attending Microsoft Certified Master (and you should be!) -&amp;#160; I recommend you check out the following links…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/mcp/master/exchange/default.mspx" target="_blank"&gt;Official MCM Exchange 2007 Page&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.technet.com/themasterblog/default.aspx" target="_blank"&gt;The Master Blog&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;PS.&amp;#160; The pictures were all expertly taken by Morten Kjønnø&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3235602" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/msukucc/archive/tags/Misc/default.aspx">Misc</category><category domain="http://blogs.technet.com/msukucc/archive/tags/E2K7/default.aspx">E2K7</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Outlook/default.aspx">Outlook</category><category domain="http://blogs.technet.com/msukucc/archive/tags/MBX+Role/default.aspx">MBX Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/CAS+Role/default.aspx">CAS Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/HUB+Role/default.aspx">HUB Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Edge+Role/default.aspx">Edge Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/UM+Role/default.aspx">UM Role</category><category domain="http://blogs.technet.com/msukucc/archive/tags/CCR/default.aspx">CCR</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://blogs.technet.com/msukucc/archive/tags/News/default.aspx">News</category><category domain="http://blogs.technet.com/msukucc/archive/tags/SCR/default.aspx">SCR</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Routing/default.aspx">Routing</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Microsoft+Certified+Master/default.aspx">Microsoft Certified Master</category><category domain="http://blogs.technet.com/msukucc/archive/tags/Certification/default.aspx">Certification</category><category domain="http://blogs.technet.com/msukucc/archive/tags/MCM/default.aspx">MCM</category></item><item><title>How to retrieve the store.exe version from all mailbox and clustered servers in one step!?</title><link>http://blogs.technet.com/msukucc/archive/2009/04/30/how-to-retrieve-the-store-exe-version-from-all-mailbox-and-clustered-servers-in-one-step.aspx</link><pubDate>Thu, 30 Apr 2009 13:32:02 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3233304</guid><dc:creator>msukucc</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3233304.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3233304</wfw:commentRss><description>&lt;p&gt;Over the last 12 months I have had various occasions where I needed to quickly check the store.exe version installed on each mailbox server within the organisation.&lt;/p&gt;  &lt;p&gt;Seemingly there is no way to do this directly via PowerShell or Exchange cmdlets.&amp;#160; &lt;/p&gt;  &lt;p&gt;Paul Flaherty has already written a &lt;a href="http://blogs.flaphead.dns2go.com/archive/2007/05/09/exchange-2007-update-rollups.aspx" target="_blank"&gt;great script&lt;/a&gt; to determine the SP and RU version of your exchange servers.&amp;#160; Paul uses WMI to query the registry for installed hotfixes and Roll Up’s.&amp;#160; I wanted to see the physical version of store.exe that was running on each server specifically, since we had a concern about how some RU’s had been applied.&lt;/p&gt;  &lt;p&gt;On the surface this seemed like a really easy thing to do, just grab a list of Exchange servers, then grab the fileversion info from store.exe…&amp;#160; &lt;/p&gt;  &lt;p&gt;Well, yes and no.&amp;#160; For the standalone mailbox servers this worked great, however for all of the clusters it failed, since the &lt;strong&gt;get-mailboxserver&lt;/strong&gt; cmdlet returns the CMS name and under Server 2008 Clusters,&amp;#160; all shares are scoped to the network name, since the admin C$ share is not part of the Exchange CMS, the cluster refuses to answer the CIFS request.&amp;#160; However, after some digging I came up with a workaround by using the IP address.&amp;#160; Since the IP address is bound to the node network interface it answers the CIFS query.&lt;/p&gt;  &lt;p&gt;So, this is the script I came up with.&amp;#160; Its a basic loop, that checks the file version information on the store.exe binary on each exchange server.&amp;#160; I used ping to get the IP address, which works quickly and seems to give me what I wanted.&amp;#160; &lt;/p&gt;  &lt;p&gt;During the writing of this blog post it occurred to me that I could also use the ping reply status (&lt;font color="#17cfd9"&gt;$reply.status&lt;/font&gt;) to test if the CMS or Mailbox server was up or down, saving some time waiting for the &lt;font color="#2edede"&gt;GetVersionInfo&lt;/font&gt; call to timeout, but I will leave that for another day :)&lt;/p&gt;  &lt;div class="code"&gt;&lt;font color="#2b91af"&gt;$exservers&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;get-mailboxserver&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;foreach&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#2b91af"&gt;$server&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;in&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$exservers&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;green&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;Examining Store on $server...&amp;quot; &lt;/font&gt;&lt;font color="#000000"&gt;-nonewline&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;#&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;To&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;get&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;around&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;Cluster share scoping, we need to query&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;via&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;IP...&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$ping&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;new-object&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;System.Net.NetworkInformation.Ping&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$ping&lt;/font&gt;&lt;font color="#000000"&gt;.send(&lt;/font&gt;&lt;font color="#2b91af"&gt;$server&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$ipaddress&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$reply&lt;/font&gt;&lt;font color="#000000"&gt;.address&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/div&gt;  &lt;div class="code"&gt;&lt;font color="#808080"&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;if&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;(&lt;/font&gt;&lt;font color="#0000ff"&gt;Test-Path&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-path&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;\\$ipaddress\c$\program files\microsoft\exchange server\bin\store.exe&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;)&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#0000ff"&gt;=&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;[System.Diagnostics.FileVersionInfo]::GetVersionInfo(&lt;/font&gt;&lt;font color="#808080"&gt;&amp;quot;\\$ipaddress\c$\program files\microsoft\exchange server\bin\store.exe&amp;quot;&lt;/font&gt;&lt;font color="#000000"&gt;).Fileversion&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;yellow&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#2b91af"&gt;$storever&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;else&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;{&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#0000ff"&gt;write-host&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;-f&lt;/font&gt;&lt;font color="#808080"&gt;&amp;#160;&lt;/font&gt;&lt;font color="#000000"&gt;red&lt;/font&gt;&lt;font color="#808080"&gt; &amp;quot;Unable to Find Store.exe&amp;quot;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt;&lt;font color="#808080"&gt;      &lt;br /&gt;&lt;/font&gt;&lt;font color="#000000"&gt;}&lt;/font&gt; &lt;/div&gt;  &lt;p&gt;The output of the script looks as follows…&lt;/p&gt;  &lt;p&gt;&lt;font size="1" face="Courier New"&gt;[PS] C:\build\powershell&amp;gt;.\&lt;strong&gt;getstorever.ps1&lt;/strong&gt;       &lt;br /&gt;E&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;xamining Store on MBXSERVER1...&lt;strong&gt;08.01.0336.000&lt;/strong&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;Examining Store on MBXSERVER2...&lt;strong&gt;08.01.0336.000&lt;/strong&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;Examining Store on MBXSERVER3...&lt;strong&gt;08.01.0336.000        &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;Examining Store on MBXSERVER4...&lt;strong&gt;08.01.0336.000&lt;/strong&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;Examining Store on MBXSERVER5...&lt;strong&gt;08.01.0336.000        &lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;Examining Store on MBXSERVER6...&lt;strong&gt;08.01.0336.000&lt;/strong&gt;       &lt;br /&gt;&lt;/font&gt;&lt;font size="1" face="Courier New"&gt;Examining Store on MBXSERVER7...&lt;strong&gt;08.01.0240.005&lt;/strong&gt;       &lt;br /&gt;Examining Store on MBXSERVER8...&lt;strong&gt;08.01.0336.000&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Hopefully someone else out there will find this useful – its certainly saved me a couple of hours work today.&amp;#160; It would be nice to change the formatting and have it output this data as a HTML table, but like the ping status, I will save that for another day…&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;em&gt;Neil Johnson&lt;/em&gt;&lt;em&gt;, MCS UK, MCM Exchange 2007&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3233304" width="1" height="1"&gt;</description></item><item><title>Is your E2K7 project in danger of being scrapped?</title><link>http://blogs.technet.com/msukucc/archive/2009/03/02/is-your-e2k7-project-in-danger-of-being-scrapped.aspx</link><pubDate>Mon, 02 Mar 2009 12:21:57 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3208174</guid><dc:creator>msukucc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.technet.com/msukucc/comments/3208174.aspx</comments><wfw:commentRss>http://blogs.technet.com/msukucc/commentrss.aspx?PostID=3208174</wfw:commentRss><description>&lt;p&gt;I’m guessing that over the next few months IT managers are going to be pushing their staff really hard to justify any spend.&amp;#160; ..and projects to upgrade to Exchange Server 2007 are not going to be immune. Clearly to have any chance of getting the go ahead for your deployment of Exchange Server 2007 you are going to need to be able to demonstrate significant advantages of its deployment and that’s going to centre around saving cash…&amp;#160; (incidentally it’s no surprise that 3 out of the top 5 ‘&lt;a href="http://www.microsoft.com/exchange/evaluation/topreasons.mspx"&gt;Top Ten Reasons to Upgrade to Exchange Server 2007&lt;/a&gt;’ are based on saving money.) &lt;/p&gt;  &lt;p&gt;So I thought I’d put together a few blogs about areas where you can prove that deploying Exchange Server 2007 will lead to saving your boss’ money.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/douggowans/archive/2009/01/14/getting-your-exchange-2007-project-approved-part-1-fewer-servers-supporting-more-mailboxes.aspx"&gt;Part 1 (Fewer Servers supporting More Mailboxes)&lt;/a&gt;     &lt;br /&gt;“OK so it’s one thing being able to say that you can support more for less but it’s another proving it.&amp;#160; So how do you prove that you actually save money by requiring fewer servers to support the same or more mailboxes?”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/douggowans/archive/2009/01/16/getting-your-exchange-2007-project-approved-part-2-make-your-backups-more-cost-effective.aspx"&gt;Part 2 (Make your backups more cost effective…)&lt;/a&gt;     &lt;br /&gt;“One area it’s worth focusing on is backups.&amp;#160; ..but I wouldn’t tackle backups on their own – I would tackle them in conjunction with your overall plans for compliance and availability.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/douggowans/archive/2009/01/20/getting-your-exchange-2007-project-approved-part-3-storage.aspx"&gt;Part 3 (Storage)&lt;/a&gt;     &lt;br /&gt;“Ah yes that old chestnut…&amp;#160; SAN versus DAS – switch to DAS and save a load of money.&amp;#160; It’s obvious right?&amp;#160; Well I’m not sure. This is still &lt;a href="http://blogs.msdn.com/douggowans/archive/2008/04/21/some-more-thoughts-on-san-v-das-is-it-actually-time-to-consider-das.aspx"&gt;a hot topic&lt;/a&gt; but the bottom line is that Exchange 2007 now gives us a lot more options about which storage we choose to support our Exchange data.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/douggowans/archive/2009/01/26/getting-your-exchange-2007-project-approved-part-4-big-mailboxes.aspx"&gt;Part 4 (Big Mailboxes)&lt;/a&gt;     &lt;br /&gt;“OK so the idea of &lt;a href="http://blogs.msdn.com/douggowans/archive/2008/11/24/big-online-mailboxes.aspx"&gt;big mailboxes&lt;/a&gt; has become a viable option for a lot of organisations since Exchange Server 2007 was released and now that we are seeing real examples of deployments of mailboxes of multiple GBs there is more information around to make it more of a comfortable decision to deploy large mailboxes with Exchange Server.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/douggowans/archive/2009/01/28/getting-your-exchange-2007-project-approved-part-5-the-edge.aspx"&gt;Part 5 (the Edge)&lt;/a&gt;     &lt;br /&gt;“OK so I work for Microsoft but hey it’s worth a try …consider the&lt;strong&gt; Edge Transport role server as a replacement to other services in the perimeter.&lt;/strong&gt;”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/douggowans/archive/2009/01/30/getting-your-exchange-2007-project-approved-part-6-a-few-last-ideas.aspx"&gt;Part 6 (A few last ideas…)&lt;/a&gt;     &lt;br /&gt;“...a few more ideas that are worth exploring...”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/douggowans/default.aspx"&gt;Doug Gowans&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3208174" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/msukucc/archive/tags/Misc/default.aspx">Misc</category><category domain="http://blogs.technet.com/msukucc/archive/tags/E2K7/default.aspx">E2K7</category></item></channel></rss>