<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Brian Desmond's Blog</title><link>http://briandesmond.com/</link><description /><generator>Graffiti CMS 1.2 (build 1.2.0.2308)</generator><lastBuildDate>Sun, 07 Mar 2010 21:43:14 GMT</lastBuildDate><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BrianDesmond" /><feedburner:info uri="briandesmond" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>41.940832</geo:lat><geo:long>-87.658528</geo:long><image><link>http://www.briandesmond.com/blog/</link><url>http://www.briandesmond.com/files/themes/bdcom01/images/rssimage.gif</url><title>Brian Desmond's Blog</title></image><feedburner:emailServiceId>BrianDesmond</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>How to Integrate Office Communications Server 2007 R2 with Exchange 2010</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/1l5zc8xo_Ls/</link><pubDate>Sun, 07 Mar 2010 21:43:14 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/how-to-integrate-office-communications-server-2007-r2-with-exchange-2010/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>0</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;One of the new features of Outlook Web App (OWA) in Exchange 2010 is the ability for OWA to act as an IM client if you have Office Communications Server (OCS) in your environment. Once configured, you’ll be able to see and manage your buddy list, manage presence, as well as participate in IM conversations while logged in to OWA. Configuring this integration requires a number of steps on each of your Exchange 2010 Client Access Servers (CAS’). Many of the changes discussed in this blog post will cause brief service interruptions so it is highly recommended that you perform this work during a maintenance window where these interruptions are tolerable. &lt;/p&gt;  &lt;p&gt;You’ll need to download two packages in order to proceed:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca107ab1-63c8-4c6a-816d-17961393d2b8&amp;amp;displaylang=en" target="_blank"&gt;web service provider&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;The latest &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b3b02475-150c-41fa-844a-c10a517040f4" target="_blank"&gt;ucmaredist.msp&lt;/a&gt; rollup package (currently January 2010) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can simply run the first download on one machine as it will extract the contents to C:\WebService Provider Installer Package (by default). Inside of this folder will be a number of installers which you’ll need to execute (in order) on each of your CAS servers:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Visual C++ Redistributable (vcredist_x64.exe) &lt;/li&gt;    &lt;li&gt;Unified Communications Managed API (ucmaredist.msi) &lt;/li&gt;    &lt;li&gt;OCS Service Provider (cwaowassp.msi) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Finally, you’ll need to patch the UC Managed API by installing ucmaredist.msp. &lt;/p&gt;  &lt;div class="note"&gt;&lt;strong&gt;Note: &lt;/strong&gt;If you have User Account Control (UAC) enabled on your CAS servers, you should execute all of these packages from an elevated command prompt. &lt;/div&gt;  &lt;p&gt;Once these packages are installed, you’re ready to configure OWA for integration with OCS. You’ll need to have the name of the OCS Pool which you plan to have your CAS servers connect to on hand as well as some information about the certificate on each CAS server which will be used to secure communications between the CAS server and OCS. Specifically, you’ll need to collect the certificate issuer string as well as the certificate’s serial number. You can do this using the following PowerShell command:&lt;/p&gt;  &lt;pre class="brush: powershell;"&gt;Get-ExchangeCertificate | fl Subject,Issuer,SerialNumber&lt;/pre&gt;

&lt;p&gt;You should get text returned back similar to the following:&lt;/p&gt;

&lt;blockquote&gt;Subject&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : CN=mail14.briandesmond.net, OU=IT, O=“Brian Desmond Consulting, LLC”, L=Chicago, S=Illinois, C=US 
  &lt;br /&gt;Issuer&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : CN=DigiCert Global CA, OU=www.digicert.com, O=DigiCert Inc, C=US 

  &lt;br /&gt;SerialNumber : 478C52B6B53E467F9331BB8CB4B2BDB8&lt;/blockquote&gt;

&lt;div class="note"&gt;&lt;strong&gt;Note: &lt;/strong&gt;If you are using different certificates on each CAS server in your array, you’ll need to collect this data individually on a per CAS server basis. &lt;/div&gt;

&lt;p&gt;Make note of the issuer and serial number values for the certificate. You’ll need to tell OWA to use this certificate for communications with OCS. To do this, browse to C:\Program Files\Microsoft\Exchange\V14\ClientAccess\Owa and open the web.config file with notepad. Scroll down and find the following section:&lt;/p&gt;

&lt;blockquote&gt;&amp;lt;add key=&amp;quot;IMPoolName&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt; 
  &lt;br /&gt;&amp;lt;add key=&amp;quot;IMCertificateIssuer&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt; 

  &lt;br /&gt;&amp;lt;add key=&amp;quot;IMCertificateSerialNumber&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt; &lt;/blockquote&gt;

&lt;p&gt;These are the three values you’ll need to populate for OWA to make the connection to OCS. The first value should be the FQDN of the OCS pool you want to connect to, and the following two values should be copied out of the Get-ExchangeCertificate spew collected earlier as shown below:&lt;/p&gt;

&lt;blockquote&gt;&amp;lt;add key=&amp;quot;IMPoolName&amp;quot; value=&amp;quot;ocspool01.briandesmond.net&amp;quot; /&amp;gt; 
  &lt;br /&gt;&amp;lt;add key=&amp;quot;IMCertificateIssuer&amp;quot; value='CN=mail14.briandesmond.net, OU=IT, O=&amp;quot;Brian Desmond Consulting, LLC&amp;quot;, L=Chicago, S=Illinois, C=US' /&amp;gt; 

  &lt;br /&gt;&amp;lt;add key=&amp;quot;IMCertificateSerialNumber&amp;quot; value=&amp;quot;47 8C 52 B6 B5 3E 46 7F 93 31 BB 8C B4 B2 BD B8&amp;quot; /&amp;gt; &lt;/blockquote&gt;

&lt;div class="warning"&gt;&lt;strong&gt;Warning: &lt;/strong&gt;There are three &lt;em&gt;extremely&lt;/em&gt; important things you need to do when customizing the configuration settings shown above: 

  &lt;ol&gt;
    &lt;li&gt;If your certificate’s issuer includes any double quotes (as mine does), you must enclose the data in single quotes instead of the default double quotes as shown above. &lt;/li&gt;

    &lt;li&gt;You must insert the spaces in between each octet in the serial number as shown above. &lt;/li&gt;

    &lt;li&gt;You must remember to update these values when you renew or replace the certificate on a CAS server. &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;

&lt;p&gt;Once OWA is configured, you’ll need to configure your OCS pool to trust the CAS servers. To do this, access the OCS Administration Pool, and open the Front End Properties of the pool (right click the pool, Properties&amp;gt;Front End Properties). On the Host Authorization tab, add an entry reflecting the certificate you configured in the web.config file in the previous step. You’ll also want to check the “Treat As Authenticated” and “Throttle As Server” checkboxes as shown below:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/HowtoIntegrateOfficeCommunicationsServer_CF81/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://briandesmond.com/files/media/image/WindowsLiveWriter/HowtoIntegrateOfficeCommunicationsServer_CF81/image_thumb.png" width="366" height="269" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;In order for this change to take effect immediately, you may need to restart the services on your OCS Front Ends. Doing this will disconnect any currently connected clients so it may instead be advantageous to wait for caches to refresh. The final step is to enable OCS IM integration for the OWA virtual directory. To do this, run the following PowerShell command:&lt;/p&gt;

&lt;pre class="brush: powershell;"&gt;Get-OwaVirtualDirectory -Server YourCasServer | Set-OwaVirtualDirectory -InstantMessagingType OCS&lt;/pre&gt;

&lt;p&gt;Users who are enabled for OCS should see their buddy list as well as a jelly bean to manage presence next time they login:&lt;/p&gt;

&lt;table border="0" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;
    &lt;tr&gt;
      &lt;td valign="top" width="200"&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/HowtoIntegrateOfficeCommunicationsServer_CF81/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://briandesmond.com/files/media/image/WindowsLiveWriter/HowtoIntegrateOfficeCommunicationsServer_CF81/image_thumb_2.png" width="158" height="209" /&gt;&lt;/a&gt; &lt;/td&gt;

      &lt;td valign="top" width="200"&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/HowtoIntegrateOfficeCommunicationsServer_CF81/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://briandesmond.com/files/media/image/WindowsLiveWriter/HowtoIntegrateOfficeCommunicationsServer_CF81/image_thumb_3.png" width="144" height="331" /&gt;&lt;/a&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;In summary, there are four key steps you’ll need to take in order to enable OCS integration with Outlook Web App in Exchange 2010. First, you’ll need to download the service provider and latest rollup for the components in the service provider download. Next, you’ll need to install the components downloaded on each Client Access Server. You’ll then collect certificate information from each CAS server and configure that information along with your OCS pool information in the OWA web.config file. Finally, you’ll add the CAS certificate to the list of trusted hosts in OCS and enable OCS integration on the OWA virtual directory. &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=1l5zc8xo_Ls:qf4w605ggDo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=1l5zc8xo_Ls:qf4w605ggDo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=1l5zc8xo_Ls:qf4w605ggDo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=1l5zc8xo_Ls:qf4w605ggDo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/1l5zc8xo_Ls" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/how-to-integrate-office-communications-server-2007-r2-with-exchange-2010/</feedburner:origLink></item><item><title>Converting HyperV Snapshots to Dumps</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/X4krS_qZA-4/</link><pubDate>Tue, 02 Feb 2010 00:07:19 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/converting-hyperv-snapshots-to-dumps/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>0</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;Microsoft has had a tool internally for a while that would convert a saved state or snapshot of a HyperV virtual machine into a dump that you could open with the Windows debugging tools. This is really pretty handy sometimes when troubleshooting. The good news is this tool is now publically available &lt;a href="http://code.msdn.microsoft.com/vm2dmp" target="_blank"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=X4krS_qZA-4:6gkVVFEFvg8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=X4krS_qZA-4:6gkVVFEFvg8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=X4krS_qZA-4:6gkVVFEFvg8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=X4krS_qZA-4:6gkVVFEFvg8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/X4krS_qZA-4" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/converting-hyperv-snapshots-to-dumps/</feedburner:origLink></item><item><title>BlackBerry Enterprise Server and Exchange Server 2010 Throttling Policies</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/TjLziGJqOBg/</link><pubDate>Mon, 01 Feb 2010 02:28:27 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/blackberry-enterprise-server-and-exchange-server-2010-throttling-policies/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>2</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;One of the new features in Exchange Server 2010 is the concept of Client Throttling Policies. In summary, Client Throttling Policies are designed to limit the amount of system resources a given user can consume and in turn impact performance for other Exchange users. Out of the box there is a default throttling policy (use the &lt;a href="http://technet.microsoft.com/en-us/library/dd351264.aspx" target="_blank"&gt;Get-ThrottlingPolicy&lt;/a&gt; cmdlet) applied to all users:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;blockquote&gt;&lt;font size="2" face="Courier New"&gt;RunspaceId&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : ba3cdf92-fc9f-4a70-a912-2cf225e6d573      &lt;br /&gt;IsDefault&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : True       &lt;br /&gt;EASMaxConcurrency&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; : 10       &lt;br /&gt;EASPercentTimeInAD&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;EASPercentTimeInCAS&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;EASPercentTimeInMailboxRPC&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;EWSMaxConcurrency&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; : 10       &lt;br /&gt;EWSPercentTimeInAD&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;EWSPercentTimeInCAS&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;EWSPercentTimeInMailboxRPC&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;EWSMaxSubscriptions&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;EWSFastSearchTimeoutInSeconds&amp;#160; : 60       &lt;br /&gt;EWSFindCountLimit&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;IMAPMaxConcurrency&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;IMAPPercentTimeInAD&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;IMAPPercentTimeInCAS&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;IMAPPercentTimeInMailboxRPC&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;OWAMaxConcurrency&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; : 5       &lt;br /&gt;OWAPercentTimeInAD&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;OWAPercentTimeInCAS&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;OWAPercentTimeInMailboxRPC&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;POPMaxConcurrency&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; : 20       &lt;br /&gt;POPPercentTimeInAD&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;POPPercentTimeInCAS&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;POPPercentTimeInMailboxRPC&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;PowerShellMaxConcurrency&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 18       &lt;br /&gt;PowerShellMaxCmdlets&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;PowerShellMaxCmdletsTimePeriod :       &lt;br /&gt;ExchangeMaxCmdlets&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;PowerShellMaxCmdletQueueDepth&amp;#160; :       &lt;br /&gt;RCAMaxConcurrency&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; : 20       &lt;br /&gt;RCAPercentTimeInAD&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;RCAPercentTimeInCAS&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;RCAPercentTimeInMailboxRPC&amp;#160;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;MessageRateLimit&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;&amp;#160; :       &lt;br /&gt;RecipientRateLimit&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;ForwardeeLimit&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;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;CPUStartPercent&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;&amp;#160;&amp;#160; : 75       &lt;br /&gt;AdminDisplayName&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;&amp;#160; :       &lt;br /&gt;ExchangeVersion&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;&amp;#160;&amp;#160; : 0.10 (14.0.100.0)       &lt;br /&gt;Name&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;&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; : DefaultThrottlingPolicy_f017f530-3edf-4c59-9955-d94bb7892fb0       &lt;br /&gt;DistinguishedName&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; : CN=DefaultThrottlingPolicy_f017f530-3edf-4c59-9955-d94bb7892fb0,CN=Global Settings,CN=       &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;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; GreenOrg,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=green,DC=briandesmond,D       &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;&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; C=net       &lt;br /&gt;Identity&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : DefaultThrottlingPolicy_f017f530-3edf-4c59-9955-d94bb7892fb0       &lt;br /&gt;Guid&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;&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; : af1aeaac-4d88-43da-92df-24c0924d4ad8       &lt;br /&gt;ObjectCategory&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;&amp;#160;&amp;#160;&amp;#160; : green.briandesmond.net/Configuration/Schema/ms-Exch-Throttling-Policy       &lt;br /&gt;ObjectClass&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : {top, msExchGenericPolicy, msExchThrottlingPolicy}       &lt;br /&gt;WhenChanged&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 10/10/2009 5:44:29 PM       &lt;br /&gt;WhenCreated&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : 10/10/2009 5:44:11 PM       &lt;br /&gt;WhenChangedUTC&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;&amp;#160;&amp;#160;&amp;#160; : 10/10/2009 10:44:29 PM       &lt;br /&gt;WhenCreatedUTC&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;&amp;#160;&amp;#160;&amp;#160; : 10/10/2009 10:44:11 PM       &lt;br /&gt;OrganizationId&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;&amp;#160;&amp;#160;&amp;#160; :       &lt;br /&gt;OriginatingServer&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; : BRIAN-GRDC02.green.briandesmond.net       &lt;br /&gt;IsValid&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;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : True&lt;/font&gt;&lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you can see, most of the valuesa re null, however each of the services has a *MaxCurrency property. These define the maximum number of connections a given user can have to that service. For example, the EASMaxConcurrency value limits a given user to a maximum of ten Exchange ActiveSync connections. Each of the values is documented in the &lt;a href="http://technet.microsoft.com/en-us/library/dd298094.aspx" target="_blank"&gt;Set-ThrottlingPolicy&lt;/a&gt; cmdlet documentation. Of particular note to this discussion is the RCAMaxConcurrency value which defines the maximum number of concurrent connections a given user can have to the RPC Client Access service. The RPC Client Access service is new in Exchange 2010 and it handles all MAPI connections to Exchange.&lt;/p&gt;  &lt;p&gt;BlackBerry Enterprise Server (BES) uses a single service account to proxy all of the connections to Exchange on behalf of BlackBerry users. The side effect of this is that it’s quite likely that BES will need to have more than twenty (default limit) connections open to Exchange at a given time. If you review the &lt;a href="http://technet.microsoft.com/en-us/library/dd351264.aspx" target="_blank"&gt;documentation&lt;/a&gt; from RIM, they recommend setting the RCAMaxConcurrency value to null (equivalent to unlimited) for all users. This is really &lt;em&gt;not&lt;/em&gt; a great idea at all.&lt;/p&gt;  &lt;p&gt;Instead, what you can do is define a new Client Throttling Policy without an RCAMaxConcurrency value and apply it directly to the BES service account. The PowerShell script below does just that. The script assumes that your BES service account is called “BESAdmin”. If it isn’t modify the script accordingly.&lt;/p&gt;  &lt;pre class="brush: powershell;"&gt;New-ThrottlingPolicy &amp;quot;BES Throttling Policy&amp;quot; -RCAMaxConcurrency:$null
Set-Mailbox besadmin -ThrottlingPolicy &amp;quot;BES Throttling Policy&amp;quot;&lt;/pre&gt;

&lt;p&gt;You can easily confirm that the new policy is applied to the BESAdmin account by inspecting the properties of BESAdmin mailbox:&lt;/p&gt;

&lt;pre class="brush: powershell;"&gt;Get-Mailbox besadmin | fl Name,ThrottlingPolicy&lt;/pre&gt;

&lt;p&gt;You should see results similar to the following:&lt;/p&gt;

&lt;blockquote&gt;&lt;font size="2" face="Courier New"&gt;Name&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : BES Admin 
    &lt;br /&gt;ThrottlingPolicy : BES Throttling Policy&lt;/font&gt;&lt;/blockquote&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=TjLziGJqOBg:OfnQHjBznlU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=TjLziGJqOBg:OfnQHjBznlU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=TjLziGJqOBg:OfnQHjBznlU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=TjLziGJqOBg:OfnQHjBznlU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/TjLziGJqOBg" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/blackberry-enterprise-server-and-exchange-server-2010-throttling-policies/</feedburner:origLink></item><item><title>How to Create an ActiveSync Device Report</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/b3lSiHnzFzI/</link><pubDate>Sun, 31 Jan 2010 23:42:00 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/how-to-create-an-activesync-device-report/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>1</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;Exchange logs quite a bit of info about ActiveSync device partnerships and you can use this to create reports about the utilization of mobility features in your organization. Getting this data requires a couple of intermediate steps before you can export it to a CSV for processing in something like Excel (or another script). The PowerShell script below will export all of the ActiveSync device relationships in your organization. Keep in mind that this will include old relationships which are no longer active. Depending on how large your organization is and the number of device relationships out there, it may take a little while for the script to run.&lt;/p&gt;  &lt;div class="note"&gt;&lt;strong&gt;Note: &lt;/strong&gt;If you have a mixed version organization (e.g. Exchange 2007 and Exchange 2010), you’ll need to run the script twice. Once in the Exchange 2007 Management Shell and once in the Exchange 2010 Management Shell. The cmdlets used here are not backwards (or forward compatible). I’ve provided two versions of the script - one for Exchange 2007 and one for Exchange 2010.&lt;/div&gt;  &lt;p&gt;&lt;strong&gt;Exchange 2007 Version&lt;/strong&gt; &lt;/p&gt;  &lt;pre class="brush: powershell;"&gt;$devices = @()
$mailboxes = Get-CASMailbox -ResultSize:Unlimited | Where-Object {$_.HasActiveSyncDevicePartnership -eq $true -and $_.ExchangeVersion.ExchangeBuild -ilike &amp;quot;8*&amp;quot;}

foreach ($m in $mailboxes) 
{
	$devices += Get-ActiveSyncDeviceStatistics -Mailbox $m.Identity
}

$devices | Export-Csv DeviceStats.csv&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exchange 2010 Version&lt;/strong&gt; &lt;/p&gt;

&lt;pre class="brush: powershell;"&gt;$devices = @()
$mailboxes = Get-CASMailbox -ResultSize:Unlimited | Where-Object {$_.HasActiveSyncDevicePartnership -eq $true -and $_.ExchangeVersion.ExchangeBuild -ilike &amp;quot;14*&amp;quot;}

foreach ($m in $mailboxes) 
{
	$devices += Get-ActiveSyncDeviceStatistics -Mailbox $m.Identity
}

$devices | Export-Csv DeviceStats.csv&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;You can open the exported CSV in Excel from here and generate reports based on that. There is quite a bit of information in the report including some personally identifiable information (PII) for the devices so keep that in mind before redistributing the raw data file. &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=b3lSiHnzFzI:2rd-R8-I-SA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=b3lSiHnzFzI:2rd-R8-I-SA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=b3lSiHnzFzI:2rd-R8-I-SA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=b3lSiHnzFzI:2rd-R8-I-SA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/b3lSiHnzFzI" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/how-to-create-an-activesync-device-report/</feedburner:origLink></item><item><title>Small Update to Redirection Blog</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/YnwEMCkfWYc/</link><pubDate>Sun, 31 Jan 2010 22:40:00 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/small-update-to-redirection-blog/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>0</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;Last week, I posted about how to redirect HTTP connects to Exchange 2010 OWA to HTTPS. There was a small issue in the post which I&amp;rsquo;ve now corrected. If you explicitly disabled HTTP Redirection for the OWA virtual directory, you would break the /exchange, /public, and /exchweb virtual directories which redirect to /owa.&lt;/p&gt;
&lt;p&gt;If you browse to &lt;a href="https://owa.customer.com/exchange"&gt;https://owa.customer.com/exchange&lt;/a&gt;, you might see the following event in the Application log of your CAS server:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application &lt;br /&gt;
Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASP.NET 2.0.50727.0 &lt;br /&gt;
Date:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1/31/2010 2:20:16 PM &lt;br /&gt;
Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1310 &lt;br /&gt;
Task Category: Web Event &lt;br /&gt;
Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Warning &lt;br /&gt;
Keywords:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Classic &lt;br /&gt;
User:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N/A &lt;br /&gt;
Computer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAS01.green.briandesmond.net&lt;/p&gt;
&lt;p&gt;Description: &lt;br /&gt;
Event code: 3008 &lt;br /&gt;
Event message: A configuration error has occurred. &lt;br /&gt;
Event time: 1/31/2010 2:20:16 PM &lt;br /&gt;
Event time (UTC): 1/31/2010 10:20:16 PM &lt;br /&gt;
Event ID: 1dd0ff95241040a48b5acc09bff2e3ad &lt;br /&gt;
Event sequence: 32 &lt;br /&gt;
Event occurrence: 31 &lt;br /&gt;
Event detail code: 0&amp;nbsp; &lt;br /&gt;
Application information:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Application domain: /LM/W3SVC/1/ROOT-2-129092586348966635&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Trust level: Full&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Application Virtual Path: /&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Application Path: C:\inetpub\wwwroot\&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Machine name: CAS01 &lt;br /&gt;
Process information:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Process ID: 2268&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Process name: w3wp.exe&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Account name: IIS APPPOOL\DefaultAppPool&amp;nbsp; &lt;br /&gt;
Exception information:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Exception type: ConfigurationErrorsException&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Exception message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.&amp;nbsp; This error can be caused by a virtual directory not being configured as an application in IIS. (&lt;font color="#ff0000"&gt;&lt;strong&gt;C:\Exchange\ClientAccess\owa\web.config&lt;/strong&gt;&lt;/font&gt; line 31)&amp;nbsp; &lt;br /&gt;
Request information:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Request URL: &lt;a href="http://localhost/exchange/default.aspx"&gt;http://localhost/exchange/default.aspx&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Request path: /exchange/default.aspx&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
User host address: 127.0.0.1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
User:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Is authenticated: False&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Authentication Type:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Thread account name: IIS APPPOOL\DefaultAppPool&amp;nbsp; &lt;br /&gt;
Thread information:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Thread ID: 19&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Thread account name: IIS APPPOOL\DefaultAppPool&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Is impersonating: False&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Stack trace:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal) &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object&amp;amp; result, Object&amp;amp; resultRuntimeObject) &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Configuration.BaseConfigurationRecord.GetSection(String configKey) &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName) &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index) &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Web.Configuration.RuntimeConfig.get_Identity() &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Web.HttpContext.SetImpersonationEnabled() &lt;br /&gt;
&amp;nbsp;&amp;nbsp; at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;To resolve this, open the web.config file for OWA. The path is in the event. I highlighted it in red boldface font above so you know where to look. Inside of the web.config file, search for and remove this line:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;httpRedirect enabled=&amp;quot;false&amp;quot; /&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class="warning"&gt;&lt;strong&gt;Warning: &lt;/strong&gt;Improperly editing the web.config file for OWA could render it entirely inoperable. I highly recommend that you save a backup prior to making any changes to the file.&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=YnwEMCkfWYc:1W8jyQfSczk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=YnwEMCkfWYc:1W8jyQfSczk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=YnwEMCkfWYc:1W8jyQfSczk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=YnwEMCkfWYc:1W8jyQfSczk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/YnwEMCkfWYc" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/small-update-to-redirection-blog/</feedburner:origLink></item><item><title>Redirecting OWA URLs in Exchange 2010</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/UWsQapUIlss/</link><pubDate>Sun, 17 Jan 2010 22:52:00 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/redirecting-owa-urls-in-exchange-2010/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>4</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;One of the things I&amp;rsquo;ve been doing for as long as I can remember is redirecting requests that don&amp;rsquo;t go to &lt;a href="https://owa.customer.com/owa"&gt;https://owa.customer.com/owa&lt;/a&gt; (or /exchange) to the correct URL. So, if someone goes to &lt;a href="http://owa.customer.com"&gt;http://owa.customer.com&lt;/a&gt; or &lt;a href="https://owa.customer.com"&gt;https://owa.customer.com&lt;/a&gt;, they get redirected to the correct (secure) URL. Historically I&amp;rsquo;ve always done this with two components:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;A custom website listening on Port 80 on each CAS server&lt;/li&gt;
    &lt;li&gt;A default.aspx file in the root of the Default Web Site redirecting to /owa&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This approach no longer works with Exchange 2010 CAS because the PowerShell virtual directory actually operates over Port 80 (authentication is Kerberized). If you try and tinker with this, you&amp;rsquo;ll start getting errors from Remote PowerShell like this:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;VERBOSE: Connecting to cas01.customer.com &lt;br /&gt;
[cas01.customer.com] The WinRM service cannot process the request because the request needs to be sent to a different machine. Use the redirect information to send the request to a new machine.&amp;nbsp; Redirect location reported: &lt;a href="https://owa.customer.com/owa/PowerShell"&gt;https://owa.customer.com/owa/PowerShell&lt;/a&gt;. To automatically connect to the redirected URI, verify &amp;quot;MaximumConnectionRedirectionCount&amp;quot; property of session preference variable &amp;quot;PSSessionOption&amp;quot; and use &amp;quot;AllowRedirection&amp;quot; parameter on the cmdlet. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportRedirectException &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : PSSessionOpenFailed&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In order to work around this, you need to use the HTTP Redirection feature in IIS (the default.aspx trick mentioned above should work too), as well as remove the requirement for SSL at the top level Default Web Site object. You have to be careful doing this because when you set settings on the web site, IIS will push them down to any virtual directory below which does not explicitly set that setting itself. To setup the redirect, select the Default Web Site in IIS Manager, and open the HTTP Redirect option under IIS. Complete it like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/RedirectingOWAURLsinExchange2010_E082/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" width="749" height="330" src="http://briandesmond.com/files/media/image/WindowsLiveWriter/RedirectingOWAURLsinExchange2010_E082/image_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="warning"&gt;&lt;strong&gt;Warning:&lt;/strong&gt; It&amp;rsquo;s very important that you check the checkboxes exactly&amp;nbsp;as shown in the screenshot above!&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once this step is complete, you need to remove the enforced redirect from each of the virtual directories under the Default Web Site. To do this, select each virtual directory individually, and then open the HTTP Redirect property and uncheck the &amp;ldquo;Redirect requests to this destination&amp;rdquo; checkbox. You&amp;rsquo;ll need to do this on the following virtual directories:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;aspnet_client&lt;/li&gt;
    &lt;li&gt;Autodiscover&lt;/li&gt;
    &lt;li&gt;ecp&lt;/li&gt;
    &lt;li&gt;EWS&lt;/li&gt;
    &lt;li&gt;Microsoft-Server-ActiveSync&lt;/li&gt;
    &lt;li&gt;OAB&lt;/li&gt;
    &lt;li&gt;PowerShell&lt;/li&gt;
    &lt;li&gt;Rpc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="note"&gt;&lt;strong&gt;Note: &lt;/strong&gt;The Exchange, Exchweb, and Public virtual directories should redirect to /owa.&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If at this point you simply browse to &lt;a href="http://cas01.customer.com"&gt;http://cas01.customer.com&lt;/a&gt;, you&amp;rsquo;ll get an HTTP 403.4 error. This is because SSL is required at the top-level website. In order to get the redirect working, we need to disable SSL for the toplevel website while leaving it enabled for the relevant child virtual directories.&lt;/p&gt;
&lt;p&gt;Select the Default Web Site and open the SSL Settings properties. Uncheck the Require SSL checkbox as shown below:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/RedirectingOWAURLsinExchange2010_E082/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" width="678" height="339" src="http://briandesmond.com/files/media/image/WindowsLiveWriter/RedirectingOWAURLsinExchange2010_E082/image_thumb_1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Like the redirection settings, this change will be inherited down the tree for any virtual directory which does not explicitly set the setting independently. Ensure that SSL is required for the following virtual directories:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Autodiscover&lt;/li&gt;
    &lt;li&gt;ecp&lt;/li&gt;
    &lt;li&gt;EWS&lt;/li&gt;
    &lt;li&gt;Microsoft-Server-ActiveSync&lt;/li&gt;
    &lt;li&gt;OAB&lt;/li&gt;
    &lt;li&gt;owa&lt;/li&gt;
    &lt;li&gt;Rpc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="warning"&gt;&lt;strong&gt;Warning: &lt;/strong&gt;If you require SSL for the PowerShell virtual directory, you will render Remote PowerShell inoperable!&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once you&amp;rsquo;ve configured the redirection and SSL settings, open a command prompt and run iisreset. At this point you should be able to browse to &lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt; on the CAS server and get redirected to &lt;a href="https://owa.customer.com/owa"&gt;https://owa.customer.com/owa&lt;/a&gt;. These steps were tested on Windows Server 2008 R2. While they should be similar under Windows Server 2008, they may not be identical.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=UWsQapUIlss:e3cYR6C1lgs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=UWsQapUIlss:e3cYR6C1lgs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=UWsQapUIlss:e3cYR6C1lgs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=UWsQapUIlss:e3cYR6C1lgs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/UWsQapUIlss" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/redirecting-owa-urls-in-exchange-2010/</feedburner:origLink></item><item><title>McAfee EPO and NLB Clusters</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/Nz2S1eQRB00/</link><pubDate>Sun, 17 Jan 2010 21:31:21 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/mcafee-epo-and-nlb-clusters/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>0</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;I rolled out McAfee agents to about ten servers yesterday and four of them wouldn’t show up properly in the console. I did the usual troubleshooting with this, played with &lt;a href="http://briandesmond.com/blog/mcafee-troubleshooting-tip-cmdagent/" target="_blank"&gt;cmdagent&lt;/a&gt;, and didn’t really get far. What I did eventually notice is that while two of my machines would show up as Managed in the console, the other two simply refused. The wierd behavior here is that if I went in cmdagent and resent all the properties of the missing servers, suddenly the other two would disappear from the console. I did a bit of research and it appears that McAfee generates the client identifier based on the machine’s MAC Address.&lt;/p&gt;  &lt;p&gt;This piece of information was the ticket here. The machines in question are in two Windows Network Load Balancing (NLB) clusters. The high level summary of how NLB works is that it shares a MAC address amongst all the machines in the cluster. McAfee was using this MAC to generate agent identifiers and was coming up with duplicates in both clusters. I did a bit of research and McAfee has an &lt;a href="https://kc.mcafee.com/corporate/index?page=content&amp;amp;id=KB57886" target="_blank"&gt;article&lt;/a&gt; in their knowledge base as to how to deal with this with a workaround. &lt;/p&gt;  &lt;p&gt;When you go to create the registry value described in the article, McAfee prevents it because they’re hooking things and making sure you don’t touch their part of the registry. This is implemented in the Access Protection Policy for VirusScan. If you look at the VirusScan log, you’ll see a line like this and the corresponding regedit error:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;blockquote&gt;1/17/2010&amp;#160;&amp;#160;&amp;#160; 12:26:02 PM&amp;#160;&amp;#160;&amp;#160; Blocked by Access Protection rule&amp;#160;&amp;#160;&amp;#160;&amp;#160; DOMAIN\bdesmond&amp;#160;&amp;#160;&amp;#160; C:\Windows\regedit.exe&amp;#160;&amp;#160;&amp;#160; \REGISTRY\MACHINE\SOFTWARE\Wow6432Node\Network Associates\ePolicy Orchestrator\New Value #1&amp;#160;&amp;#160;&amp;#160; Common Standard Protection:Prevent modification of McAfee Common Management Agent files and settings&amp;#160;&amp;#160;&amp;#160; Action blocked : Create&lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/McAfeeEPOandNLBClusters_CB3E/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://briandesmond.com/files/media/image/WindowsLiveWriter/McAfeeEPOandNLBClusters_CB3E/image_thumb_2.png" width="353" height="117" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To work around this, I edited my Access Protection policy and disabled blocking for the three “Prevent modification of McAfee files and settings” rules highlighted below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/McAfeeEPOandNLBClusters_CB3E/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://briandesmond.com/files/media/image/WindowsLiveWriter/McAfeeEPOandNLBClusters_CB3E/image_thumb_1.png" width="935" height="450" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=Nz2S1eQRB00:vXa-bCNPYSo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=Nz2S1eQRB00:vXa-bCNPYSo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=Nz2S1eQRB00:vXa-bCNPYSo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=Nz2S1eQRB00:vXa-bCNPYSo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/Nz2S1eQRB00" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/mcafee-epo-and-nlb-clusters/</feedburner:origLink></item><item><title>2009 in Review</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/WDifcKjWaxI/</link><pubDate>Tue, 29 Dec 2009 08:44:00 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/2009-in-review/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>2</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;2009 has been pretty busy for me all things considered. I’ve been all over the place visiting with customers and doing conferences. I took a few minutes to add up a couple of spreadsheets and came up with some numbers:&lt;/p&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Countries&lt;/td&gt;        &lt;td valign="top" width="200"&gt;9&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;US States&lt;/td&gt;        &lt;td valign="top" width="200"&gt;7 (plus District of Columbia)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;US Cities Visited&lt;/td&gt;        &lt;td valign="top" width="200"&gt;32 (approx)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Airplanes&lt;/td&gt;        &lt;td valign="top" width="200"&gt;81&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Miles Flown&lt;/td&gt;        &lt;td valign="top" width="200"&gt;150,882 (approx)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Hotels Visited&lt;/td&gt;        &lt;td valign="top" width="200"&gt;32 (approx)&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Hotel Nights&lt;/td&gt;        &lt;td valign="top" width="200"&gt;135&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="200"&gt;Days on the Road&lt;/td&gt;        &lt;td valign="top" width="200"&gt;181&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Already off to four states in the first couple weeks of the year and the conference schedule is starting to line up. Happy New Years!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=WDifcKjWaxI:Csk2iHmbpkk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=WDifcKjWaxI:Csk2iHmbpkk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=WDifcKjWaxI:Csk2iHmbpkk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=WDifcKjWaxI:Csk2iHmbpkk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/WDifcKjWaxI" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/2009-in-review/</feedburner:origLink></item><item><title>Installing WinPcap Silently</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/bdL7Mn1RahY/</link><pubDate>Sun, 29 Nov 2009 03:06:17 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/installing-winpcap-silently/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>3</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;A standard part of my server build I do everywhere is installing WireShark. WireShark of course requires WinPcap. While you can install WireShark silently, it conveniently doesn’t install WinPcap, rendering it useless. I used to work around this by installing NMap as part of the build since NMap &lt;em&gt;does&lt;/em&gt; include WinPcap in its’ silent install. Unfortunately this seems to have broken under Windows Server 2008 R2. &lt;/p&gt;  &lt;p&gt;The good news is you can work around this with the hackish but effective &lt;a href="http://www.autoitscript.com/autoit3/" target="_blank"&gt;AutoIt&lt;/a&gt;. Below is my AutoIt script for installing &lt;a href="http://www.winpcap.org/install/default.htm" target="_blank"&gt;WinPcap 4.1.1&lt;/a&gt;. &lt;/p&gt;  &lt;pre class="brush: plain;"&gt;; ==========================================================================
; NAME: WinPcap AutoIt Installer
; 
; AUTHOR: Brian Desmond, brian@briandesmond.com
; DATE  : 11/28/2009
; ==========================================================================
#RequireAdmin

Run(&amp;quot;WinPcap_4_1_1.exe&amp;quot;)
WinWaitActive(&amp;quot;WinPcap 4.1.1 Setup&amp;quot;)
Send(&amp;quot;!n&amp;quot;)
WinWaitActive(&amp;quot;WinPcap 4.1.1 Setup&amp;quot;, &amp;quot;Welcome to the WinPcap&amp;quot;)
Send(&amp;quot;!n&amp;quot;)
WinWaitActive(&amp;quot;WinPcap 4.1.1 Setup&amp;quot;, &amp;quot;License Agreement&amp;quot;)
Send(&amp;quot;!a&amp;quot;)
WinWaitActive(&amp;quot;WinPcap 4.1.1 Setup&amp;quot;, &amp;quot;Installation options&amp;quot;)
ControlClick(&amp;quot;WinPcap 4.1.1 Setup&amp;quot;, &amp;quot;Installation options&amp;quot;, &amp;quot;[CLASS:Button; INSTANCE:2]&amp;quot;) ; hack to click the install button
WinWaitActive(&amp;quot;WinPcap 4.1.1 Setup&amp;quot;, &amp;quot;Completing the WinPcap&amp;quot;)
Send(&amp;quot;!f&amp;quot;) &lt;/pre&gt;

&lt;div class="note"&gt;&lt;strong&gt;Note:&lt;/strong&gt; This depends on the version number strings in the WinPcap setup. If it changes, you’ll need to tweak the script above accordingly.&lt;/div&gt;

&lt;p&gt;I just compiled this to an EXE using the AutoIt compiler and it worked just fine. &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=bdL7Mn1RahY:n8jZW-2blcg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=bdL7Mn1RahY:n8jZW-2blcg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=bdL7Mn1RahY:n8jZW-2blcg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=bdL7Mn1RahY:n8jZW-2blcg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/bdL7Mn1RahY" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/installing-winpcap-silently/</feedburner:origLink></item><item><title>Installing Dell Update Packages on Windows Server 2008 R2</title><link>http://feedproxy.google.com/~r/BrianDesmond/~3/tODrWs8KvH4/</link><pubDate>Sun, 29 Nov 2009 02:41:51 GMT</pubDate><guid isPermaLink="false">http://briandesmond.com/blog/installing-dell-update-packages-on-windows-server-2008-r2/</guid><dc:creator>Brian Desmond</dc:creator><slash:comments>3</slash:comments><category domain="http://briandesmond.com/blog/">Blog</category><description>&lt;p&gt;Despite the release notes in the PE2950 2.6.1 BIOS, “Added support for the Microsoft(R) Windows Server(R) 2008 R2 operating system”, the install package doesn’t actually work properly. It has a prompt telling you that it’s running on an unsupported OS. This completely invalidates the silent install capability. This problem seems to extend to all the other install packages. &lt;/p&gt;  &lt;p&gt;Fortunately, this is pretty easy to work around with the built in Application Compatibility settings in Windows. You just need to set the executable to the Windows Server 2008 (Service Pack 1) compatibility mode:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://briandesmond.com/files/media/image/WindowsLiveWriter/InstallingDellUpdatePackagesonWindowsSer_120ED/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://briandesmond.com/files/media/image/WindowsLiveWriter/InstallingDellUpdatePackagesonWindowsSer_120ED/image_thumb.png" width="472" height="600" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Since I’m running all these packages as part of an unattended build, I went ahead and set all of the packages to the WS08 SP1 compatibility mode on a test machine and then exported the registry key that has these settings. To do that, export &lt;font face="Courier New"&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers&lt;/font&gt; to &lt;font face="Courier New"&gt;DellCompat.reg&lt;/font&gt;. Next, you can run &lt;font face="Courier New"&gt;reg import DellCompat.reg&lt;/font&gt; and import the settings which will enable the packages to function correctly. &lt;/p&gt;  &lt;p&gt;For reference, I put all of the update packages in C:\DellSrc. The batch file below imports the registry changes, installs all of the latest (as of 28-Nov-2009) drivers and firmware for a Dell PowerEdge 2950 running Windows Server 2008 R2, and installs OpenManage Server Administrator 6.1. &lt;/p&gt;  &lt;pre class="brush: plain;"&gt;reg import c:\dellsrc\DellCompat.reg
c:\dellsrc\PE2950_BIOS_WIN_2.6.1.EXE /s
c:\dellsrc\BMC_FRMW_WIN_R202152.EXE /s
c:\dellsrc\ESM_FRMW_WIN_R149431.EXE /s
c:\dellsrc\RAID_FRMW_WIN_R216024.EXE /s
c:\dellsrc\RAC_FRMW_WIN_R209365.EXE /s
c:\dellsrc\RAID_FRMW_WIN_R216021.EXE /s
c:\dellsrc\NIC_DRVR_WIN_R236633.EXE /s
c:\dellsrc\NIC_DRVR_WIN_R234753.EXE /s
c:\dellsrc\NETW_FRMW_WIN_R239524.EXE /s
c:\dellsrc\BMC_FRMW_WIN_R202152.EXE /s

start /wait msiexec /i c:\dellsrc\openmanage\SysMgmt.msi ADDLOCAL=BRCM,INTEL,IWS,OMSM,RAC5,SA /qb&lt;/pre&gt;

&lt;p&gt;Here is the DellCompat.reg registry script:&lt;/p&gt;

&lt;pre class="brush: plain;"&gt;Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
&amp;quot;C:\\DellSrc\\PE2950_BIOS_WIN_2.6.1.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\BMC_FRMW_WIN_R202152.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\ESM_FRMW_WIN_R149431.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\NETW_FRMW_WIN_R239524.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\NIC_DRVR_WIN_R234753.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\NIC_DRVR_WIN_R236633.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\RAC_FRMW_WIN_R209365.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\RAID_FRMW_WIN_R216021.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;
&amp;quot;C:\\DellSrc\\RAID_FRMW_WIN_R216024.EXE&amp;quot;=&amp;quot;WINSRV08SP1&amp;quot;&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=tODrWs8KvH4:PMaO9kyy3nc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=tODrWs8KvH4:PMaO9kyy3nc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?i=tODrWs8KvH4:PMaO9kyy3nc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BrianDesmond?a=tODrWs8KvH4:PMaO9kyy3nc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BrianDesmond?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BrianDesmond/~4/tODrWs8KvH4" height="1" width="1"/&gt;</description><author>Brian Desmond's Blog &lt;graffiti@briandesmond.com&gt;</author><feedburner:origLink>http://briandesmond.com/blog/installing-dell-update-packages-on-windows-server-2008-r2/</feedburner:origLink></item></channel></rss>
