<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Mr. Proactive and Miss T. Proactive</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/mr_proactive/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/mr_proactive/feed.xml</link>
    <description>Where Premier Field Engineering shares with the community</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:47:45 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Really? Delegating Help Desk Accounts to unlock user accounts in the environment will not work?</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/really-delegating-help-desk-accounts-to-unlock-user-accounts-in-the-environment-will-not-work</link>
      <pubDate>Fri, 09 Nov 2012 14:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2012/11/09/really-delegating-help-desk-accounts-to-unlock-user-accounts-in-the-environment-will-not-work/</guid>
      <description><![CDATA[One afternoon while working at one of my customer sites, I noticed a user calling a Help Desk...]]></description>
      <content:encoded><![CDATA[<p>One afternoon while working at one of my customer sites, I noticed a user calling a Help Desk Associate to unlock their user account. The Help Desk Associate used Active Directory Administrative Center (ADAC) to unlock the users account, but received an error message indicating that he does not have sufficient rights to perform the operation.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/5773.ADAC_Error_1A33B35B.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/5773.ADAC_5F00_Error_5F00_1A33B35B.png"><img style="display: inline; background-image: none;" title="ADAC_Error" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/8321.ADAC_Error_thumb_0B890776.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/8321.ADAC_5F00_Error_5F00_thumb_5F00_0B890776.png" alt="ADAC_Error" width="804" height="387" border="0" /></a></p>
<p>We started investigating the rights delegated for the Help Desk Associate and found that the Associate indeed has all the required rights to unlock user accounts as specified in the KB article</p>
<p><a href="http://support.microsoft.com/kb/279723">http://support.microsoft.com/kb/279723</a>.</p>
<p>Just delegating the user with appropriate permission should help here correct? Well, it did not in this case.&nbsp; Our research led us to the following KB article that explains the issue and the need for a Hotfix to resolve the issue.</p>
<p><strong>Unlocking a user account fails when using ADAC or the Unlock-AD Account cmdlet in Windows 7 or Windows Server 2008 R2 even if sufficient permissions are granted</strong></p>
<p><a href="http://support.microsoft.com/kb/2577917">http://support.microsoft.com/kb/2577917</a></p>
<p>As indicated in the KB Article, the issue is due to fact that ADAC and Unlock-AD Account cmdlet require permissions to the <strong>UserAccountControl </strong>but the<strong> </strong>delegated rights were assigned to the <strong>lockout Time</strong> attribute.</p>
<p>Prior to Windows Server 2008 R2, Active Directory Users &amp; Computers (ADUC) is used to unlock an account In the Account Properties window as shown below:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/8802.Account_Properties_1FA223FF.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/8802.Account_5F00_Properties_5F00_1FA223FF.png"><img style="display: inline; background-image: none;" title="Account_Properties" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/3531.Account_Properties_thumb_5EFFD78F.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/3531.Account_5F00_Properties_5F00_thumb_5F00_5EFFD78F.png" alt="Account_Properties" width="422" height="571" border="0" /></a></p>
<p>&nbsp;</p>
<p>You will notice from the screenshots below of the attributes using PowerShell, that when using ADUC, the attribute <strong>lockout Time </strong>is changed, but the <strong>UserAccountControl </strong>is<strong> </strong>left unchanged.<strong> </strong></p>
<p>Attributes when the User Account was locked: <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/1055.UA1_6546AE1D.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/1055.UA1_5F00_6546AE1D.png"><img style="display: inline; background-image: none;" title="UA1" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/7737.UA1_thumb_2FCDEBF8.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/7737.UA1_5F00_thumb_5F00_2FCDEBF8.png" alt="UA1" width="851" height="210" border="0" /></a></p>
<p>Attributes when the User Account was unlocked using ADUC:&nbsp; <br /><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/2538.UA2_3D33FEFE.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/2538.UA2_5F00_3D33FEFE.png"><img style="display: inline; background-image: none;" title="UA2" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/8311.UA2_thumb_4EA45FD6.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/8311.UA2_5F00_thumb_5F00_4EA45FD6.png" alt="UA2" width="851" height="208" border="0" /></a></p>
<p>The KB article also provides the workarounds to either use ADUC or grant additional permissions to the user account to use ADAC or Unlock-AD Account. If you considering the later, it is important to understand that it provides extra permissions in addition to unlock Account. The <a href="http://support.microsoft.com/kb/305144">KB 305144</a> provides details on how UserAccountControl attribute can be used to manipulate other user account properties.</p>]]></content:encoded>
    </item>
    <item>
      <title>Calendar Repair Assistant does not run by default</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/calendar-repair-assistant-does-not-run-by-default</link>
      <pubDate>Mon, 13 Aug 2012 08:30:29 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2012/08/13/calendar-repair-assistant-does-not-run-by-default/</guid>
      <description><![CDATA[While onsite one day with a customer we received a report that a calendar item was not on one of the...]]></description>
      <content:encoded><![CDATA[<p>While onsite one day with a customer we received a report that a calendar item was not on one of the attendee’s Outlook calendar. After some investigation we found that the user had deleted the item on accident. Immediately I began to wonder why the Calendar Repair Assistant had not found and repaired the inconsistency.</p>  <p>Not familiar with the Calendar Repair Assistant you say? A good place to start is<a href="http://technet.microsoft.com/en-us/library/ee424432.aspx"> here</a>. In a nutshell, the Calendar Repair Assistant (CRA for short) runs within the Microsoft Exchange Mailbox Assistant service and is designed to repair calendar inconsistencies between organizers and attendees. As of Exchange 2010 SP1 the CRA is throttle based and performs the following four step process:</p>  <p>1. <strong>Detects inconsistencies</strong> The CRA uses the organizer's copy of the calendar item as a master copy for all meeting items. The assistant compares the attendee's calendar item with the organizer's calendar item for inconsistencies. The only exception to this rule is when the assistant compares the attendee's and organizer's response status. The assistant assumes that the attendee's response status is the correct one, and, if necessary, updates the organizer's tracking information.</p>  <p>2. <strong>Determines if inconsistencies were intentional</strong> If an inconsistency is detected, the CRA determines whether the attendee intentionally introduced the inconsistency. For example, an attendee can introduce an inconsistency by deleting the meeting request and not notifying the organizer. If the assistant determines that the attendee didn't introduce the inconsistency, it corrects the problem. If the assistant can't determine if the inconsistency was intentional, it performs no further action.</p>  <p>3. <strong>Corrects inconsistencies</strong> The CRA corrects inconsistencies on the Mailbox server on which it runs. However, if the organizer's mailbox is on a different server than the attendee's mailbox, the assistant reads from other Exchange 2010 Mailbox servers to compare the calendar items. The assistant doesn't overwrite the recipient's calendar information. Instead, it merges the information so data isn't lost. In addition, the repair update messages are moved to the recipient's Deleted Items folder.</p>  <p>4. <strong>Sends a calendar repair update message if a correction was made</strong> Calendar repair update messages are sent to users whose calendar items were updated by the CRA. Instead of sending the message to the user's Inbox, the assistant sends the message to the user's Deleted Items folder. By doing so, a record of the repair is kept in the mailbox without causing user confusion. If the user is experiencing calendar inconsistencies, you can advise the user to look in the Deleted Items folder for troubleshooting purposes. The assistant only sends repair update messages if the issue is fixed.</p>  <p>Now let’s return to the customer in question. In theory the CRA should have compared the attendees calendar, found that there was an inconsistency, determined that it was not intentional, and then placed the item on the attendee’s calendar and then sent an email into the attendee’s deleted items folder with a notification that the change has been made.</p>  <p>Our first troubleshooting step was to look in the deleted items folder for the notification that an item was repaired. Nothing was there. Following that we ran the following Exchange Management Shell command to verify that the CRA had not been disabled for that user <i>Get-mailbox username | fl CalendarRepairDisabled </i>the output from that command is below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/0310.clip_image002_2A080E97.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/0310.clip_5F00_image002_5F00_2A080E97.jpg"><img title="clip_image002" style="margin: 0px; display: inline; background-image: none;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/4527.clip_image002_thumb_7B4255F4.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/4527.clip_5F00_image002_5F00_thumb_5F00_7B4255F4.jpg" width="244" height="38" /></a></p>  <p>So we could see here that the CRA was enabled for the user in question.</p>  <p>Next we decided to look at the CRA logs to see if it logged the event at all. By default you can find the CRA log files &lt;<em>Exchange installation path</em>&gt;\v14\Logging\Calendar Repair Assistant. In our case there were no log files at all in this location!</p>  <p>At this point I asked the customer if they had made any changes to the CRA. They said they had not, so we ran the following command via the Exchange Management Shell <i>Get-mailboxserver severname | FL *calendar*</i>. The output is below.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/2867.clip_image004_01F55F78.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/2867.clip_5F00_image004_5F00_01F55F78.jpg"><img title="clip_image004" style="margin: 0px; display: inline; background-image: none;" border="0" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/0317.clip_image004_thumb_27EB0FCE.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/0317.clip_5F00_image004_5F00_thumb_5F00_27EB0FCE.jpg" width="244" height="52" /></a></p>  <p>You can see above the default settings for the CRA. The <i>CalendarRepairMissingItemFixDisabled </i>was set to False so they had not disabled the CRA, and the default logging location had not been changed so it appeared that they had not made any changes. I then noticed the top three entries. I expected the <i>CalendarRepairSchedule</i> to be {} since the CRA now is throttle based and does not run on a schedule, however the first two entries <i>CalendarRepairWorkCycle</i>, and <i>CalendarRepairWorkingCycleCheckpoint</i> should not be empty if the CRA is running as expected.</p>  <p>The <em>CalendarRepairWorkCycle</em> parameter specifies the time span in which all mailboxes on the specified server will be scanned by the CRA. For example, if you specify seven days for this parameter, the CRA will process all mailboxes on this server every seven days.</p>  <p>Calendars that have inconsistencies will be flagged and repaired according to the interval specified by the <em>CalendarRepairWorkCycleCheckpoint</em> parameter. For example, if you specify one day for this parameter, the CRA will query every day for new mailboxes that require processing.</p>  <p>As an example if the <i>WorkCycle</i> is set to seven days, and the <i>WorkCycleCheckpoint </i>is set to one day, the CRA will process all mailboxes on the server every seven days, and every day it will repair any calendar items it has flagged in its current queue as needing repair.</p>  <p>In this customer’s example both values were blank meaning that the CRA was not running at all. After further investigation, we found that even though the CRA is <b>enabled </b>by default for all mailboxes on a particular mailbox server, it is <b>NOT </b>running by default. So in this case we ran the following Exchange Management Shell command on <b>EACH</b> mailbox server <i>Set-MailboxServer –Identity servername –CalendarRepairWorkCycle 7.00:00:00 –CalendarRepairWorkCycleCheckpoint 1.00:00:00. </i></p>  <p>When the CRA is working properly and an item is repaired, you will see entries like this in the CRA logs.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/4527.clip_image006_0E830C94.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/4527.clip_5F00_image006_5F00_0E830C94.jpg"><img title="clip_image006" style="margin: 0px; display: inline; background-image: none;" border="0" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/6180.clip_image006_thumb_56ED4BA5.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/6180.clip_5F00_image006_5F00_thumb_5F00_56ED4BA5.jpg" width="244" height="180" /></a></p>  <p>In the above example you can see the steps that the CRA takes in validating the calendar item, comparing the items on the attendee’s calendar to the organizer’s calendar, and then deciding whether it should be fixed or not, and then the confirmation that it has sent the fix to the attendee’s calendar.</p>  <p>From the attendee’s point of view, they will receive a message similar to the below example in their Deleted Items folder. It also places the item back on the attendee’s calendar as “tentative”.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/0211.clip_image008_2B3C81A9.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/0211.clip_5F00_image008_5F00_2B3C81A9.jpg"><img title="clip_image008" style="display: inline; background-image: none;" border="0" alt="clip_image008" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/5516.clip_image008_thumb_0329D28A.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/5516.clip_5F00_image008_5F00_thumb_5F00_0329D28A.jpg" width="244" height="69" /></a></p>  <p>If you would like more information regarding Exchange 2010, Calendaring best practices, and other topics related to Exchange 2010 PFE offers many workshops, chalk talks, and other services that can address your needs. Talk to your technical account manager for more details. In the meantime, go back to your Exchange organization, double check your Exchange Calendar Repair Assistant, and make sure you are getting the functionality you expect from it. </p>]]></content:encoded>
    </item>
    <item>
      <title>Tools for an Exchange Administrator</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/tools-for-an-exchange-administrator</link>
      <pubDate>Sun, 03 Jun 2012 20:02:15 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2012/06/03/tools-for-an-exchange-administrator/</guid>
      <description><![CDATA[Part of being proactive means that you’re prepared to react quickly when a problem occurs. That...]]></description>
      <content:encoded><![CDATA[<p>Part of being proactive means that you’re prepared to react quickly when a problem occurs. That makes sense, right… thinking proactively about being reactive? Knowing the right tool for the job is part of this. Having the right tool at hand when it’s needed, or knowing where to find it, can give you an edge on identifying a problem quickly or allow you to proactively collect data, baseline servers and other tasks.</p>  <p>As an Exchange administrator, you need to know what tools are available, where to find them, what they do and when you should use them. Without knowing what’s available and where to find them, the rest doesn’t matter. With this in mind, we wanted to create a post listing common Exchange tools important to an Exchange administrator with links for an easy way to get them when you need them.</p>  <p>One thing I like to have my customers do is to have a core set of tools that we include in the Exchange Server build process. This allows us to have them available whenever we need them. Without doing this, we sometimes have to go through management approval or change control procedures depending on the companies processes. You probably know what it’s like waiting for these to happen while you’ve got a task you’re trying to complete. While you’re looking through this list, I’d encourage you to come up with a list of core tools that you include in future server deployments. </p>  <p>The link for most of the tools is a link to Bing.com with the first result being a download link at the time of publishing this post. We decided to do this instead of direct links to avoid linking to an older version or outdated site as updates become available.</p>  <p>Here’s the list.   <table border="1" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="top" width="227">           <p>Tool</p>         </td>          <td valign="top" width="296">           <p>Notes</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=bginfo">Bginfo</a></p>         </td>          <td valign="top" width="296">           <p>Generates customized desktop background images.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=calcheck">CalCheck</a></p>         </td>          <td valign="top" width="296">           <p>Checks for known issues in Outlook calendar items.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=err.exe">Error Code Lookup (err.exe)</a></p>         </td>          <td valign="top" width="296">           <p>Lookup numerical error codes from many different products.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://technet.microsoft.com/en-us/exdeploy2010/default.aspx">Exchange 2010 Server Deployment Assistant</a></p>         </td>          <td valign="top" width="296">           <p>Takes input about your environment and generates customized instructions you can use to upgrade to Exchange 2010.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=exchange+2010+visio+stencil">Exchange 2010 Visio Stencil</a></p>         </td>          <td valign="top" width="296">           <p>Exchange Viso shaps.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=exchange+client+network+bandwidth+calculator">Exchange Client Network Bandwidth Calculator</a></p>         </td>          <td valign="top" width="296">           <p>Helps predict bandwidth requirements for a specific set of clients.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=exchange+mailbox+role+calculator">Exchange Mailbox Server Role Requirements Calculator</a></p>         </td>          <td valign="top" width="296">           <p>Excel spreadsheet used when planning mailbox server design.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=exfolders">ExFolders (previously PFDavAdmin)</a></p>         </td>          <td valign="top" width="296">           <p>Access public folder and mailbox information. Ability to import and export.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=exloganalyzer">ExLogAnalyzer</a></p>         </td>          <td valign="top" width="296">           <p>Analyze message tracking logs</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=exmon">ExMON</a></p>         </td>          <td valign="top" width="296">           <p>See near real time information about resources individual users are consuming.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=exchange+expda">ExPDA</a></p>         </td>          <td valign="top" width="296">           <p>Performs and overall readiness scan of your environment prior to an Exchange 2010 deployment.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=experfwiz">ExPerfWiz</a></p>         </td>          <td valign="top" width="296">           <p>PowerShell script that automates the creation of performance monitor collection settings.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="https://www.testexchangeconnectivity.com/">ExRCA (Remote Connectivity Analyzer)</a></p>         </td>          <td valign="top" width="296">           <p>Test Exchange connectivity from the internet. Tests Autodiscover, ActiveSync and more.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=logparser">Log Parser</a></p>         </td>          <td valign="top" width="296">           <p>Powerful command line tool to parse text based logs (like IIS logs) and other types of logs.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=log+parser+studio">Log Parser Studio</a></p>         </td>          <td valign="top" width="296">           <p>GUI for Log Parser that has useful log parser queries built in and allows easy creation and management of queries.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=mapi+editor">MAPI Editor (MFCMapi)</a></p>         </td>          <td valign="top" width="296">           <p>Tool to access mailboxes and see things Outlook doesn’t.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=microsoft+active+directory+topology+diagrammer">Microsoft Active Directory Topology Diagrammer</a></p>         </td>          <td valign="top" width="296">           <p>Create a diagram of AD and includes Exchange objects.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=network+monitor">Network Monitor</a></p>         </td>          <td valign="top" width="296">           <p>Captures network traffic for analysis</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=offline+address+book+integrity+checker">OAB Integ</a></p>         </td>          <td valign="top" width="296">           <p>Checks for issues that may cause OAB generation problems.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=oab+validate">OABValidate</a></p>         </td>          <td valign="top" width="296">           <p>Checks OAB files and Active Directory information to check for potential OAB related problems.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=microsoft+outlook+configuration+analyzer+tool+ocat&amp;qs=n&amp;form=QBRE&amp;pq=microsoft+outlook+configuration+analyzer+tool+ocat">Outlook Configuration Analyzer Tool</a></p>         </td>          <td valign="top" width="296">           <p>Analyzes an Outlook profile looking for common configuration issues.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=performance+analysis+of+logs">PAL</a></p>         </td>          <td valign="top" width="296">           <p>Automatic analysis of performance monitor log files and outputs a HTML report.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=download+technet+performance+and+threshold+counters+for+exchange+server+2010&amp;qs=n&amp;form=QBRE&amp;pq=download+technet+performance+and+threshold+counters+for+exchange+server+2010">Performance and Threshold Counters for Exchange Server 2010</a></p>         </td>          <td valign="top" width="296">           <p>List of performance monitor counters and thresholds. Useful if an automatic monitoring system is not being used.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=portqryui">PortQryUI</a></p>         </td>          <td valign="top" width="296">           <p>Checks TCP &amp; UDP port availability.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=process+explorer">Process Explorer</a></p>         </td>          <td valign="top" width="296">           <p>Shows information about which handles and DLLs processes have opened or loaded.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=process+monitor">Process Monitor</a></p>         </td>          <td valign="top" width="296">           <p>Collects information about running processes. Shows file system access, registry access and process/thread activity.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=process+tracking+log+ptl">Process Tracking Log (PTL) tool</a></p>         </td>          <td valign="top" width="296">           <p>Analyze message tracking logs to look for situations like message loops and other issues.</p>         </td>       </tr>        <tr>         <td valign="top" width="227">           <p><a href="http://www.bing.com/search?q=download+microsoft+exchange+pst+capture&amp;qs=n&amp;form=QBRE&amp;pq=download+microsoft+exchange+pst+capture">PST Capture</a></p>         </td>          <td valign="top" width="296">           <p>Used to discover and import PST files.</p>         </td>       </tr>     </tbody></table> </p>  <p>There you have it! We hope you find this useful. If you have tools you think would be valuable to add to the list, let us know.</p>  <p>If you want to get some personal exposure to most of these tools and learn about when you would use them, we have a one day Chalk Talk available that covers tools and troubleshooting scenarios. Check with your Technical Account Manager for more information.</p>]]></content:encoded>
    </item>
    <item>
      <title>Support Lifecycle and Products you need to consider upgrading</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/support-lifecycle-and-products-you-need-to-consider-upgrading</link>
      <pubDate>Thu, 10 May 2012 07:29:56 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2012/05/10/support-lifecycle-and-products-you-need-to-consider-upgrading/</guid>
      <description><![CDATA[As a Premier Field Engineers we always focus on the Health of the customer’s environment and a big...]]></description>
      <content:encoded><![CDATA[<p>As a Premier Field Engineers we always focus on the Health of the customer’s environment and a big part of being proactive is to validate future supportability of the products and make recommendations based on best practices around customer’s particular business scenarios. It is critical that customers be aware of the support timelines for Microsoft products which will allow for both product planning and information technology planning in their organizations. To help customers have a consistent experience, The Microsoft Support Lifecycle (MSL) policy standardizes Microsoft product support policies for Business and Developer products, and for Consumer, Hardware, and Multimedia products. This policy provides consistent and predictable guidelines for product support availability when a product releases and throughout that product’s life. By understanding the product support available, customers are better able to maximize the management of their IT investments and strategically plan for a successful IT future. </p>  <p>The complete details of the <b>Microsoft Support Lifecycle </b>can be found at <b><a href="http://support.microsoft.com/lifecycle/">http://support.microsoft.com/lifecycle/</a>. </b>The different phases of the Support Lifecycle are shown below. </p>  <p><b></b></p>  <p><b><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/3386.clip_image001_1CBF7B7B.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/3386.clip_5F00_image001_5F00_1CBF7B7B.jpg"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/0243.clip_image001_thumb_339E4CF7.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/0243.clip_5F00_image001_5F00_thumb_5F00_339E4CF7.jpg" width="244" height="205" /></a></b></p>  <p><b></b></p>  <p>We wanted to provide you with some of the updates related to Exchange and Outlook support that can help you plan for Messaging Services Life Cycle. The complete list can be found at <a href="http://support.microsoft.com/lifecycle/search/">http://support.microsoft.com/lifecycle/search/</a></p>  <p>The key takeaways that we want you to be aware of are: </p>  <p><b>Microsoft Exchange Server 2003</b> support ends on <b>April 8, 2014. </b></p>  <p><b>Microsoft Exchange Server 2007</b> moved from Mainstream Support to Extended Support on <b>April 10, 2012. </b>The final update rollup release under standard support for Exchange 2007 is <b>Update Rollup 7 for Exchange 2007 Service Pack 3</b></p>  <p><b>Microsoft Exchange Server 2010 Service Pack 1 </b>support will end on <b>January 8, 2013. </b>Customers should upgrade to the latest service pack and update rollup</p>  <p><b>Microsoft Office 2007 Enterprise, Professional, Professional Plus and Standard</b> move from Mainstream Support to Extended Support on <b>October 9, 2012</b></p>  <p><b>Microsoft Windows Vista Business, Business N and Enterprise</b> moved from Mainstream Support to Extended Support on <b>April 10, 2012</b></p>  <p><b>Microsoft Windows XP</b> Support ends on <b>April 8, 2014</b>.&#160; Custom Support will be available for customers who need additional time to migrate to a supported product</p>  <p><b>Exchange 2010</b>    <table border="0" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="bottom" width="277">           <p><b>Products Released</b></p>         </td>          <td valign="bottom" width="180">           <p><b>General Availability Date</b></p>         </td>          <td valign="bottom" width="228">           <p><b>Mainstream Support End Date</b></p>         </td>          <td valign="bottom" width="198">           <p><b>Extended Support End Date</b></p>         </td>          <td valign="bottom" width="234">           <p><b>Service Pack Support End Date</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2010 Enterprise</p>         </td>          <td valign="bottom" width="180">           <p>11/9/2009</p>         </td>          <td valign="bottom" width="228">           <p>1/13/2015</p>         </td>          <td valign="bottom" width="198">           <p>1/14/2020</p>         </td>          <td valign="bottom" width="234">           <p><b>10/11/2011</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2010 Service Pack 1</p>         </td>          <td valign="bottom" width="180">           <p>8/23/2010</p>         </td>          <td valign="bottom" width="228">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="198">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="234">           <p><b>1/8/2013</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2010 Service Pack 2</p>         </td>          <td valign="bottom" width="180">           <p>11/28/2011</p>         </td>          <td valign="bottom" width="228">           <p>Review Note</p>         </td>          <td valign="bottom" width="198">           <p>Review Note</p>         </td>          <td valign="bottom" width="234">&nbsp;</td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2010 Standard</p>         </td>          <td valign="bottom" width="180">           <p>11/9/2009</p>         </td>          <td valign="bottom" width="228">           <p>1/13/2015</p>         </td>          <td valign="bottom" width="198">           <p>1/14/2020</p>         </td>          <td valign="bottom" width="234">           <p><b>10/11/2011</b></p>         </td>       </tr>     </tbody></table> </p>  <p><b></b></p>  <p><b>Exchange 2007</b>    <table border="0" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="bottom" width="277">           <p><b>Products Released</b></p>         </td>          <td valign="bottom" width="174">           <p><b>General Availability Date</b></p>         </td>          <td valign="bottom" width="234">           <p><b>Mainstream Support End Date</b></p>         </td>          <td valign="bottom" width="198">           <p><b>Extended Support End Date</b></p>         </td>          <td valign="bottom" width="234">           <p><b>Service Pack Support End Date</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2007 Enterprise Edition</p>         </td>          <td valign="bottom" width="174">           <p>3/8/2007</p>         </td>          <td valign="bottom" width="234">           <p><b>4/10/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>4/11/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2007 Service Pack 1</p>         </td>          <td valign="bottom" width="174">           <p>11/29/2007</p>         </td>          <td valign="bottom" width="234">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="198">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="234">           <p>10/12/2010</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2007 Service Pack 2</p>         </td>          <td valign="bottom" width="174">           <p>8/24/2009</p>         </td>          <td valign="bottom" width="234">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="198">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="234">           <p>7/12/2011</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2007 Service Pack 3</p>         </td>          <td valign="bottom" width="174">           <p>6/7/2010</p>         </td>          <td valign="bottom" width="234">           <p>Review Note</p>         </td>          <td valign="bottom" width="198">           <p>Review Note</p>         </td>          <td valign="bottom" width="234">&nbsp;</td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2007 Standard Edition</p>         </td>          <td valign="bottom" width="174">           <p>3/8/2007</p>         </td>          <td valign="bottom" width="234">           <p><b>4/10/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>4/11/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>     </tbody></table> </p>  <p><b>Exchange 2003</b>    <table border="0" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="bottom" width="277">           <p><b>Products Released</b></p>         </td>          <td valign="bottom" width="174">           <p><b>General Availability Date</b></p>         </td>          <td valign="bottom" width="237">           <p><b>Mainstream Support End Date</b></p>         </td>          <td valign="bottom" width="195">           <p><b>Extended Support End Date</b></p>         </td>          <td valign="bottom" width="234">           <p><b>Service Pack Support End Date</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2003 Enterprise Edition</p>         </td>          <td valign="bottom" width="174">           <p>9/28/2003</p>         </td>          <td valign="bottom" width="237">           <p><b>4/14/2009</b></p>         </td>          <td valign="bottom" width="195">           <p><b>4/8/2014</b></p>         </td>          <td valign="bottom" width="234">           <p><b>5/25/2005</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2003 Service Pack 1</p>         </td>          <td valign="bottom" width="174">           <p>5/25/2004</p>         </td>          <td valign="bottom" width="237">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="195">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="234">           <p><b>1/8/2008</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2003 Service Pack 2</p>         </td>          <td valign="bottom" width="174">           <p>10/19/2005</p>         </td>          <td valign="bottom" width="237">           <p>Review Note</p>         </td>          <td valign="bottom" width="195">           <p>Review Note</p>         </td>          <td valign="bottom" width="234">&nbsp;</td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Exchange Server 2003 Standard Edition</p>         </td>          <td valign="bottom" width="174">           <p>9/28/2003</p>         </td>          <td valign="bottom" width="237">           <p><b>4/14/2009</b></p>         </td>          <td valign="bottom" width="195">           <p><b>4/8/2014</b></p>         </td>          <td valign="bottom" width="234">           <p><b>5/25/2005</b></p>         </td>       </tr>     </tbody></table> </p>  <p><b>Office 2007</b>    <table border="0" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="bottom" width="277">           <p><b>Products Released</b></p>         </td>          <td valign="bottom" width="180">           <p><b>General Availability Date</b></p>         </td>          <td valign="bottom" width="228">           <p><b>Mainstream Support End Date</b></p>         </td>          <td valign="bottom" width="198">           <p><b>Extended Support End Date</b></p>         </td>          <td valign="bottom" width="234">           <p><b>Service Pack Support End Date</b></p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>2007 Microsoft Office Suite Service Pack 1</p>         </td>          <td valign="bottom" width="180">           <p>12/11/2007</p>         </td>          <td valign="bottom" width="228">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="198">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="234">           <p>7/13/2010</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>2007 Microsoft Office Suite Service Pack 2</p>         </td>          <td valign="bottom" width="180">           <p>4/28/2009</p>         </td>          <td valign="bottom" width="228">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="198">           <p>Not Applicable</p>         </td>          <td valign="bottom" width="234">           <p>1/8/2013</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>2007 Microsoft Office Suite Service Pack 3</p>         </td>          <td valign="bottom" width="180">           <p>10/25/2011</p>         </td>          <td valign="bottom" width="228">           <p>Review Note</p>         </td>          <td valign="bottom" width="198">           <p>Review Note</p>         </td>          <td valign="bottom" width="234">&nbsp;</td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Home and Student 2007</p>         </td>          <td valign="bottom" width="180">           <p>1/27/2007</p>         </td>          <td valign="bottom" width="228">           <p><b>10/9/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>10/10/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Office Basic 2007</p>         </td>          <td valign="bottom" width="180">           <p>1/27/2007</p>         </td>          <td valign="bottom" width="228">           <p><b>10/9/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>10/10/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Office Enterprise 2007</p>         </td>          <td valign="bottom" width="180">           <p>1/27/2007</p>         </td>          <td valign="bottom" width="228">           <p><b>10/9/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>10/10/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Office Professional 2007</p>         </td>          <td valign="bottom" width="180">           <p>1/27/2007</p>         </td>          <td valign="bottom" width="228">           <p><b>10/9/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>10/10/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Office Professional Plus 2007</p>         </td>          <td valign="bottom" width="180">           <p>1/27/2007</p>         </td>          <td valign="bottom" width="228">           <p><b>10/9/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>10/10/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Office Standard 2007</p>         </td>          <td valign="bottom" width="180">           <p>1/27/2007</p>         </td>          <td valign="bottom" width="228">           <p><b>10/9/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>10/10/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>        <tr>         <td valign="bottom" width="277">           <p>Ultimate 2007</p>         </td>          <td valign="bottom" width="180">           <p>1/27/2007</p>         </td>          <td valign="bottom" width="228">           <p><b>10/9/2012</b></p>         </td>          <td valign="bottom" width="198">           <p>10/10/2017</p>         </td>          <td valign="bottom" width="234">           <p>1/13/2009</p>         </td>       </tr>     </tbody></table> </p>  <p><b></b></p>  <p>Note: Support ends 12 months after the next service pack releases or at the end of the product's support lifecycle, whichever comes first. For more information, please see the service pack policy&#160; <a href="http://support.microsoft.com/lifecycle/#ServicePackSupport">http://support.microsoft.com/lifecycle/#ServicePackSupport</a></p>  <p>Some of the Proactive Offerings that we can help you, attain operational health and transition to a supportable Exchange environment are</p>  <p><a href="http://download.microsoft.com/documents/Australia/services/datasheets2011/Exchange%20Server%202010%20Migration%20Readiness%20Assessment.pdf">Exchange Server 2010 Migration Readiness Assessment</a></p>  <p><a href="http://download.microsoft.com/download/1/C/1/1C15BA51-840E-498D-86C6-4BD35D33C79E/Datasheet_ExRAP.pdf">Microsoft Risk and Health Assessment Program for Exchange Server</a></p>  <p>Workshop - Exchange Server 2010: Transitioning from Exchange 200x</p>  <p>Chalk Talk - Exchange Server 2010: Upgrading from Exchange 200x</p>  <p>Chalk Talk - Exchange Server 2010: Using Exchange Pre-Deployment Tools </p>  <p>WorkshopPLUS - Exchange Server 2010: Administration and Troubleshooting</p>  <p>If you need more information on the next steps to achieve Operational Excellence for your IT and help planning with the Service lifecycle, check with your TAM on we can help you move to a supportable state with our Proactive Services <a href="http://www.microsoft.com/microsoftservices/en/us/support_premier_proactive.aspx">http://www.microsoft.com/microsoftservices/en/us/support_premier_proactive.aspx</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Behavior of Meeting Forward Notifications</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/behavior-of-meeting-forward-notifications</link>
      <pubDate>Wed, 02 May 2012 21:36:19 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2012/05/02/behavior-of-meeting-forward-notifications/</guid>
      <description><![CDATA[Mrs. Proactive said “I had tough time finding any information on the behavior of Meeting Forward...]]></description>
      <content:encoded><![CDATA[<p>Mrs. Proactive said “I had tough time finding any information on the behavior of Meeting Forward Notifications so I thought I would share what I found.” Don’t we all appreciate her sharing some wisdom with us? Here it is:</p>  <p>Meeting Forward Notification (MFN) is processed by either the Exchange Calendar Assistant or Outlook and the organizer’s meeting is automatically updated to include the new attendee.&#160; Now, when the organizer sends out a meeting update, the new attendee gets the update too.</p>  <p>When a meeting is forwarded by one of the attendees using Outlook 2010, several things happen:</p>  <ul>   <li>Outlook displays an InfoBar message to let the attendee know that a MFN will be sent to the meeting organizer. </li>    <li>Outlook forwards the meeting to the new attendee.</li>    <li>A meeting forward notification is sent to the meeting organizer (in most situations).</li> </ul>  <p>Depending on the client of the organizer, the Exchange version of the attendee forwarding the meeting, and the organization membership of both parties, the meeting forward notification can either be sent by Exchange or Outlook, or neither product. </p>  <p>The following outlines a few scenarios where MFNs are sent by different sources, or not sent at all. </p>  <ul>   <li>If the Organizer is using Outlook 2010 </li> </ul>  <blockquote>   <p><b><i><u>AND</u> </i></b>the attendee who forwarded the meeting is in the same Organization as the Organizer </p> </blockquote>  <blockquote>   <p><b><i><u>AND</u> </i></b>the attendee is using Outlook 2010 in Exchange 2007 or Exchange 2010 </p> </blockquote>  <blockquote>   <p><b><i><u>THEN</u> </i></b>the MFN will be sent by Exchange</p> </blockquote>  <ul>   <li>If the Organizer is using Outlook 2010 </li> </ul>  <blockquote>   <p><b><i><u>AND</u> </i></b>the attendee who forwarded the meeting is in the same Organization as the Organizer </p> </blockquote>  <blockquote>   <p><b><i><u>AND</u> </i></b>the attendee is using Outlook 2010 in Exchange 2003 </p> </blockquote>  <blockquote>   <p><b><i><u>THEN</u> </i></b>the MFN will be will be sent by Outlook 2010</p> </blockquote>  <ul>   <li>If the Organizer is using Outlook 2010 </li> </ul>  <blockquote>   <p><b><i><u>AND</u> </i></b>the attendee who forwarded the meeting is in a DIFFERENT Organization than the Organizer </p> </blockquote>  <blockquote>   <p><b><i><u>AND</u> </i></b>the attendee is using Outlook 2010 in any version of Exchange </p> </blockquote>  <blockquote>   <p><b><i><u>THEN</u> </i></b>the MFN will be will be sent by Outlook 2010</p> </blockquote>  <ul>   <li>If the Organizer is using a non-Outlook client </li> </ul>  <blockquote>   <p><b><i><u>AND</u> </i></b>the attendee is using Outlook 2010 in any version of Exchange </p> </blockquote>  <blockquote>   <p><b><i><u>THEN</u> </i></b>the MFN will be will not be sent</p> </blockquote>  <p>If Outlook sends the MFN, you will find a copy of the MFN in the Sent Items folder of the attendee that forwarded the meeting. </p>  <p>However, if Exchange sends the MFN, the MFN is not in the Sent Items folder of the attendee forwarding the meeting.</p>  <p>There are some scenarios where a meeting forward notification is not sent by Outlook when the attendee forwards the meeting to another user.&#160; In this situation, the InfoBar of the forwarded meeting does not include the text indicating a meeting forward will be sent.</p>  <p>Outlook makes the determination not to send the meeting forward notification by first analyzing the Global Object ID value of the meeting.&#160; Outlook parses this value to see if the organizer is using an Outlook client.&#160; </p>  <p>Depending on the version of Exchange hosting the mailbox for the meeting organizer, the organizer’s experience varies slightly.</p>  <p><b><i><u>Mailbox hosted on Exchange 2007 (or later)</u></i></b></p>  <p>If the organizer’s mailbox is on Exchange 2007 or Exchange 2010, they will see the best experience because the Exchange Calendar Assistant processes the meeting forward notification. When the Calendar Assistant processes the MFN, the following events take place:</p>  <ul>   <li>The organizer’s meeting is updated to include the user to which the meeting was forwarded by the attendee.</li>    <li>Meeting exceptions are created for recurring meetings where the user was forwarded only one instance in the series.</li> </ul>  <p>In this example, Exchange 2007 User2 is the meeting organizer and Exchange 2007 User3 is the meeting attendee that forwarded the meeting request to Exchange 2007 User4. With Exchange Store tracing enabled, you can see the Calendar Assistant processes the meeting forward notification and updates the organizer’s meeting to include the new attendee.</p>  <p>Now, when the meeting organizer opens the meeting on their calendar, the new user is automatically included in any meeting updates sent by the organizer.</p>  <p>This keeps all relevant attendees up-to-date on the meeting.&#160; In earlier versions of Outlook, the user to which the meeting was forwarded usually is not included on the organizer’s calendar item.</p>  <p><b><u>Mailbox hosted on Exchange 2003 or non-Exchange mailbox</u></b></p>  <p>The Calendar Assistant does not exist for an Exchange 2003 mailbox. Therefore, the meeting forward notification is processed by Outlook. This can occur during any of the following events:</p>  <ul>   <li>The sniffer process is called when the MFN is processed by the cached mode incoming item pipeline</li>    <li>MAPI-idle sniffer time</li>    <li>The organizer views the MFN in the Reading Pane</li>    <li>The organizer opens the MFN in the inspector window</li> </ul>  <p>When Outlook processes the MFN, the following events occur:</p>  <ul>   <li>The organizer’s meeting is updated to include the user to which the meeting was forwarded by the attendee.</li> </ul>  <p>Meeting exceptions are created for recurring meetings where the user was forwarded only one instance in the series.</p>  <p><b><u>Out of date Meeting Forward Notifications</u></b></p>  <p>In some scenarios, the MFN received by the organizer is out-of-date.&#160; When this occurs, the MFN includes a button that the organizer can use to send a meeting update to the attendee who was forwarded the out-of-date meeting invite.</p>  <p>Outlook uses the Sequence property value (0x813E0003) on the meeting to determine if the meeting forward notification is out of date.</p>  <p>When the organizer clicks Send Meeting Update, the meeting invitation includes the very latest details on the meeting.</p>  <p>This ensures the newly added attendee’s calendar is up-to-date.</p>  <p><b><u>Registry settings to manage the meeting forward notification features</u></b></p>  <p>There are two policy settings available to control the meeting forwarding notification features in Outlook 2010.</p>  <p>Prevent Outlook from sending a meeting forward notification:</p>  <p>Use the following registry data to control the sending of meeting forward notifications by Outlook 2010.</p>  <blockquote>   <p>Key:&#160; HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Options\Calendar</p>    <p>DWORD:&#160; DisableOlkSendingMtgFwdNotifs</p>    <p>Values:</p>    <p>&#160; 0 (or missing DWORD) = Outlook sends an MFN (default)</p>    <p>&#160; 1 = Outlook does not send an MFN</p> </blockquote>  <p><b><i>Note:&#160; The DisableOlkSendingMtgFwdNotifs registry value is only used when Outlook is responsible for sending MFNs. If Exchange is responsible for sending the MFN, this registry value has no effect on Outlook. Also, there is no way to stop Exchange from sending an MFN.</i></b></p>  <p><b><u>Hide the Send Updated Meeting button</u></b></p>  <p>Use the following registry data to control the display of the Send Updated Meeting button in an out-of-date MFN viewed in the Reading Pane by the organizer. </p>  <blockquote>   <p>Key:&#160; HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Options\Calendar</p>    <p>DWORD:&#160; HideSendLatestVersionButton</p>    <p>Values:</p>    <p>&#160; 0 (or missing DWORD) = Outlook shows the Send Updated Meeting button on an out-of-date meeting forward notification</p>    <p>&#160; 1 = Outlook does not show the Send Updated Meeting button on an out-of-date meeting forward notification</p> </blockquote>  <p>Wow, not only you are generous Mrs. Proactive, you can write. I am certain though that readers will appreciate your attention to details. Thanks!</p>]]></content:encoded>
    </item>
    <item>
      <title>Understanding and preparing for the 2011 Russian Daylight Savings Time Change</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/understanding-and-preparing-for-the-2011-russian-daylight-savings-time-change</link>
      <pubDate>Tue, 13 Sep 2011 12:03:55 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2011/09/13/understanding-and-preparing-for-the-2011-russian-daylight-savings-time-change/</guid>
      <description><![CDATA[Most of you are probably aware of the issues around countries changing Daylight Saving Time (DST)....]]></description>
      <content:encoded><![CDATA[<p>Most of you are probably aware of the issues around countries changing Daylight Saving Time (DST). Because these changes tend to come after the time zones were coded in Microsoft products, a lot of thought and work has been done both at Microsoft and customer sites to keep things running smoothly.&#160; For instance we have seen in the past meeting times in calendars move an hour when a country switches over to DST on a new date.&#160; Microsoft made a lot of changes to accommodate the changing dates of DST. There were tools written to move calendar items, and changes to make shifting the dates easier.</p>  <p>Did you know that starting the last weekend in October, Russia will no longer observe “Daylight Saving Time” (DST) and will effectively remain on “summer time”?</p>  <p>If you're interested (or concerned) about this, visit M3 Sweatt's blog for details on a webcast on the change and steps Microsoft is taking to mitigate any issues that might come up because of the it: <a href="http://blogs.msdn.com/b/mthree/archive/2011/09/12/dstconf-091211.aspx">http://blogs.msdn.com/b/mthree/archive/2011/09/12/dstconf-091211.aspx</a></p>  <p>Be quick, the webcast is scheduled for September 15, 2011, 10:00 am to 11:30 am Pacific Daylight Time.</p>  <p>For more information on the changes in Daylight Savings Time around the world and its impact on Microsoft products, you can visit the main DST webpage: <a href="http://microsoft.com/time">http://microsoft.com/time</a>.</p>  <p>Remember it's &quot;Spring Forward, Fall Back&quot;….</p>]]></content:encoded>
    </item>
    <item>
      <title>Why you might want to consider installing Exchange 2010 SP1 RU5 now</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/why-you-might-want-to-consider-installing-exchange-2010-sp1-ru5-now</link>
      <pubDate>Mon, 12 Sep 2011 11:06:08 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2011/09/12/why-you-might-want-to-consider-installing-exchange-2010-sp1-ru5-now/</guid>
      <description><![CDATA[As many of you are probably aware, the Exchange Team has released Update Rollup 5 for Exchange 2010...]]></description>
      <content:encoded><![CDATA[<p>As many of you are probably aware, the Exchange Team has <a href="http://blogs.technet.com/b/exchange/archive/2011/08/23/released-update-rollup-5-for-exchange-2010-sp1.aspx" target="_blank">released Update Rollup 5 for Exchange 2010 SP1</a> otherwise known as “Exchange 2010 SP1 RU5”.&#160; </p>  <p>Because of the history of the latest rollups that have been released, many have decided to wait and not deploy this rollup at this time.&#160; While that is certainly understandable, we felt that it might be useful to provide a brief synopsis of each of the fixes that are included in this rollup.&#160; By taking a few minutes to read the items below, you may find some reasons why it might be a good idea to roll out the fix now.&#160; </p>  <p>Some fixes included in Rollup are below:</p>  <ul>   <li><a href="http://support.microsoft.com/kb/2529715">Slow network or replication issues after you change the number of virus scanning API threads in Microsoft Exchange Server 2010</a>       <br />The Exchange Server Analyzer (formerly known as ExBPA) recommended that the VSAPI threads be bumped up higher than they should have been which could lead to network performance issues or replications issues.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2556133">A device that uses Exchange ActiveSync cannot access mailboxes in an Exchange Server 2010 environment</a>       <br />There was an issue with the way the Exchange 2010 CAS server would proxy requests to an Exchange 2007 server.&#160; In some cases it would wait for a request to be completed when it did not need to and would submit additional requests that were not necessary.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2509306">Journal reports are expired or lost when the Microsoft Exchange Transport service is restarted in an Exchange Server 2010 environment</a>       <br />This fixes a scenario where a journal report could be lost and never reach its intended destination.&#160;&#160; <br /></li>    <li><a href="http://support.microsoft.com/kb/2555800">You cannot use the GetItem operation in EWS to retrieve properties of an email message in an Exchange Server 2010 environment</a>       <br />This fixes a scenario where EWS was not handling attachments correctly.&#160; <br /></li>    <li><a href="http://support.microsoft.com/kb/2556107">The columns in the .csv logging file are not lined up correctly when you perform a discovery search on a mailbox in an Exchange Server 2010 environment</a>       <br />When doing a discovery search on a mailbox and exporting the results to a .csv file the columns would not line up correctly because of how we handled the subject line that had special characters.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2556096">The columns in the .csv logging file are not lined up correctly when you perform a discovery search on a mailbox in an Exchange Server 2010 environment</a>       <br />Same as the item directly above except the cause is a comma being in the display name.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2559926">&quot;There are no items to show in this view.&quot; error message when you try to view a folder by using Outlook in an Exchange Server 2010 environment</a>       <br />This fixes another case in which this would happen that was not fixed previously in the fix mentioned here: <a href="http://support.microsoft.com/kb/2500648">http://support.microsoft.com/kb/2500648</a>       <br /></li>    <li><a href="http://support.microsoft.com/kb/2556156">Extra.exe crashes when it performs RPC activity checks against an Exchange Server 2010 server</a>       <br />This fixes a crash that would happen when running Microsoft Exchange Troubleshooting Assistant (Extra.exe) and selecting the “Collect Exmon Data” check box.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2555850">You cannot delete a mailbox folder that starts with a special character in its name by using Outlook in an Exchange Server 2010 environment</a>       <br />The title says it all…       <br /></li>    <li><a href="http://support.microsoft.com/kb/2556352">&quot;ChangeKey is required for this operation&quot; error message in Outlook for Mac 2011 in an Exchange Server 2010 environment</a>       <br />Moving an item and then changing the category of the item using Outlook for Mac 2011 would throw the above error when the client synchronized the changes with Exchange 2010.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2572958">The &quot;Test-OutlookConnectivity -Protocol HTTP&quot; cmdlet fails to test the Outlook Anywhere connectivity in an Exchange Server 2010 environment</a>       <br />The <a href="http://technet.microsoft.com/en-us/library/dd638082.aspx" target="_blank">Test-OutlookConnectivity</a> cmdlet includes several tests including one for RPCProxy Authentication. This part of the test could fail even if you specified the switch RPCProxyAuthenticationType.      <br /></li>    <li><a href="http://support.microsoft.com/kb/2581545">The copy or move operation on a folder that contains subfolders does not work as expected after you install Update Rollup 4 that is dated June 22, 2011 for Exchange Server 2010 SP1</a>       <br />This includes the fix that was the reason Update Rollup 4 was re-released.&#160; In other words, if you had installed the original RU4 that was dated June 22, 2011 and never installed the updated one, then RU5 would resolve this as well.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2499044">You cannot save attachments in an email message by using OWA if the subject line contains special characters in an Exchange Server 2010 environment</a>       <br />This would happen when using Internet Explorer 7 with OWA Premium.&#160; It doesn’t affect&#160; IE8 or IE9 or OWA Light.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2514766">A RBAC role assignee can unexpectedly run the Add-ADPermission command on an Exchange Server 2010 server that is outside the role assignment scope</a>       <br />Exchange 2010 now verifies the scope when Add-ADPermission is run.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2536704">Mailbox users who are migrated by using ILM 2007 cannot use the Options menu in OWA in an Exchange Server 2010 environment</a>       <br />Update-Recipient did not stamp the Default Role Assignment Policy and when a migrated mailbox user would click on the Options in OWA they would get a “Sorry! Access denied” error.      <br /></li>    <li><a href="http://support.microsoft.com/kb/2556407">Certain client-only message rules do not take effect on email messages that are saved as drafts in an Exchange Server 2010 environment</a>       <br />Some client-side rules don’t work when your Outlook client is in online mode.       <br /></li>    <li><a href="http://support.microsoft.com/kb/2275156">The inline contents disposition is removed when you send a &quot;Content-Disposition: inline&quot; email message by using EWS in an Exchange Server 2010 environment</a>       <br />This fixes an issue where a message sent using Exchange Web Services through Exchange 2010 may end up with some of the message missing or added as an attachment when it should not have been.&#160; Outlook 2011 for Mac is a client that can use Exchange Web Services. </li> </ul>  <p>We in Premier Field Engineering know what it is like to have to make decisions that may affect hundreds of thousands of mailboxes because many of us used to be in your shoes before joining Microsoft.&#160; Hopefully the information above will help a little more with your decision.</p>  <p>As always, feel free to ask questions below or email us using the &quot;<a href="http://blogs.technet.com/b/mr_proactive/contact.aspx" target="_blank">Tell us!</a>” link above.</p>]]></content:encoded>
    </item>
    <item>
      <title>Maximum Recipients Per Message and Exceptions</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/maximum-recipients-per-message-and-exceptions</link>
      <pubDate>Thu, 25 Aug 2011 14:02:54 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2011/08/25/maximum-recipients-per-message-and-exceptions/</guid>
      <description><![CDATA[While this is documented very well on TechNet, it sometimes takes a some time to find and memory...]]></description>
      <content:encoded><![CDATA[<p>While this is documented very well on TechNet, it sometimes takes a some time to find and memory usually fails us when the question of precedence comes up. I figured documenting it here would help some readers.</p>  <p>The classic question of how to handle message size limits comes up very often and ever changing technology in pursuit of improvement never stays the same. This adds to the confusion of understanding the limits and the way they are applied across the organization. Also, it becomes challenging when you need to provide an exception.</p>  <p>Consider this example:</p>  <p>You have Exchange 2010 servers coexisting with Exchange 2003 servers. You have the Maximum Recipient per message limit set to 5000 in Global Limits and it is set to 2500 in Organizational Limits.</p>  <p>A user comes up to you and presents a business need that requires him to be able to send a message to 3000 company employees at once.</p>  <p>Now this is an interesting scenario. First of all, how can you have two different limits for the same parameter in the same Exchange organization? How can Exchange 2003 allow different limits than 2010? The answer is in where it is stored in Active Directory.</p>  <p>Exchange 2003 uses “Global Limits”. The configuration for maximum recipients per message is stored in msExchRecipLimit attribute. Exchange 2007 introduced the term “Organizational Limits”. Since then, the same maximum recipients per message limit configuration is stored in MaxRecipientEnvelopeLimit attribute. This caused limits to conflict if configured separately. Until Exchange 2007 SP1, the only way to correct that was to change Global Limits from Exchange System Manager (Exchange 2003) to match Organizational Limits set using Exchange 2007 management tools. Exchange 2007 SP1 introduced a unified method of changing the limits. If you use Exchange 2007 tools to set organizational limits, the cmdlets will also update Global limits to match the organizational limits being set.</p>  <p>If I haven’t lost you already, going back to our scenario, now we know the limits are different. We also know what our user needs, but we don’t know where the user mailbox exists. Now why would that matter?</p>  <p>That’s because Exchange 2010 handles messages differently than Exchange 2003. It is described in detail in “<a href="http://technet.microsoft.com/en-us/library/bb124345.aspx">Understanding Message Size Limits</a>” on TechNet. In brief, Exchange 2003 treats each member of an expanded distribution list as one recipient. Exchange 2010 treats a distribution group as one recipient. This change was implemented to avoid the partial message delivery scenarios that may occur in Exchange 2003.</p>  <p>Now that we are armed with even more information, what can we tell our user?</p>  <p>If his mailbox happens to be on an Exchange 2003 server, you are looking at limit of 5000 recipients per envelope. This also includes members of expanded distribution groups that may be on the email recipients list. This should be enough to meet user’s requirements.</p>  <p>If, however, his mailbox is on Exchange 2010, your organizational limits are in effect, which happens to be less than user requirements, even if you count each Distribution Group as single recipient. On top of that, Exchange 2010 also implements Connector Limits, Server Limits and User Limits. Because we’re questioning maximum recipients, if the user is sending email through Outlook, Connector Limits won’t apply, and neither will Server Limits. If the user is sending email through an application that uses Receive Connector on Exchange 2010 Hub Transport servers, Connector Limits will apply. If the user is sending email using an application that uses the pickup directory on the Hub Transport servers, Server Limits will apply.</p>  <p>So how do you know which one will take effect in the end? Well, that is explained in “<a href="http://technet.microsoft.com/en-us/library/bb124345.aspx">Understanding Message Size Limits</a>” as well. But I will spell it out here in brief. As a message enters the Exchange 2010 environment, it gets evaluated at every stage of message processing. Depending on how it enters the environment, it will be affected by applicable limits as I explained above. If Connector Limits are in effect and are more restrictive than your Organizational Limits, they will take effect.</p>  <p>So… Will your user be able to successfully send an email to 3000 recipients ever? Or you will tell him to break up his message into smaller chunks?</p>  <p>Well, you are in luck. There is one exception to the “most restrictive” approach as spelled out in the message size limits article. And that is (drumroll please) per user configuration! If you were to set the user’s mailbox properties to a limit that meets their needs, you will make that user happy. I’m not saying that would always be a good thing for your environment or not, but only you can judge that!</p>  <p>And if your head hurts, I’ve done my job right. <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-winkingsmile" alt="Winking smile" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/87/42/metablogapi/2625.wlEmoticon-winkingsmile_3F14AD07.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-87-42-metablogapi/2625.wlEmoticon_2D00_winkingsmile_5F00_3F14AD07.png" /></p>]]></content:encoded>
    </item>
    <item>
      <title>ALERT: Exchange 2010 SP1 RU4 Removed from Download Center</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/alert-exchange-2010-sp1-ru4-removed-from-download-center</link>
      <pubDate>Wed, 13 Jul 2011 13:03:25 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2011/07/13/alert-exchange-2010-sp1-ru4-removed-from-download-center/</guid>
      <description><![CDATA[This is just to let you know that we strongly recommend that you read the latest information at the...]]></description>
      <content:encoded><![CDATA[<p>This is just to let you know that we strongly recommend that you read the latest information at the Exchange Team Blog <a href="http://blogs.technet.com/b/exchange/archive/2011/07/13/exchange-2010-sp1-ru4-removed-from-download-center.aspx">here</a> if you have installed Exchange 2010 SP1 RU4. </p>  <p>In short, there are scenarios where folders moved or copied from one location to another using Outlook may end up in the Recoverable Items Folder.&#160; The recommendation from the Exchange Team is that you request the Interim Update if you have already installed this.</p>  <p>Please go to the <a href="http://blogs.technet.com/b/exchange/">Exchange Team Blog</a> for any updates.</p>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint 2007/WCF Services Bug: “Object reference not set to an instance of an object.”</title>
      <link>https://docs.microsoft.com/archive/blogs/mr_proactive/sharepoint-2007wcf-services-bug-object-reference-not-set-to-an-instance-of-an-object</link>
      <pubDate>Fri, 17 Jun 2011 06:53:41 GMT</pubDate>
      <dc:creator><![CDATA[Mr. Proactive]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/mr_proactive/2011/06/17/sharepoint-2007wcf-services-bug-object-reference-not-set-to-an-instance-of-an-object/</guid>
      <description><![CDATA[I just finished working through an issue with one of my customers. My customer had written a WCF...]]></description>
      <content:encoded><![CDATA[<p>I just finished working through an issue with one of my customers. My customer had written a WCF service to kick off some custom actions on remote SharePoint servers, but they kept getting the old, “Object reference not set to an instance of an object” error. Personally, I love this one, because it’s so easy to debug: all you have to do is figure out which object was null. And why.</p>  <p>Ok, that was sarcasm. And not very well done, at that. Actually, I hate this error because it’s so vague, and because at least half the time I’ve seen it, the faulting method doesn’t actually contain the code that caused the root problem. It just happens to be where everything finally blew up. And in fact, that was the case here.</p>  <p>So that you don’t have to keep thinking to yourself, “Would you <i>please</i> just get to the point!?”, I’m going to give the solution, then the cause, and then I might go a little into the process of how we got there.</p>  <p><b>The Solution</b><b></b></p>  <p>There are a few possibilities (as always):    <br /></p>  <ol>   <li>Try turning <i>off</i> Verbose logging. This one doesn’t seem to always work, but in certain instances it does. Apparently, if Verbose logging is turned on, SharePoint uses one of the utility methods that we found had the bug related to using <i>StackFrame </i>and <i>StackTrace</i>.       <br />Now, to be clear: having Verbose logging turned on will not <i>always</i> cause this error. So, you may in fact find that in your code, you don’t have this problem at all. And hey, lucky you! In our brief testing, having Verbose logging turned on for some categories worked fine, while others resulted in the appearance of our friend the “Object reference” error. As the saying goes, YMMV.      <br /></li>    <li>Don’t do it. Find an alternative. I hate that this is the answer, but we actually tried option number one and initially got it to work. With further testing, however, we hit the same error again, but this time caused by a separate utility method that did basically the same thing with <i>StackTrace</i> and <i>StackFrame</i> as the first method. And that was <i>with </i>Verbose logging turned off.</li> </ol>  <p>That’s it; really. You may get it to work, and please, please, please: if you did encounter this error and still found a way to make the WCF call work (well, the instantiation, actually; we had no trouble getting the WCF call to go through), please let me know how you did it.</p>  <p>Here are two alternatives:   <br /></p>  <ol>   <li>Use the <a href="http://msdn.microsoft.com/en-us/library/dd878586(v=office.12).aspx">SharePoint 2007 web service API</a>, which is pretty robust.      <br /></li>    <li>Use a standard web service hosted inside a SharePoint web app. </li> </ol>  <p>In this customer’s case, they wanted to do some special configuration magic that would have been much more difficult without the special configuration file they’d designed. So, they opted for creating a web service hosted inside one of the SharePoint web apps (I’m not going to give too many specifics about their architecture, but the point is that this option worked.) As I said, however, the SharePoint 2007 web service API is fairly robust. With some planning, you will probably be able to accomplish everything you want just by making use of it. <a href="http://www.bing.com/search?setmkt=en-US&amp;q=sharepoint+2007+web+service+api">A quick search on Bing</a> will locate some really helpful resources for you, but for those pressed for time J, here are some samples:    <br /></p>  <ul>   <li><a href="http://msdn.microsoft.com/en-us/magazine/cc507633.aspx"><b>Automate Web App Deployment with the SharePoint API</b></a> (MSDN Magazine; Ethan Wilansky, Paul Olszewski, Rick Sneddon)</li>    <li><a href="http://www.infoq.com/articles/swanson-moss-web-services;jsessionid=E7B7A20E7B7C92BE97EFB270697C0D72"><b>Getting Started With SharePoint Web Services</b></a><b> </b>(InfoQ; Trent Swanson)</li>    <li><a href="http://www.tonytestasworld.com/post/2008/02/24/SharePoint-2007-Web-Services.aspx"><b>SharePoint 2007 Web Services</b></a><b> </b>(Tony Testa’s World; Tony Testa)</li>    <li><a href="http://technet.microsoft.com/en-us/magazine/2008.11.insidesharepoint.aspx"><b>Inside SharePoint - Extending Office Applications with Web Services</b></a><b> </b>(TechNet; Pav Cherny) <b></b></li> </ul>  <p><b>The Cause</b><b></b></p>  <p>There is a documented bug in SharePoint 2007 with one of the utility methods. The method itself seem innocuous enough: all it does is list out the stack when asked using the .NET <i>StackTrace </i>and <i>StackFrame</i> objects. Unfortunately, due to various factors—most of which I’m not privy—these .NET objects may not be instantiated. </p>  <p><i>I think</i> (and this is just presumption, which is why I italicized those two words) that <i>StackTrace</i> and <i>StackFrame</i> being null may be related to the fact that most SharePoint 2007 .NET code is just a series of wrappers for unmanaged COM code. Thus, <i>I’m guessing</i> (again, notice the italics) that the <i>StackTrace</i> and <i>StackFrame</i> objects are not instantiated in all circumstances. I mean, they’re not as fundamental as, for instance, the <i>Object</i> class. But I digress. Plus, I’m right at the edge of what I know and what I blatantly don’t, and if I tread any further, that will become painfully obvious.</p>  <p>In any case, due to some strangeness in how the SharePoint classes get instantiated when called by a WCF service, the <i>StackTrace</i> and <i>StackFrame</i> objects don’t get instantiated, but a couple of SharePoint utility methods that use them do get called. And since those utility methods don’t take into account the fact that <i>StackTrace</i> and/or <i>StackFrame</i> might not have been instantiated, they call methods on the null objects, causing the “Object reference…” error to be thrown.</p>  <p><b>Other Things We Tried     <br /></b><b></b></p>  <ul>   <li>We started by making sure the WCF call was making it to the endpoint. Once we established that, we knew we would/should be able to rule that piece out. Besides, the error was happening in the SharePoint code, after a considerable amount of other code had already been called and run.     <br /></li>    <li>We noticed that the HttpContext and SPContext objects were null, and thought that might have something to do with it. We created context manually by creating an HttpRequest.     <br /></li>    <li>Since the error was happening inside custom feature-related code, we tried adjusting the settings to not activate any features. We still got the error, but now we could see it actually happening in the SharePoint utility class. This was almost <i>more</i> confusing, since our first thought was, “That doesn’t make any sense—it’s just a method in a utility class that displays StackTrace information. I guess the lesson here is not to overlook what’s right in front of you.</li> </ul>  <p>One of the oddest things was that we initially didn’t find <i>any</i> mention of this bug on the web. Actually, my customer was the one that found a brief mention of turning off Verbose logging while searching archived forum postings. This led us to search our internal bug database, where we found the SharePoint bug documented.</p>  <p>And just in case you’re hoping this might be fixed in SharePoint 2007, I’ll let you know that this particular bug was marked, “Postponed”. On the plus side, it is confirmed as fixed in SharePoint 2010.</p>]]></content:encoded>
    </item>
  </channel>
</rss>