<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>My Fried Tech! - Exchange 2007</title>
    <link>http://www.myfriedmind.com/techBlog/</link>
    <description>oddities from my work</description>
    <language>en-us</language>
    <copyright>Matt Mcknight</copyright>
    <lastBuildDate>Wed, 09 Dec 2009 18:10:03 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>matt@em.org</managingEditor>
    <webMaster>matt@em.org</webMaster>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=e92a6c5a-2605-4719-9d17-f8036905e7e2</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,e92a6c5a-2605-4719-9d17-f8036905e7e2.aspx</pingback:target>
      <dc:creator>papabear</dc:creator>
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,e92a6c5a-2605-4719-9d17-f8036905e7e2.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=e92a6c5a-2605-4719-9d17-f8036905e7e2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
There are many nice things to like about x07's Management Shell, but one of the best
is pipelining. In short what pipelining does is allow you to feed the results from
one cmdlet into another. As you can imagine that increases your capability exponentially.
It is called pipelining because you use the pipe (|) symbol to separate the cmdlets.<br /></p>
        <p>
Let us say, for example, that you want to grant a Full Access perms to the mailbox
Bob.Marley for Lenny.Scott:<br /></p>
        <p>
Get-Mailbox Bob.Marley | Add-MailboxPermission -User 'myDomain\Lenny.Scott' -AccessRights
FullAccess
</p>
        <p>
What if you want to give Lenny.Scott Full Access to ALL maillboxes:
</p>
        <p>
Get-Mailbox | Add-MailboxPermission -User 'myDomain\Lenny.Scott' -AccessRights FullAccess
</p>
        <p>
What if you want to give Lenny.Scott Full Access to only the mailboxes in the Sales
Database:
</p>
        <p>
Get-MailboxDatabase myX07Server\Sales | Get-Mailbox | Add-MailboxPermission -User
'myDomain\Lenny.Scott' -AccessRights FullAccess<img src="http://www.myfriedmind.com/techBlog/content/binary/caution.jpg" align="right" border="0" /></p>
        <p>
The above example shows how you can pipeline into another pipeline. However, if you
really wanted to do this you might use the Add-ADPermission cmdlet:
</p>
        <p>
Get-MailboxDatabase myX07Server\Sales | Add-ADPermission -User 'myDomain\Lenny.Scott'
-AccessRights GenericAll
</p>
        <p>
This capability is stunning in its power, which should also be a little terrifying. 
</p>
        <p>
Use With Caution...<br /></p>
        <img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=e92a6c5a-2605-4719-9d17-f8036905e7e2" />
      </body>
      <title>Exchange 2007 Management Shell Pipelining example</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,e92a6c5a-2605-4719-9d17-f8036905e7e2.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/12/09/Exchange2007ManagementShellPipeliningExample.aspx</link>
      <pubDate>Wed, 09 Dec 2009 18:10:03 GMT</pubDate>
      <description>&lt;p&gt;
There are many nice things to like about x07's Management Shell, but one of the best
is pipelining. In short what pipelining does is allow you to feed the results from
one cmdlet into another. As you can imagine that increases your capability exponentially.
It is called pipelining because you use the pipe (|) symbol to separate the cmdlets.&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Let us say, for example, that you want to grant a Full Access perms to the mailbox
Bob.Marley for Lenny.Scott:&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
Get-Mailbox Bob.Marley | Add-MailboxPermission -User 'myDomain\Lenny.Scott' -AccessRights
FullAccess
&lt;/p&gt;
&lt;p&gt;
What if you want to give Lenny.Scott Full Access to ALL maillboxes:
&lt;/p&gt;
&lt;p&gt;
Get-Mailbox | Add-MailboxPermission -User 'myDomain\Lenny.Scott' -AccessRights FullAccess
&lt;/p&gt;
&lt;p&gt;
What if you want to give Lenny.Scott Full Access to only the mailboxes in the Sales
Database:
&lt;/p&gt;
&lt;p&gt;
Get-MailboxDatabase myX07Server\Sales | Get-Mailbox | Add-MailboxPermission -User
'myDomain\Lenny.Scott' -AccessRights FullAccess&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/caution.jpg" align="right" border="0"&gt;
&lt;/p&gt;
&lt;p&gt;
The above example shows how you can pipeline into another pipeline. However, if you
really wanted to do this you might use the Add-ADPermission cmdlet:
&lt;/p&gt;
&lt;p&gt;
Get-MailboxDatabase myX07Server\Sales | Add-ADPermission -User 'myDomain\Lenny.Scott'
-AccessRights GenericAll
&lt;/p&gt;
&lt;p&gt;
This capability is stunning in its power, which should also be a little terrifying.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
Use With Caution...&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=e92a6c5a-2605-4719-9d17-f8036905e7e2" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,e92a6c5a-2605-4719-9d17-f8036905e7e2.aspx</comments>
      <category>Exchange 2007</category>
    </item>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=05e495ec-7e47-43ff-914b-94f3ea0f5ff0</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,05e495ec-7e47-43ff-914b-94f3ea0f5ff0.aspx</pingback:target>
      <dc:creator>papabear</dc:creator>
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,05e495ec-7e47-43ff-914b-94f3ea0f5ff0.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=05e495ec-7e47-43ff-914b-94f3ea0f5ff0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">We recently moved to Exchange 2007 and
are using our public certificate (which is different from our internal server name).
Because of this we get the popup that informs us that our certificate name is different
from the site that we are trying to contact.<br /><br /><img src="http://www.myfriedmind.com/techBlog/content/binary/ex07certerror.JPG" border="0" /><br /><br />
This can cause issues if the people click "No" as opposed to "Yes" (more on this blog).
There are a couple of solutions - change the certificate (if the CA will let you)
to have an alternate name; or do the steps listed below.<br /><ol><li>
Open the Exchange Management Shell on the hub server.<br /><br /></li><li>
Take a looksee at your ClientAccessServer (CAS) settings -&gt; at the shell window
type:<br /><br />
Get-ClientAccessServer | fl<br /><br />
You should see the following. What you are looking for is the "AutoDiscoverServiceInternalUri".
As you will note it is different than what is on your certificate. We are going to
change it to match. Note that the "fl" portion gives you a nice flowing perspective.<br /><br /><img src="http://www.myfriedmind.com/techBlog/content/binary/ex07certinfo.gif" border="0" /><br /><br /></li><li>
Backup your current CAS setting because we do work in IT and are therefore rightfully
paranoid. Hey, it never hurts. I always append the date but the naming is up to you.
At the shell window type:<br /><br />
Get-ClientAccessServer <b><i>&lt;your x07 hub server's net bios name here&gt;</i></b> |
fl &gt; <i><b>&lt;filename&gt;</b></i><br /><br /><img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CasInfoSave.gif" border="0" /><br /><br /></li><li>
Now, take a looksee at the "InternalUrl" of the WebServicesVirtualDirectory settings
-&gt; at the shell window type:<br /><br />
Get-WebServicesVirtualDirectory | fl Identity,InternalUrl<br /><br /><img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CASWVDInfo.gif" border="0" /><br /><br />
Note that in this case, adding the "Identity,InternalUrl" after the "fl" filters what
information will be displayed to only the Identity and the InternalUrl (which are
are going to use). If you do not include anything after the "fl" it will show you
all the information. You can specify what particular pieces you want displayed by
listing them after it, separated by commas. Also note that for this command YOU DO
NOT SPECIFY THE SERVER.<br /><br /></li><li>
Again, let's back this up -&gt;<br /><br />
Get-WebServicesVirtualDirectory | fl &gt; "c:\wsvdInfo081709.txt"<br /><br /></li><li>
Set the internal name by typing at the command shell window:<br /><br />
Set-ClientAccessServer <i><b>&lt;your x07 hub server's net bios name here&gt; </b></i>-AutoDiscoverServiceInternalUri
https://<i><b>&lt;the Issue TO name on the Certificate such as www.mydomain.com&gt;</b></i>/Autodiscover/Autodiscover.xml<br /><br /><img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CasADChange.gif" border="0" /><br /><br /></li><li>
Set the WebServicesVirtualDirectory appropriately<br /><br />
Set-WebServicesVirtualDirectory <i><b>"&lt;your x07 hub server's net bios name here&gt;</b></i>\EWS
(Default Web Site)" -InternalUrl https://<i><b>&lt;the Issue TO name on the Certificate
such as www.mydomain.com&gt;</b></i>/EWS/Exchange.asmx<br /><br /><img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CasWVDChange.gif" border="0" /><br /></li></ol>
And you should be good to go...<img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=05e495ec-7e47-43ff-914b-94f3ea0f5ff0" /></body>
      <title>Exchange 2007 and Certificate Security Alert when using External name vs Internal name</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,05e495ec-7e47-43ff-914b-94f3ea0f5ff0.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/08/17/Exchange2007AndCertificateSecurityAlertWhenUsingExternalNameVsInternalName.aspx</link>
      <pubDate>Mon, 17 Aug 2009 14:28:45 GMT</pubDate>
      <description>We recently moved to Exchange 2007 and are using our public certificate
(which is different from our internal server name). Because of this we
get the popup that informs us that our certificate name is different
from the site that we are trying to contact.&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/ex07certerror.JPG" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
This can cause issues if the people click "No" as opposed to "Yes" (more on this blog).
There are a couple of solutions - change the certificate (if the CA will let you)
to have an alternate name; or do the steps listed below.&lt;br&gt;
&lt;ol&gt;
&lt;li&gt;
Open the Exchange Management Shell on the hub server.&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Take a looksee at your ClientAccessServer (CAS) settings -&amp;gt; at the shell window
type:&lt;br&gt;
&lt;br&gt;
Get-ClientAccessServer | fl&lt;br&gt;
&lt;br&gt;
You should see the following. What you are looking for is the "AutoDiscoverServiceInternalUri".
As you will note it is different than what is on your certificate. We are going to
change it to match. Note that the "fl" portion gives you a nice flowing perspective.&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/ex07certinfo.gif" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Backup your current CAS setting because we do work in IT and are therefore rightfully
paranoid. Hey, it never hurts. I always append the date but the naming is up to you.
At the shell window type:&lt;br&gt;
&lt;br&gt;
Get-ClientAccessServer &lt;b&gt;&lt;i&gt;&amp;lt;your x07 hub server's net bios name here&amp;gt;&lt;/i&gt;&lt;/b&gt; |
fl &amp;gt; &lt;i&gt;&lt;b&gt;&amp;lt;filename&amp;gt;&lt;/b&gt;&lt;/i&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CasInfoSave.gif" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Now, take a looksee at the "InternalUrl" of the WebServicesVirtualDirectory settings
-&amp;gt; at the shell window type:&lt;br&gt;
&lt;br&gt;
Get-WebServicesVirtualDirectory | fl Identity,InternalUrl&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CASWVDInfo.gif" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
Note that in this case, adding the "Identity,InternalUrl" after the "fl" filters what
information will be displayed to only the Identity and the InternalUrl (which are
are going to use). If you do not include anything after the "fl" it will show you
all the information. You can specify what particular pieces you want displayed by
listing them after it, separated by commas. Also note that for this command YOU DO
NOT SPECIFY THE SERVER.&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Again, let's back this up -&amp;gt;&lt;br&gt;
&lt;br&gt;
Get-WebServicesVirtualDirectory | fl &amp;gt; "c:\wsvdInfo081709.txt"&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Set the internal name by typing at the command shell window:&lt;br&gt;
&lt;br&gt;
Set-ClientAccessServer &lt;i&gt;&lt;b&gt;&amp;lt;your x07 hub server's net bios name here&amp;gt; &lt;/b&gt;&lt;/i&gt;-AutoDiscoverServiceInternalUri
https://&lt;i&gt;&lt;b&gt;&amp;lt;the Issue TO name on the Certificate such as www.mydomain.com&amp;gt;&lt;/b&gt;&lt;/i&gt;/Autodiscover/Autodiscover.xml&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CasADChange.gif" border="0"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
Set the WebServicesVirtualDirectory appropriately&lt;br&gt;
&lt;br&gt;
Set-WebServicesVirtualDirectory &lt;i&gt;&lt;b&gt;"&amp;lt;your x07 hub server's net bios name here&amp;gt;&lt;/b&gt;&lt;/i&gt;\EWS
(Default Web Site)" -InternalUrl https://&lt;i&gt;&lt;b&gt;&amp;lt;the Issue TO name on the Certificate
such as www.mydomain.com&amp;gt;&lt;/b&gt;&lt;/i&gt;/EWS/Exchange.asmx&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/ex07CasWVDChange.gif" border="0"&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;/ol&gt;
And you should be good to go...&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=05e495ec-7e47-43ff-914b-94f3ea0f5ff0" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,05e495ec-7e47-43ff-914b-94f3ea0f5ff0.aspx</comments>
      <category>Exchange 2007</category>
    </item>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=476bbc0c-c189-4ae9-8bed-b86990f7a80a</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,476bbc0c-c189-4ae9-8bed-b86990f7a80a.aspx</pingback:target>
      <dc:creator>papabear</dc:creator>
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,476bbc0c-c189-4ae9-8bed-b86990f7a80a.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=476bbc0c-c189-4ae9-8bed-b86990f7a80a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://technet.microsoft.com/en-us/library/aa996343.aspx">http://technet.microsoft.com/en-us/library/aa996343.aspx</a> discusses
means to grant access to mailboxes. The Console can grant it to individual mailboxes,
but what if you want the whole kit and kaboodle? They mention using the Add-ADPermission
like this from the Shell:
</p>
        <p>
Add-ADPermission -Identity "Mailbox Store" -User "Trusted User" -ExtendedRights Receive-As
</p>
        <p>
This seem to be fairly straightforward. For example:
</p>
        <p>
Add-ADPermission -Identity "myServer\mySG\myDB" -User "myDomain\my.name" -ExtendedRights
- Receive-As
</p>
        <p>
But if you do that you get yelled at:
</p>
        <p>
          <font color="#ff0000">Add-ADPermission : myServer\mySG\myDB was not found. Please
make sure you have typed it correctly.<br />
At line:1 char:17<br />
+ ADD-ADPermission  &lt;&lt;&lt;&lt; -Identity "myServer\mySG\myDB " -User "myDomain\my.name"
-ExtendedRights Receive-As</font>
        </p>
        <p>
The trick here is that in this case the "Mailbox Store" means something different
than every other time I have run across that phrase. In this case it is looking for
the AD Distinguished Name:
</p>
        <p>
[PS] C:\Windows\System32&gt;add-adpermission -identity "<strong>CN=InformationStore,CN=EX07ServerName,CN=Servers,CN=Exchange
Administrative Group,CN=Administrative Groups,CN=Our Company,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=myDomain,DC=com</strong>"
-User "myDomain\my.name" -ExtendedRights Receive-As
</p>
        <p>
That works. Kind of intuitive, no? No? Well here is a way to find that beast:
</p>
        <p>
1 - Install ADSI Edit (if you have not already) <a href="http://technet.microsoft.com/en-us/library/cc773354%28WS.10%29.aspx">http://technet.microsoft.com/en-us/library/cc773354%28WS.10%29.aspx</a></p>
        <p>
2 - Open up "Configuration (NOT Domain) by selecting it in the "Select a well known
Naming Context
</p>
        <p>
          <img src="http://www.myfriedmind.com/techBlog/content/binary/adsiedit_config.gif" border="0" />
        </p>
        <p>
3 - Drill down to (ready, take a breath)
</p>
        <ul>
          <li>
Configuration</li>
          <li>
Your domain</li>
          <li>
CN=Services</li>
          <li>
CN=Microsoft Exchange</li>
          <li>
CN=%Organization Name as stored in Exchange%</li>
          <li>
CN=Servers</li>
          <li>
CN=%Server Name that has the database%</li>
          <li>
CN=%Mailbox Storage Name%</li>
          <li>
CN="Database% (optional)</li>
          <li>
Right Click and select 'Properties'</li>
        </ul>
        <p>
          <img src="http://www.myfriedmind.com/techBlog/content/binary/adsieditGettingDBDN.gif" border="0" />
        </p>
        <p>
4. What you need to know is stored in distinguishedName. You can double-click and
it will popup a textbox (as shown below). You can copy that, just DO NOT DELETE IT!!!
This will give you the information you need to supply in the -Identity entry. You
can also select a particular database if you so choose.
</p>
        <p>
          <img src="http://www.myfriedmind.com/techBlog/content/binary/AdsiEditDBDN.gif" border="0" />
        </p>
        <p>
If you have been observant you will note that the DistinguishedName (which is what
is passed into the -Identity variable) matches the path you drilled down. So theoretically,
you do not need to go through this. Your entry should be something like:
</p>
        <p>
CN=InformationStore,CN=%Exchange Server That Has Databases%,CN=Servers,CN=Exchange
Administrative Group,CN=Administrative Groups,CN=%Your Exchange Organizational Name,CN=Microsoft
Exchange,CN=Services,CN=Configuration,DC=%Your Domain%,DC=%your DomainExtension"
</p>
        <p>
Good luck!
</p>
        <img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=476bbc0c-c189-4ae9-8bed-b86990f7a80a" />
      </body>
      <title>Add-ADPermission with Exchange 2007 databases</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,476bbc0c-c189-4ae9-8bed-b86990f7a80a.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/07/27/AddADPermissionWithExchange2007Databases.aspx</link>
      <pubDate>Mon, 27 Jul 2009 20:09:24 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://technet.microsoft.com/en-us/library/aa996343.aspx"&gt;http://technet.microsoft.com/en-us/library/aa996343.aspx&lt;/a&gt;&amp;nbsp;discusses
means to grant access to mailboxes. The Console can grant it to individual mailboxes,
but what if you want the whole kit and kaboodle? They mention using the Add-ADPermission
like this from the Shell:
&lt;/p&gt;
&lt;p&gt;
Add-ADPermission -Identity "Mailbox Store" -User "Trusted User" -ExtendedRights Receive-As
&lt;/p&gt;
&lt;p&gt;
This seem to be fairly straightforward. For example:
&lt;/p&gt;
&lt;p&gt;
Add-ADPermission -Identity "myServer\mySG\myDB" -User "myDomain\my.name" -ExtendedRights
- Receive-As
&lt;/p&gt;
&lt;p&gt;
But if you do that you get yelled at:
&lt;/p&gt;
&lt;p&gt;
&lt;font color=#ff0000&gt;Add-ADPermission : myServer\mySG\myDB was not found. Please make
sure you have typed it correctly.&lt;br&gt;
At line:1 char:17&lt;br&gt;
+ ADD-ADPermission&amp;nbsp; &amp;lt;&amp;lt;&amp;lt;&amp;lt; -Identity "myServer\mySG\myDB " -User "myDomain\my.name"
-ExtendedRights Receive-As&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
The trick here is that in this case the "Mailbox Store" means something different
than every other time I have run across that phrase. In this case it is looking for
the AD Distinguished Name:
&lt;/p&gt;
&lt;p&gt;
[PS] C:\Windows\System32&amp;gt;add-adpermission -identity "&lt;strong&gt;CN=InformationStore,CN=EX07ServerName,CN=Servers,CN=Exchange
Administrative Group,CN=Administrative Groups,CN=Our Company,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=myDomain,DC=com&lt;/strong&gt;"
-User "myDomain\my.name" -ExtendedRights Receive-As
&lt;/p&gt;
&lt;p&gt;
That works. Kind of intuitive, no? No? Well here is a way to find that beast:
&lt;/p&gt;
&lt;p&gt;
1 - Install ADSI Edit (if you have not already) &lt;a href="http://technet.microsoft.com/en-us/library/cc773354%28WS.10%29.aspx"&gt;http://technet.microsoft.com/en-us/library/cc773354%28WS.10%29.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
2 - Open up "Configuration (NOT Domain) by selecting it in the "Select a well known
Naming Context
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/adsiedit_config.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
3 - Drill down to (ready, take a breath)
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Configuration&lt;/li&gt;
&lt;li&gt;
Your domain&lt;/li&gt;
&lt;li&gt;
CN=Services&lt;/li&gt;
&lt;li&gt;
CN=Microsoft Exchange&lt;/li&gt;
&lt;li&gt;
CN=%Organization Name as stored in Exchange%&lt;/li&gt;
&lt;li&gt;
CN=Servers&lt;/li&gt;
&lt;li&gt;
CN=%Server Name that has the database%&lt;/li&gt;
&lt;li&gt;
CN=%Mailbox Storage Name%&lt;/li&gt;
&lt;li&gt;
CN="Database% (optional)&lt;/li&gt;
&lt;li&gt;
Right Click and select 'Properties'&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/adsieditGettingDBDN.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
4. What you need to know is stored in distinguishedName. You can double-click and
it will popup a textbox (as shown below). You can copy that, just DO NOT DELETE IT!!!
This will give you the information you need to supply in the -Identity entry. You
can also select a particular database if you so choose.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/AdsiEditDBDN.gif" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
If you have been observant you will note that the DistinguishedName (which is what
is passed into the -Identity variable) matches the path you drilled down. So theoretically,
you do not need to go through this. Your entry should be something like:
&lt;/p&gt;
&lt;p&gt;
CN=InformationStore,CN=%Exchange Server That Has Databases%,CN=Servers,CN=Exchange
Administrative Group,CN=Administrative Groups,CN=%Your Exchange Organizational Name,CN=Microsoft
Exchange,CN=Services,CN=Configuration,DC=%Your Domain%,DC=%your DomainExtension"
&lt;/p&gt;
&lt;p&gt;
Good luck!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=476bbc0c-c189-4ae9-8bed-b86990f7a80a" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,476bbc0c-c189-4ae9-8bed-b86990f7a80a.aspx</comments>
      <category>Exchange 2007</category>
    </item>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=44b2c075-aef5-4851-9a59-5523f1885d69</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,44b2c075-aef5-4851-9a59-5523f1885d69.aspx</pingback:target>
      <dc:creator>papabear</dc:creator>
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,44b2c075-aef5-4851-9a59-5523f1885d69.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=44b2c075-aef5-4851-9a59-5523f1885d69</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently we added some new hires to the system only to discover that when one of them
tried to use OWA that an error was triggered - notably that there was an error accessing
Active Directory and that the InnerException was Microsoft.Exchange.Data.Directory.InvalidADObjectOperatorException (see
below)
</p>
        <p>
          <img src="http://www.myfriedmind.com/techBlog/content/binary/error%20from%20legacy[1].jpg" border="0" />
        </p>
        <p>
          <img src="http://www.myfriedmind.com/techBlog/content/binary/legacyMailbox.gif" align="right" border="0" />Now
this only happened with new users. Old users, ones we migrated from x03 to x07 could
use OWA with no problem. I should note (and this is critical) that we still had our
old x03 up, even though we had migrated all the old user mailboxes. This was because
of our unified messaging needing to still run (for a wee bit) on a legacy system.
A quick check on the hub server looking at the mailboxes verified my fears - the mailboxes
had been created as 'Legacy' mailboxes. 
</p>
        <p>
How could this have happened? I checked with my cohort and he confirmed that when
we created the boxes in AD he specified a storage group that was on the x07 server.
A quick check verified this. Obviously when a new mailbox is created in a mixed environment
(at least in ours) it defaults to the least-common-denominator - in this case x03.
</p>
        <p>
The solution was fairly straightforward - move the mailbox. But how? It already WAS
on an x07 storage group. Simple - move to a different storage group - voila!
</p>
        <p>
Except.... it is still a problem...
</p>
        <p>
DOH!!!
</p>
        <p>
I peek into AD using ADSI Edit and discover that the mxExchVersion for the problem
people IS NOT SET!!! A quick search brings me here -&gt; <a href="http://support.microsoft.com/kb/941146">http://support.microsoft.com/kb/941146</a>. 
</p>
        <p>
Running the Set-Mailbox <em>User_name</em> -ApplyMandatoryProperties is the final
step and everything is beautiful. OWA functions and the sun comes out.
</p>
        <p>
On to the next quirk......
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=44b2c075-aef5-4851-9a59-5523f1885d69" />
      </body>
      <title>Microsoft.Exchange.Data.Storage.StoragePermanentException - There was a problem accessing Active Directory</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,44b2c075-aef5-4851-9a59-5523f1885d69.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/06/08/MicrosoftExchangeDataStorageStoragePermanentExceptionThereWasAProblemAccessingActiveDirectory.aspx</link>
      <pubDate>Mon, 08 Jun 2009 16:44:09 GMT</pubDate>
      <description>&lt;p&gt;
Recently we added some new hires to the system only to discover that when one of them
tried to use OWA that an error was triggered - notably that there was an error accessing
Active Directory and that the InnerException was Microsoft.Exchange.Data.Directory.InvalidADObjectOperatorException&amp;nbsp;(see
below)
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/error%20from%20legacy[1].jpg" border=0&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/legacyMailbox.gif" align=right border=0&gt;Now
this only happened with new users. Old users, ones we migrated from x03 to x07 could
use OWA with no problem. I should note (and this is critical) that we still had our
old x03 up, even though we had migrated all the old user mailboxes. This was because
of our unified messaging needing to still run (for a wee bit) on a legacy system.
A quick check on the hub server looking at the mailboxes verified my fears - the mailboxes
had been created as 'Legacy' mailboxes. 
&lt;/p&gt;
&lt;p&gt;
How could this have happened? I checked with my cohort and he confirmed that when
we created the boxes in AD he specified a storage group that was on the x07 server.
A quick check verified this. Obviously when a new mailbox is created in a mixed environment
(at least in ours) it defaults to the least-common-denominator - in this case x03.
&lt;/p&gt;
&lt;p&gt;
The solution was fairly straightforward - move the mailbox. But how? It already WAS
on an x07 storage group. Simple - move to a different storage group - voila!
&lt;/p&gt;
&lt;p&gt;
Except.... it is still a problem...
&lt;/p&gt;
&lt;p&gt;
DOH!!!
&lt;/p&gt;
&lt;p&gt;
I peek into AD using ADSI Edit and discover that the mxExchVersion for the problem
people IS NOT SET!!! A quick search brings me here -&amp;gt; &lt;a href="http://support.microsoft.com/kb/941146"&gt;http://support.microsoft.com/kb/941146&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
Running the Set-Mailbox &lt;em&gt;User_name&lt;/em&gt; -ApplyMandatoryProperties is the final
step and everything is beautiful. OWA functions and the sun comes out.
&lt;/p&gt;
&lt;p&gt;
On to the next quirk......
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=44b2c075-aef5-4851-9a59-5523f1885d69" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,44b2c075-aef5-4851-9a59-5523f1885d69.aspx</comments>
      <category>Exchange 2007</category>
    </item>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=4915fd9b-0b38-45af-af81-8f65e3cf8e95</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,4915fd9b-0b38-45af-af81-8f65e3cf8e95.aspx</pingback:target>
      <dc:creator>papabear</dc:creator>
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,4915fd9b-0b38-45af-af81-8f65e3cf8e95.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=4915fd9b-0b38-45af-af81-8f65e3cf8e95</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Hint: it isn't ISA<br /><br />
We recently moved to a new set of IP addresses and a new router and while most everything
was running fine our Edge Server was having trouble sending/receiving from the world
at large. 
<br /><br />
Now I have the Edge in a DMZ in order to use a public address since ISA does not doing
client NATing at all (curse you!) and initially I suspect there was something in my
subnetting or some such that was the problem. Maybe it was the "Perimeter" network
object that was the issue? Could it be something whacky with my ruleset?<br /><br />
However, I was able to connect from our hub server to the edge server (ie from in
to out). I was able to connect back to the hub server. I could even get out from the
hub server (using the default NAT address). I just could not get OUT from the edge
server. No DNS lookup (using outside), no web browsing, and definitely no SMTP happening
here...<br /><br />
I kept going over and over looking for what I had configured wrong on ISA or on the
Edge server or in DNS...<br /><br />
So I enabled pinging on the ISA server for all Networks so I could check and sure
enough, while I could ping the "External" Nic's ip addresses from the router, I could
not ping the DMZ Nic, much less the Edge server on the other side of it. 
<br /><br />
There was no route manually specified for the particular IP address that the Edge
server was running. DOH!!!! A wee bit o cisco magic and *voila* email flowing like
there is no tomorrow.<br /><br />
Assumptions, assumptions, assumptions...<br /><p></p><img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=4915fd9b-0b38-45af-af81-8f65e3cf8e95" /></body>
      <title>Edge Server unable to send or receive emails</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,4915fd9b-0b38-45af-af81-8f65e3cf8e95.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/06/03/EdgeServerUnableToSendOrReceiveEmails.aspx</link>
      <pubDate>Wed, 03 Jun 2009 17:35:07 GMT</pubDate>
      <description>Hint: it isn't ISA&lt;br&gt;
&lt;br&gt;
We recently moved to a new set of IP addresses and a new router and while most everything
was running fine our Edge Server was having trouble sending/receiving from the world
at large. 
&lt;br&gt;
&lt;br&gt;
Now I have the Edge in a DMZ in order to use a public address since ISA does not doing
client NATing at all (curse you!) and initially I suspect there was something in my
subnetting or some such that was the problem. Maybe it was the "Perimeter" network
object that was the issue? Could it be something whacky with my ruleset?&lt;br&gt;
&lt;br&gt;
However, I was able to connect from our hub server to the edge server (ie from in
to out). I was able to connect back to the hub server. I could even get out from the
hub server (using the default NAT address). I just could not get OUT from the edge
server. No DNS lookup (using outside), no web browsing, and definitely no SMTP happening
here...&lt;br&gt;
&lt;br&gt;
I kept going over and over looking for what I had configured wrong on ISA or on the
Edge server or in DNS...&lt;br&gt;
&lt;br&gt;
So I enabled pinging on the ISA server for all Networks so I could check and sure
enough, while I could ping the "External" Nic's ip addresses from the router, I could
not ping the DMZ Nic, much less the Edge server on the other side of it. 
&lt;br&gt;
&lt;br&gt;
There was no route manually specified for the particular IP address that the Edge
server was running. DOH!!!! A wee bit o cisco magic and *voila* email flowing like
there is no tomorrow.&lt;br&gt;
&lt;br&gt;
Assumptions, assumptions, assumptions...&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=4915fd9b-0b38-45af-af81-8f65e3cf8e95" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,4915fd9b-0b38-45af-af81-8f65e3cf8e95.aspx</comments>
      <category>Exchange 2007</category>
      <category>Isa 2006</category>
    </item>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=db6d73ef-1189-4f66-be2a-09aa61c4559f</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,db6d73ef-1189-4f66-be2a-09aa61c4559f.aspx</pingback:target>
      <dc:creator>papabear</dc:creator>
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,db6d73ef-1189-4f66-be2a-09aa61c4559f.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=db6d73ef-1189-4f66-be2a-09aa61c4559f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
When we migrated to x07, our Activesync started throwing the ol' 0x85010014 error.
If you search for this online you will discover that it is one of the more common
errors and there are about a dozen ways to fix it.
</p>
        <p>
None of them worked. Everything was as it should be. I was completely flummoxed, until
I stumbled across a post in a forum where someone said that he had solve the problem
by changing the ISA "To" tab on the rule to cause the Request to come from the Original
Client (see pic below). Tried that and voila, it worked!
</p>
        <p>
Now I am not sure if there was not something else going on and I have not tried to
change the rule back (my users get antsy if their phone stops synching), so take this
with a grain of salt. Still, if you are pulling your hair out, try this:
</p>
        <img src="http://www.myfriedmind.com/techBlog/content/binary/ActiveSyncISA2006.JPG" border="0" />
        <img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=db6d73ef-1189-4f66-be2a-09aa61c4559f" />
      </body>
      <title>Activesyncy 2007, Isa 2006 and 0x85010014 error</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,db6d73ef-1189-4f66-be2a-09aa61c4559f.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/05/15/Activesyncy2007Isa2006And0x85010014Error.aspx</link>
      <pubDate>Fri, 15 May 2009 17:40:10 GMT</pubDate>
      <description>&lt;p&gt;
When we migrated to x07, our Activesync started throwing the ol' 0x85010014 error.
If you search for this online you will discover that it is one of the more common
errors and there are about a dozen ways to fix it.
&lt;/p&gt;
&lt;p&gt;
None of them worked. Everything was as it should be. I was completely flummoxed, until
I stumbled across a post in a forum where someone said that he had solve the problem
by changing the ISA "To" tab on the rule to cause the Request to come from the Original
Client (see pic below). Tried that and voila, it worked!
&lt;/p&gt;
&lt;p&gt;
Now I am not sure if there was not something else going on and I have not tried to
change the rule back (my users get antsy if their phone stops synching), so take this
with a grain of salt. Still, if you are pulling your hair out, try this:
&lt;/p&gt;
&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/ActiveSyncISA2006.JPG" border=0&gt;&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=db6d73ef-1189-4f66-be2a-09aa61c4559f" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,db6d73ef-1189-4f66-be2a-09aa61c4559f.aspx</comments>
      <category>Exchange 2007</category>
      <category>Isa 2006</category>
    </item>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=95ae3c23-5722-468f-9c56-d96812ad591f</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,95ae3c23-5722-468f-9c56-d96812ad591f.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,95ae3c23-5722-468f-9c56-d96812ad591f.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=95ae3c23-5722-468f-9c56-d96812ad591f</wfw:commentRss>
      <title>Exchange 2007 and Exchange 2003 and the eternal mail loop</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,95ae3c23-5722-468f-9c56-d96812ad591f.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/05/05/Exchange2007AndExchange2003AndTheEternalMailLoop.aspx</link>
      <pubDate>Tue, 05 May 2009 15:58:04 GMT</pubDate>
      <description>&lt;p&gt;
We recently added x07 to our domain, doing the standard migrate from x03 over to a
new box. Everything went surprisingly smoothly except for a few 'glitches' of which
I will write more in different blogs.
&lt;/p&gt;
&lt;p&gt;
What I want to talk about today is an issue that arose due to the requirement that
our outgoing email continue to be sent through our x03 system and not our brand, spanking
new x07. I won't go into the reasons involved, but suffice to say we had our marching
orders.&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/x03x07addedroute[1].jpg" align=right border=0&gt;
&lt;/p&gt;
&lt;p&gt;
One of the beauties of all the work MSoft has poured into x07 is how remarkably it
plays well with others, or at least with x03. We moved the mailboxes and it did not
matter whether incoming mail hit the x03 or the x07, it got delivered correctly. The
reason for this is that x07 automatically a routing connector to the old x03 system
that routes it to the x07 system (if boxes are not local). This is wonderful, but
it also tripped me up.
&lt;/p&gt;
&lt;p&gt;
I had assumed that the solution would simply be to add a Send Connector to the X07
box. Basically anything that was going to be routed via SMTP would be directed to
the old x03 box. It was very simply to setup - go into the Exchange 2007 Management
Console, go under Organization Configuration and thence into Hub Transport. Select
the Send Connectors tab, right-click and select "New Send Connector...". 
&lt;/p&gt;
&lt;p&gt;
I won't go into how to create a new SMTP Send Connector, it is fairly straightforward
-&amp;gt; give it a good name; specify that this is an "Internal" connector (we are all
on the same team after all); add the address space of * and an appropriate cost (I
initially&amp;nbsp;selected 20 but just make sure it is lower than what you have for the&amp;nbsp;rule
sending to your Edge server); select to route through a smart host and specify the
X03 box as your smart host; I chose "None" for my authentication since this was for
testing; and voila!
&lt;/p&gt;
&lt;p&gt;
It initially appeared to work and then all of a sudden emails were getting hung up.
Sending an email threw it into a void until eventually an NDR would be generated with
the following line: 
&lt;/p&gt;
&lt;table cellpadding=3 border=1&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;
The following recipient(s) cannot be reached: 
&lt;/p&gt;
&lt;p&gt;
bob@bob.com on 4/25/2009 2:45 PM 
&lt;br&gt;
A configuration error in the e-mail system caused the message to bounce between two
servers or to be forwarded between two recipients. Contact your administrator. 
&lt;br&gt;
&amp;lt;mail.mydomain.com #5.4.6 smtp;554 5.4.6 Hop count exceeded - possible mail loop&lt;br&gt;
&lt;MAIL.MYDOMAIN.COM td loop&lt; mail possible - exceeded count Hop 5.4.6 smtp;554 #5.4.6&gt;
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
Oops. 
&lt;/p&gt;
&lt;p&gt;
The culprit, of course, is that each of the two systems, x03 and x07 have routers
that send the email back and forth. They are so happy doing such a thing that they
won't pass it out, just back and forth, back and forth, back and forth.
&lt;/p&gt;
&lt;p&gt;
My initial thought was to see if I could modify the Routing Connector that was automatically
added by x07 during the install. It had a weight of "1", which meant that it was THE
rule. As a result, the rule that goes to the Internet is ignored (having been bumped
up) and evertime the x07 system passes an outside email to the x03 system, the x03
system insists on passing it back. However,&lt;img src="http://www.myfriedmind.com/techBlog/content/binary/x03connectorError.jpg" align=right border=0&gt; I
know of now simple way to do this. Opening up the router in x03's System Manager results
in the following error "Exchange System Manager version 8.0.30535.0 or greater is
required to edit this object. See About dialog for version information". So that won't
work. The Send Connectors section of the x07 Management Console does not show this.
I am sure there is an easy way to do this (probably through powershell) but I did
not find one.
&lt;/p&gt;
&lt;p&gt;
So instead, went back to the x03 box and set the internet smtp route to ALSO have
a value of "1". For some reason which I can not easily fathom, mail started to flow
through the x03 box. What confuses me is how the x03 box, having TWO connectors of
value "1" seems to select the correct one. Perhaps it automatically selects the earlier
one, or perhaps it is something as odd as the fact that the x03-&amp;gt;Internet connector
comes alphabetically before the x03-&amp;gt;x07 connector.
&lt;/p&gt;
&lt;p&gt;
What ever the solution - I would like to close with that old, old MSoft test answer
which sadly disappeared a while ago - "Solution should not works, but appears to".
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=95ae3c23-5722-468f-9c56-d96812ad591f" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,95ae3c23-5722-468f-9c56-d96812ad591f.aspx</comments>
      <category>Exchange 2007</category>
    </item>
    <item>
      <trackback:ping>http://www.myfriedmind.com/techBlog/Trackback.aspx?guid=3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8</trackback:ping>
      <pingback:server>http://www.myfriedmind.com/techBlog/pingback.aspx</pingback:server>
      <pingback:target>http://www.myfriedmind.com/techBlog/PermaLink,guid,3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8.aspx</pingback:target>
      <dc:creator>papabear</dc:creator>
      <wfw:comment>http://www.myfriedmind.com/techBlog/CommentView,guid,3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8.aspx</wfw:comment>
      <wfw:commentRss>http://www.myfriedmind.com/techBlog/SyndicationService.asmx/GetEntryCommentsRss?guid=3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We recently installed x07 and migrated over from our x03 box to encounter an odd surprise
(among many) - a number of the mailboxes were listed as "Linked Mailboxes". A Linked
Mailbox is a mailbox which is "linked" to a foreign account (for example in another
forest). The problem lay in the fact that we were not in a forest with other domains
(any more) and all of the mailboxes had always been local to our domain.
</p>
        <p>
There appeared to be no rhyme nor reason - the accounts did not depend on when they
were created, nor what database they were in. It did not matter what OU, what DL,
what anything. One person would be taken, another left behind (in the linking sense).
</p>
        <p>
A bit of background before I reveal the answer so you might understand how this could
happen. We were around in the old Exchange 5.5 days, using NT 4.0. Ah, the good ole
days &lt;g&gt;. When we migrated to w2k and x2k we did it by creating a completely
new domain within a forest housed elsewhere. Eventually, for political reasons, we
ended up leaving that forest, which involved a whole lotta info I don't want to go
into here. We moved them to w03 with x03. Now we were keeping our w03 domain/forest
(for now) and simply upgrading x07.
</p>
        <p>
Ah ha, you might say to yourself, clearly the mailboxes from the Exhange 5.5 days.
Or the x2k days. Or the x03 days. Or something. Unfortunately for that theory while
all of the mailboxes that were still 'linked' were from way back when some of the
mailboxes created at that time were not 'linked'. I even delved into the address,
since we were still porting around old x.500 ones from way back when. However, again,
that was no distinguisher.
</p>
        <p>
So I began to hunt through the AD properties and *AH HA* there it was - all the mailboxes
whose msExchRecipientTypeDetails where 2, ie 'linked' (1 is 'user', 2 is 'linked',
in 'legacy' it is not set), had an entry for 'msExchMasterAccountSid', but those with
msExchRecipientTypeDetails = 1, ie 'user', did not.
</p>
        <p>
Just to verify I ran a bit of the following code (c#) for a quick check, although
you could also do a straight ldap outside of it:
</p>
        <p>
          <font color="#a31515" size="2">
            <span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;">String
_tab <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span> Char.ConvertFromUtf32(9);<br /><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">using</span> (StreamWriter
_logFile <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">new</span> StreamWriter(<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">@"c:\results.txt"</span>))<br />
{<br />
    <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">using</span> (DirectorySearcher
_searcher <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">new</span> DirectorySearcher(_ldapRoot))<br />
    {<br />
        _searcher.SearchScope <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span> SearchScope.Subtree;<br />
        _searcher.CacheResults <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">false</span>;<br />
        _searcher.PropertiesToLoad.Add(<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"msExchRecipientTypeDetails"</span>);<br />
        _searcher.PropertiesToLoad.Add(<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"msExchMasterAccountSid"</span>);<br />
        _searcher.PropertiesToLoad.Add(<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"displayName"</span>);<br />
        _searcher.PropertiesToLoad.Add(<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"whenCreated"</span>);<br />
        _searcher.Filter <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span><span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"(ObjectClass=user)"</span>;<br />
        SearchResultCollection _matches <span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;">=</span> _searcher.FindAll();<br /><br />
        <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">foreach</span> (SearchResult
_match <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">in</span> _matches)<br />
        {<br /><br />
            <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">if</span> (_match.Properties[<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"displayName"</span>].Count
&gt; 0 &amp;&amp;<br />
               
_match.Properties[<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"msExchRecipientTypeDetails"</span>].Count
&gt; 0)<br />
            {<br />
               
_logFile.Write(_match.Properties[<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"displayName"</span>][0].ToString());<br />
               
_logFile.Write(_tab);<br />
               
_logFile.Write(_match.Properties[<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"msExchRecipientTypeDetails"</span>][0].ToString());<br />
               
_logFile.Write(_tab);<br />
               
_logFile.Write(_match.Properties[<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"whenCreated"</span>][0].ToString());<br />
               
_logFile.Write(_tab);<br />
                <span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">if</span> (_match.Properties[<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"msExchMasterAccountSid"</span>].Count
&gt; 0)<br />
               
{<br />
                   
_logFile.Write(ConvertByteToStringSid((<span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;">byte</span>[])_match.Properties[<span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);">"msExchMasterAccountSid"</span>][0]));<br />
               
}<br />
               
_logFile.Write(_tab);<br />
               
_logFile.WriteLine();<br />
               
_logFile.Flush();<br />
            }<br />
        }<br />
    }<br />
}</span>
          </font>
        </p>
        <p>
The ConvertByteToStringSid was borrowed from this excellent entry -&gt; <a href="http://www.codeproject.com/KB/cs/getusersid.aspx">http://www.codeproject.com/KB/cs/getusersid.aspx</a></p>
        <p>
Once I ran that I was able to look at my entries in Excel and verify that that was
the case - boxes listed a 'User' did NOT have this entry and boxes
listed as 'Linked' DID. Then it was simply a matter of hunting down more information. 
</p>
        <p>
It turns out that msExchMasterAccountSid hails as far back as x2k (at least). It is
simply used to associate a mailbox with any 'well-known SID or external account'.
If this is not used, the objectSid is used. Far more info can be found at <a href="http://technet.microsoft.com/en-us/library/bb124164%28EXCHG.65%29.aspx">Detecting
and Correcting msExchMasterAccountSid Issues</a>. This particular article references
x03 but is undoubtedly still applicable to x07.
</p>
        <p>
So what is the solution?
</p>
        <p>
More hunting uncovered that a number of people were having success by simply disabling
and reconnecting - <a href="http://www.fots.nl/index.php/archive/how-to-convert-linked-mailbox-to-user-mailbox/">http://www.fots.nl/index.php/archive/how-to-convert-linked-mailbox-to-user-mailbox/</a> which
I find far more preferable than mucking around in AD. If you have a LOT of mailboxes
that you need to de-link, I do not suggest using the Sample Script (<a href="http://technet.microsoft.com/en-us/library/bb123636%28EXCHG.65%29.aspx">http://technet.microsoft.com/en-us/library/bb123636(EXCHG.65).aspx</a>)
since that applies to x03 and will probably miss some critical AD schema mods), rather
use powershell to disable and reconnect them.
</p>
        <p>
Addendum: if you do disable the mailbox and it does not show up in the "Disconnected
Mailbox" you can run the Clean-Mailboxdatabase command. Syntax: Clean-MailboxDatabase
"serverName\storageGroup\mailboxDatabase" 
<br />
Ex: Clean-MailboxDatabase "exMaster\Primary\Executive"
</p>
        <img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8" />
      </body>
      <title>We Recently Installed X07 And Migrated Over From Our X03 Box To Encounter An Odd Surprise Among Many A Number Of The Mailboxes</title>
      <guid isPermaLink="false">http://www.myfriedmind.com/techBlog/PermaLink,guid,3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8.aspx</guid>
      <link>http://www.myfriedmind.com/techBlog/2009/05/01/WeRecentlyInstalledX07AndMigratedOverFromOurX03BoxToEncounterAnOddSurpriseAmongManyANumberOfTheMailboxes.aspx</link>
      <pubDate>Fri, 01 May 2009 16:51:05 GMT</pubDate>
      <description>&lt;p&gt;
We recently installed x07 and migrated over from our x03 box to encounter an odd surprise
(among many) - a number of the mailboxes were listed as "Linked Mailboxes". A Linked
Mailbox is a mailbox which is "linked" to a foreign account (for example in another
forest). The problem lay in the fact that we were not in a forest with other domains
(any more) and all of the mailboxes had always been local to our domain.
&lt;/p&gt;
&lt;p&gt;
There appeared to be no rhyme nor reason - the accounts did not depend on when they
were created, nor what database they were in. It did not matter what OU, what DL,
what anything. One person would be taken, another left behind (in the linking sense).
&lt;/p&gt;
&lt;p&gt;
A bit of background before I reveal the answer so you might understand how this could
happen. We were around in the old Exchange 5.5 days, using NT 4.0. Ah, the good ole
days &amp;lt;g&amp;gt;. When we migrated to w2k and x2k we did it by creating a completely
new domain within a forest housed elsewhere. Eventually, for political reasons, we
ended up leaving that forest, which involved a whole lotta info I don't want to go
into here. We moved them to&amp;nbsp;w03 with x03.&amp;nbsp;Now we were keeping our w03 domain/forest
(for now) and simply upgrading x07.
&lt;/p&gt;
&lt;p&gt;
Ah ha, you might say to yourself, clearly the mailboxes from the Exhange 5.5 days.
Or the x2k days. Or the x03 days. Or something. Unfortunately for that theory while
all of the mailboxes that were still 'linked' were from way back when some of the
mailboxes created at that time were not 'linked'. I even delved into the address,
since we were still porting around old x.500 ones from way back when. However, again,
that was no distinguisher.
&lt;/p&gt;
&lt;p&gt;
So I began to hunt through the AD properties and *AH HA* there it was - all the mailboxes
whose msExchRecipientTypeDetails where 2, ie 'linked'&amp;nbsp;(1 is 'user', 2 is 'linked',
in 'legacy' it is not set), had an entry for 'msExchMasterAccountSid', but those with
msExchRecipientTypeDetails = 1, ie 'user', did not.
&lt;/p&gt;
&lt;p&gt;
Just to verify I ran a bit of the following code (c#) for a quick check, although
you could also do a straight ldap outside of it:
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#a31515" size="2"&gt;&lt;span style="font-size: 11px; color: black; font-family: Courier New; background-color: transparent;"&gt;String
_tab &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; Char.ConvertFromUtf32(9);&lt;br&gt;
&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;using&lt;/span&gt; (StreamWriter
_logFile &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;new&lt;/span&gt; StreamWriter(&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;@"c:\results.txt"&lt;/span&gt;))&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;using&lt;/span&gt; (DirectorySearcher
_searcher &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;new&lt;/span&gt; DirectorySearcher(_ldapRoot))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _searcher.SearchScope &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; SearchScope.Subtree;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _searcher.CacheResults &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;false&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _searcher.PropertiesToLoad.Add(&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"msExchRecipientTypeDetails"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _searcher.PropertiesToLoad.Add(&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"msExchMasterAccountSid"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _searcher.PropertiesToLoad.Add(&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"displayName"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _searcher.PropertiesToLoad.Add(&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"whenCreated"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _searcher.Filter &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; &lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"(ObjectClass=user)"&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SearchResultCollection _matches &lt;span style="font-size: 11px; color: red; font-family: Courier New; background-color: transparent;"&gt;=&lt;/span&gt; _searcher.FindAll();&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;foreach&lt;/span&gt; (SearchResult
_match &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;in&lt;/span&gt; _matches)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;if&lt;/span&gt; (_match.Properties[&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"displayName"&lt;/span&gt;].Count
&amp;gt; 0 &amp;amp;&amp;amp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_match.Properties[&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"msExchRecipientTypeDetails"&lt;/span&gt;].Count
&amp;gt; 0)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(_match.Properties[&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"displayName"&lt;/span&gt;][0].ToString());&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(_tab);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(_match.Properties[&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"msExchRecipientTypeDetails"&lt;/span&gt;][0].ToString());&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(_tab);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(_match.Properties[&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"whenCreated"&lt;/span&gt;][0].ToString());&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(_tab);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;if&lt;/span&gt; (_match.Properties[&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"msExchMasterAccountSid"&lt;/span&gt;].Count
&amp;gt; 0)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(ConvertByteToStringSid((&lt;span style="font-size: 11px; color: blue; font-family: Courier New; background-color: transparent;"&gt;byte&lt;/span&gt;[])_match.Properties[&lt;span style="font-size: 11px; color: rgb(102, 102, 102); font-family: Courier New; background-color: rgb(228, 228, 228);"&gt;"msExchMasterAccountSid"&lt;/span&gt;][0]));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Write(_tab);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.WriteLine();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
_logFile.Flush();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/span&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
The ConvertByteToStringSid was borrowed from this excellent entry -&amp;gt; &lt;a href="http://www.codeproject.com/KB/cs/getusersid.aspx"&gt;http://www.codeproject.com/KB/cs/getusersid.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Once I ran that I was able to look at my entries in Excel and verify that that was
the case -&amp;nbsp;boxes listed a&amp;nbsp;'User' did&amp;nbsp;NOT have this entry and boxes
listed as 'Linked' DID. Then it was simply a matter of hunting down more information. 
&lt;/p&gt;
&lt;p&gt;
It turns out that msExchMasterAccountSid hails as far back as x2k (at least). It is
simply used to associate a mailbox with any 'well-known SID or external account'.
If this is not used, the objectSid is used. Far more info can be found at &lt;a href="http://technet.microsoft.com/en-us/library/bb124164%28EXCHG.65%29.aspx"&gt;Detecting
and Correcting msExchMasterAccountSid Issues&lt;/a&gt;. This particular article references
x03 but is undoubtedly still applicable to x07.
&lt;/p&gt;
&lt;p&gt;
So what is the solution?
&lt;/p&gt;
&lt;p&gt;
More hunting uncovered that a number of people were having success by simply disabling
and reconnecting - &lt;a href="http://www.fots.nl/index.php/archive/how-to-convert-linked-mailbox-to-user-mailbox/"&gt;http://www.fots.nl/index.php/archive/how-to-convert-linked-mailbox-to-user-mailbox/&lt;/a&gt;&amp;nbsp;which
I find far more preferable than mucking around in AD. If you have a LOT of mailboxes
that you need to de-link, I do not suggest using the Sample Script (&lt;a href="http://technet.microsoft.com/en-us/library/bb123636%28EXCHG.65%29.aspx"&gt;http://technet.microsoft.com/en-us/library/bb123636(EXCHG.65).aspx&lt;/a&gt;)
since that applies to x03 and will probably miss some critical AD schema mods), rather
use powershell to disable and reconnect them.
&lt;/p&gt;
&lt;p&gt;
Addendum: if you do disable the mailbox and it does not show up in the "Disconnected
Mailbox" you can run the Clean-Mailboxdatabase command. Syntax: Clean-MailboxDatabase
"serverName\storageGroup\mailboxDatabase" 
&lt;br&gt;
Ex: Clean-MailboxDatabase "exMaster\Primary\Executive"
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.myfriedmind.com/techBlog/aggbug.ashx?id=3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8" /&gt;</description>
      <comments>http://www.myfriedmind.com/techBlog/CommentView,guid,3a2cb0c5-e0fc-45c8-9a6c-36bbe542ecc8.aspx</comments>
      <category>Exchange 2007</category>
    </item>
  </channel>
</rss>