<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Nathan’s Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/nathanscott/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/nathanscott/feed.xml</link>
    <description>A blog on Exchange, Active Directory, IRC and various other technologies</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:45:57 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Tracking down Public Folder hierarchy replication (Exchange 2010)</title>
      <link>https://docs.microsoft.com/archive/blogs/nathanscott/tracking-down-public-folder-hierarchy-replication-exchange-2010</link>
      <pubDate>Thu, 07 Apr 2016 17:33:00 GMT</pubDate>
      <dc:creator><![CDATA[Nathan Scott [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nathanscott/2016/04/07/tracking-down-public-folder-hierarchy-replication-exchange-2010/</guid>
      <description><![CDATA[It has come to my attention after dealing with multiple cases on the issue that tracking down Public...]]></description>
      <content:encoded><![CDATA[<p style="text-align:left;"><span style="font-size:small;">It has come to my attention after dealing with multiple cases on the issue that tracking down Public Folder messages can be a pain. To help remove that pain, I am writing this in the hopes that it will be of some use to some of you in your daily Exchange-related activities! </span></p>
<p style="text-align:left;"><span style="font-size:small;">To begin to understand hierarchy, we should firstly pay close attention to the Application Event log on the sending and receiving server. There are two events we want to pay close attention to on the sending server: 3017 and 3018. In a healthy scenario, we should be seeing plenty of both types of these events logged. However, there can be occasions where only 3017 events are being logged, with minimal or no 3018s present. Explanation of events below:</span></p>
<p style="text-align:left;"><span style="font-size:small;"><strong>3017</strong> - This is the outbound replication message (status). This event is logged on the computer that sends the status replication message.<br /></span></p>
<p style="text-align:left;"><span style="font-size:small;"><strong>3018</strong> - This is the outbound replication message (hierarchy). This event is logged on the computer where the hierarchy change was made. This computer then sends the hierarchy change message to all the other public folder server computers that are in the same top level hierarchy (TLH).<br /></span></p>
<p style="text-align:left;"><span style="font-size:small;">So, if we are seeing multiple instances of 3017 being logged, but no 3018s present whatsoever, it indicates that status change messages are being exchange between the two (or more) Public Folder servers, but no hierarchy is being replicated. It means that the sending server isn&#39;t even attempting to send replication messages out, which would surely explain why we don&#39;t see any changes if, for example, we create a Public Folder on that server. <br /></span></p>
<p style="text-align:left;"><span style="font-size:small;">The usual culprit for the above mentioned issue lies within rules created by users within the Public Folders themselves. Sometimes these can become corrupt. If so, you&#39;re likely to see an event message logged on the server similar to the below:<br /><br />*******************************************************************************<br />Log Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Application<br />Source:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MSExchangeIS Mailbox Store<br />Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2016-02-24 14:15:00<br />Event ID:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8533<br />Task Category: Move Mailbox<br />Level:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error<br />Keywords:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Classic<br />User:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N/A<br />Computer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dns.computer.name<br />Description:<br />A problem occurred while getting the properties for the automatic reply message from &lt;NULL&gt;.<br />Error code: -2147221233.<br />Try to clear the rules or run ISINTEG to check for any problem in the database &quot;PFDBNAME&quot;.<br />************************************************************************************<br /></span></p>
<p style="text-align:left;"><span style="font-size:small;">This almost certainly points to corrupted rules being the culprit. Unfortunately, with the troubleshooting tools provided by Microsoft, there is no easy way for us to determine what the name of the Public Folder with the corrupt rules actually is. So we can address this one of two ways:<br /></span><span style="font-size:small;"><br /></span></p>
<ol>
<li style="text-align:left;"><span style="font-size:small;">Start removing rules from Public Folders one at a time. We can do this either with MFCMAPI or with an Outlook profile pointed towards the problematic Public Folder store. Eventually, you&#39;re going to remove the corrupted rule and things will be good. To narrow this down even further, the chances are Outlook will&nbsp;not be able to open the corrupt rules to view them in the first place. So if you get any Outlook generated messages when you attempt to view them in the first place, these are likely the ones you want to remove with MFCMAPI.</span></li>
<li style="text-align:left;"><span style="font-size:small;">Contact Microsoft Support. We&#39;ll be able to collect an ExTRA trace for you, and tell you precisely the name of the affected Public Folder. <br /></span></li>
</ol>
<p><span style="font-size:small;">This is the first part in a 3-part series I&#39;m writing dealing with Public Folder replication, and naturally only covers one of the potential issues you may encounter. I will be expanding on this, and more, in my next article, so stay tuned!</span></p>]]></content:encoded>
    </item>
    <item>
      <title>Remote PowerShell in Exchange 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/nathanscott/remote-powershell-in-exchange-2013</link>
      <pubDate>Sun, 14 Jun 2015 20:28:00 GMT</pubDate>
      <dc:creator><![CDATA[Nathan Scott [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nathanscott/2015/06/14/remote-powershell-in-exchange-2013/</guid>
      <description><![CDATA[Over the past couple weeks, I&#39;ve dealt with a few customers who&#39;ve wanted to demystify the...]]></description>
      <content:encoded><![CDATA[<p>Over the past couple weeks, I&#39;ve dealt with a few customers who&#39;ve wanted to demystify the options available to them when running remote PowerShell scripts against their Exchange environment. This may be for a number of reasons: automated provisioning of user accounts, regular scheduled account clean up, statistics reporting et al.</p>
<p>The way we recommend to connect to PowerShell from a remote computer is a method called implicit remoting. This involves connecting to your local PowerShell session, and importing the remote PowerShell session that&#39;s running on your Exchange server. However, there are some caveats to this, which I&#39;ll address after the below &quot;how-to&quot; for this method:</p>
<ol>
<li>On your local computer, open Windows PowerShell and execute the following command:<br />
<pre>$UserCredential = Get-Credential</pre>
</li>
<li>After entering the credentials prompted when you executed the above command, execute the following:<br />
<pre>$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://&lt;FQDN of Exchange 2013 Client Access server&gt;/PowerShell/ -Authentication Kerberos -Credential $UserCredential</pre>
</li>
<li>Finally, import the session established above with the following:<br />
<pre>Import-PSSession $Session<br /><br /></pre>
</li>
</ol>
<p>Congratulations: all the Exchange cmdlets have been imported into your local session, and will be executed against the remote session established.</p>
<p><strong>HOWEVER</strong>, and it&#39;s a big one, there are some limitations to implicit remoting in this way.&nbsp;When your local computer sends a script to the remote Exchange server, the code is serialized first - &nbsp;when it gets to the Exchange server it&rsquo;s converted back (deserialized) and executed. The result is serialized again and sent back to your local computer. This can cause havoc with carefully crafted scripts that expect the original data to be returned in its original format (with all methods available and intact). If we want to execute methods on the &ldquo;real&rdquo; object within the Exchange environment we need to do that on <strong>Exchange&#39;s</strong>&nbsp;end.&nbsp;</p>
<p>To do this, we need to change the language mode on the PowerShell virtual directory from RestrictedLanguage to FullLanguage. This is because, in RestrictedLanguage mode,&nbsp;commands that contain scripts that need to be evaluated are not allowed. We do this by modifying the web.config file within the PowerShell virtual directory and changing the value to FullLanguage. Now, instead of importing the session, we can simply make use of Invoke-Command against the session to run any commands within your script:&nbsp;<span>Invoke-Command -Session $Session&nbsp;</span></p>
<p><span>Have fun!</span></p>]]></content:encoded>
    </item>
    <item>
      <title>Demystifying Federation in Exchange 2010 / 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/nathanscott/demystifying-federation-in-exchange-2010-2013</link>
      <pubDate>Fri, 15 May 2015 15:58:00 GMT</pubDate>
      <dc:creator><![CDATA[Nathan Scott [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nathanscott/2015/05/15/demystifying-federation-in-exchange-2010-2013/</guid>
      <description><![CDATA[Recently, I&#39;ve seen a lot of cases where customers are perplexed by the various options...]]></description>
      <content:encoded><![CDATA[<p>Recently, I&#39;ve seen a lot of cases where customers are perplexed by the various options available to them when using the Microsoft Federation Gateway combined with FIM / ILM to share calendar availability from one Exchange forest to another - for instance, when they have purchased another company and are needing to allow collaboration between the two environments.</p>
<p>In a Federated environment, we assume two separate Exchange environments exist. In this instance, you&#39;d also ideally use something like ILM / FIM (see TechNet articles <a href="https://social.technet.microsoft.com/wiki/contents/articles/7377.fim-2010-sharing-gals-and-freebusy-info-between-exchange-orgs.aspx#SHARING_FREE_BUSY_INFORMATION_BETWEEN_EXCHANGE_ORGANIZATIONS">here</a> for further information). This will allow the GAL to be synchronized, and the Organization Relationship created within Exchange 2010 / 2013 combined with a Federated Trust&nbsp;will allow for&nbsp;certain delegation - free/busy,&nbsp;calendar sharing, remote moves and so forth.</p>
<p>However,&nbsp;this will <strong>not</strong> allow for cross-forest permissions. Currently, this is unsupported when using FIM / ILM and Federation&nbsp;to manage cross-forest availability as discussed above. When using FIM / ILM&nbsp;in this way, a &quot;Contact&quot; mail-enabled object is created in the alternate environment to match the user in the source environment. Contacts, however, cannot be used for mailbox permissions - the only way to achieve this is by leveraging the functionality of what&#39;s known as a Linked Mailbox&nbsp;- and even if&nbsp;we waned to attempt this,&nbsp;we couldn&#39;t create a one as it would invariably&nbsp;match the already existing Contact that has been created by leveraging federation&nbsp;with FIM.</p>
<p>At this point in time, there is no supported way for cross-forest permissions to work. Ideally, you&#39;d hopefully&nbsp;be working through a migration plan to centralize your users into one Exchange forest.</p>
<p></p>]]></content:encoded>
    </item>
  </channel>
</rss>