<?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>A Collection of Random Thoughts</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/benw/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/benw/feed.xml</link>
    <description>Tips, tricks, thoughts relating mostly to Microsoft Exchange server, but occasionally other things as well.</description>
    <lastBuildDate>Tue, 18 Sep 2018 14:03:27 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Dude - why isn't a mailbox being provisioned/created in Exchange Online after licensing?</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/dude-why-isnt-a-mailbox-being-provisioned-created-in-exchange-online-after-licensing</link>
      <pubDate>Tue, 18 Sep 2018 14:03:27 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/?p=705</guid>
      <description><![CDATA[I've run into this scenario several times, and I wanted to share a common cause for this situation...]]></description>
      <content:encoded><![CDATA[I've run into this scenario several times, and I wanted to share a common cause for this situation (as well as how to fix it!).

Consider the following scenario:

You previously migrated a user mailbox from On-Premises to Exchange Online. Sometime later, the Exchange Online license was removed and the license was left off the user for more than 30 days.

or

You previously migrated a user mailbox from On-Premises to Exchange Online and never applied a license. No license was applied for more than 60 days.

Both of these scenarios result in the mailbox being disconnected. In the first case, the mailbox is disconnected immediately, but the mailbox remains in a special hidden state in the database for 30 days. After 30 days, the mailbox is purged from the database, and is no longer recoverable. In the second case, the mailbox remains active for 30 days, during the "grace period". After 30 days with no license, the mailbox is disconnected by a process called "License Reconciliation". This is just a fancy term for Azure running a process against unlicensed users and signaling each service to take the appropriate steps. For Exchange Online, License Reconciliation means we have an unlicensed mailbox, and the action taken is to disconnect the mailbox.

In any event, the net result is a mailbox that gets disconnected and later purged.

Where the problem rears its ugly head is if you end up deciding to apply an Exchange Online license later on. You are probably thinking "Hey, if I apply an Exchange Online license, I'll get a new mailbox no problem!" That would seem to be logical, but unfortunately logic doesn't always prevail and in this case, no mailbox is provisioned.

You see, when a mailbox is migrated from On-Premise to Exchange Online, the value of the attribute msExchRemoteRecipientType gets updated to reflect that the mailbox was migrated. You can see this with the Get-RemoteMailbox output from On-Premises Exchange Management Shell.
<table border="1">
<tbody>
<tr>
<th>Name</th>
<th>RecipientTypeDetails</th>
<th>RemoteRecipientType</th>
</tr>
<tr>
<td>UserNoMailbox</td>
<td>RemoteUserMailbox</td>
<td>Migrated</td>
</tr>
</tbody>
</table>
&nbsp;

A RemoteRecipientType of Migrated equates to a value of 4. The AD attribute is msExchRemoteRecipientType.

Anyways, back to our story. When the RemoteRecipientType value is set to Migrated, Exchange Online will never provision a *New* mailbox, no matter how hard you try. You could say that is a failing on the part of Exchange Online. After all, the service should do what you tell it, right? :-)

So how do we fix this? And before you ask, NO it isn't as easy as just editing the msExchRemoteRecipientType attribute value in AD (I tried! It doesn't work!)

I put together the following steps to get you out of this situation.
<ol>
 	<li><span><span>Set the Powershell Format enumeration limit to unlimited (to ensure no attribute values are cut off)
$formatenumerationlimit = -1
For those not familiar, the Exchange Management Shell has an enumeration limit which can result in some values being cut off, which is evidenced by the trailing …) at the end of a value.</span></span></li>
 	<li><span>Get-RemoteMailbox “user identity” | fl
This is so you have a record of all current attributes. If you want to save it to a text file or CSV or something else, knock yourself out.
</span></li>
 	<li><span><span>Disable-RemoteMailbox
This will remove all Exchange attributes (including Archive guid)</span></span></li>
 	<li><span><span>Run Dirsync delta sync from your AAD Connect server
Start-ADSyncSyncCycle -PolicyType delta
This will sync and remove the Exchange Online Mailuser</span></span></li>
 	<li><span><span>Enable-RemoteMailbox “user identity” -RemoteRoutingAddress <a>user@contoso.mail.onmicrosoft.com
This will set the remote recipient flags to "ProvisionMailbox" and the Exchange Guid will be blank (all 0's)</a></span></span></li>
 	<li><span><span>Run Dirsync delta sync.
Start-ADSyncSyncCycle -PolicyType delta
Since the Exchange guid is no longer populated, as long as the Exchange Online license is assigned a new mailbox will be provisioned. HALLELUJAH!</span></span></li>
 	<li><span>Optionally, provision an Archive mailbox
Enable-RemoteMailbox "user identity" -Archive</span><span style="color: #000000;font-family: Calibri"></span>
<strong>*Note*</strong> - if a previous archive guid was present, and the archive mailbox still somehow exists, you may see a provisioning error referencing not being able to disable the old archive guid. If you encounter this error, you can try setting the archive guid on the remote mailbox to the old one.
The validation error can be exposed to you in PowerShell by running the following command from MSOL PowerShell
(Get-MsolUser -UserPrincipalName upnofuser).errors.errordetail.objecterrors.errorrecord.errordescription
If there is a validation error, and it is the archive, it will show you the new archive guid and the old one.</li>
 	<li>Set-RemoteMailbox “user identity” -ArchiveGuid “old archive guid”After confirming that the Exchange Online mailbox is successfully provisioned, you can stamp the Exchange Guid on the on-premises Remote mailbox object. This is really only required if you think you might have to Offboard the mailbox back to On-Premises, but I like to set it for the sake of being consistent.</li>
 	<li>Set-RemoteMailbox “user identity” -ExchangeGuid “Exchange guid value from new Exchange Online mailbox”</li>
 	<li>Re-stamp any attributes that were previously stamped, such as custom attributes, or additional email addresses (compare with the Get-RemoteMailbox from step 2)</li>
</ol>
It is entirely possible that the logic of Exchange Online will at some point change, and render this guidance useless. Until then, I hope this helps with you to understand why this happens, and how to fix this condition.]]></content:encoded>
    </item>
    <item>
      <title>Workload Management in Exchange 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/workload-management-in-exchange-2013</link>
      <pubDate>Fri, 30 Jan 2015 14:05:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2015/01/30/workload-management-in-exchange-2013/</guid>
      <description><![CDATA[Workload Management (WLM) is a great new feature that was introduced with Exchange 2013 (well, ok to...]]></description>
      <content:encoded><![CDATA[<p>Workload Management (WLM) is a great new feature that was introduced with Exchange 2013 (well, ok to be fair Exchange 2010 introduced the concept of User throttling. Exchange 2013 simply builds on that). The function of WLM is basically to preserve the user experience by throttling other processes. It is comprised of both User-based throttling (not discussed on this post as it is detailed on TechNet fairly well) and System throttling. To achieve this, different workloads in Exchange are assigned different priorities. For example, mailbox moves are a lower priority workload than, say, Transport (after all, it IS important to get that new email from your favorite coupon site, right?!?).</p>
<p>Starting with RTM and up through CU5, managing System Workload Management settings were available via the following cmdlets</p>
<p>*-ResourcePolicy<br />*-WorkloadManagementPolicy<br />*-WorkloadPolicy</p>
<p><strong>WorkloadPolicy</strong> defined the classifications for various different workloads. Examples of Classifications include InternalMaintenance, CustomerExpectation, Discretionary and Urgent.<br /><br /><strong>ResourcePolicy</strong> defined the Thresholds for the various classifications upon which those workload types would begin to be throttled (micro-delayed).</p>
<p><strong>WorkloadManagementPolicy</strong> simply links the two together.</p>
<p>However, starting with CU6, these cmdlets disappeared, and the TechNet links were removed and replaced with this simple statement found <a href="https://technet.microsoft.com/en-us/library/jj150503(v=exchg.150).aspx">here</a></p>
<blockquote>
<p><img title="Note" alt="Note" src="https://i-technet.sec.s-msft.com/areas/global/content/clear.gif" />Note:</p>
<p>The <strong>*-ResourcePolicy</strong>, <strong>*-WorkloadManagementPolicy</strong> and <strong>*-WorkloadPolicy</strong> system workload management cmdlets have been deprecated. System workload management settings should be customized only under the direction of Microsoft Customer Service and Support.</p>
</blockquote>
<p></p>
<p>That is all fine and good (after all, I work in CSS!). But for a while, even I didn&rsquo;t know how to view what the current settings were!!!</p>
<p>Alas &ndash; nothing (well, ALMOST nothing) can remain hidden forever. And so I found that the System workload management settings are now visible by using Get-ExchangeDiagnosticInfo. Now I do want to add a caveat here that this blog post will <strong><span style="text-decoration:underline;">not</span></strong> provide information on how to modify System Workload Policies. However, I felt like it was important to be able to view what the current settings are so that you can understand why certain workloads might end up getting throttled.</p>
<p>If you haven&rsquo;t already had the pleasure of using Get-ExchangeDiagnosticInfo, there is a lot of information available. I won&rsquo;t delve in to everything that can be retrieved, but rather will focus on the System Workload policy-related information.</p>
<p>The general syntax to view System Workload policy information is</p>
<p><em>Get-ExchangeDiagnosticInfo &ndash;server &lt;server&gt; -process MSExchangeMailboxAssistants &ndash;Component SystemWorkloadManager &ndash;Argument policy</em></p>
<p>However &ndash; you will probably notice that the output from this cmdlet is XML format, which is, well, ugly to read. Lets clean it up a little, shall we? Define a variable for your command, and specify the format as XML so Powershell can format it.</p>
<p><em>[xml]$diag = Get-ExchangeDiagnosticInfo &ndash;server &lt;server&gt; -process MSExchangeMailboxAssistants &ndash;Component SystemWorkloadManager &ndash;Argument policy</em></p>
<p>Now that we have the data stored in memory, we can look at the components. The Policy is actually comprised of several sub-components. Lets look at the Resource policy portion first. This shows the Metric types (core resources that we measure the health of)</p>
<p>$diag.diagnostics.components.systemworkloadmanager.policy.resourcepolicy</p>
<table style="width:505px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="204">
<p><strong><span style="text-decoration:underline;">MetricType</span></strong></p>
</td>
<td width="125" valign="bottom">
<p><strong><span style="text-decoration:underline;">MaxConcurrency</span></strong></p>
</td>
<td width="174" valign="bottom">
<p><strong><span style="text-decoration:underline;">ResourceMetricPolicy</span></strong></p>
</td>
</tr>
<tr>
<td width="204">
<p>ActiveDirectoryReplicationLatency</p>
</td>
<td width="125" valign="bottom">
<p>1024</p>
</td>
<td width="174" valign="bottom">
<p>{ResourceMetricPolicy,</p>
</td>
</tr>
<tr>
<td width="204">
<p>MdbLatency</p>
</td>
<td width="125" valign="bottom">
<p>3</p>
</td>
<td width="174" valign="bottom">
<p>{ResourceMetricPolicy,</p>
</td>
</tr>
<tr>
<td width="204">
<p>Processor</p>
</td>
<td width="125" valign="bottom">
<p>1024</p>
</td>
<td width="174" valign="bottom">
<p>{ResourceMetricPolicy,</p>
</td>
</tr>
<tr>
<td width="204">
<p>MdbReplication</p>
</td>
<td width="125" valign="bottom">
<p>3</p>
</td>
<td width="174" valign="bottom">
<p>{ResourceMetricPolicy,</p>
</td>
</tr>
<tr>
<td width="204">
<p>CiAgeOfLastNotification</p>
</td>
<td width="125" valign="bottom">
<p>3</p>
</td>
<td width="174" valign="bottom">
<p>{ResourceMetricPolicy,</p>
</td>
</tr>
<tr>
<td width="204">
<p>MdbAvailability</p>
</td>
<td width="125" valign="bottom">
<p>3</p>
</td>
<td width="174" valign="bottom">
<p>{ResourceMetricPolicy,</p>
</td>
</tr>
<tr>
<td width="204">
<p>DiskLatency</p>
</td>
<td width="125" valign="bottom">
<p>10</p>
</td>
<td width="174" valign="bottom">
<p>{ResourceMetricPolicy,</p>
</td>
</tr>
</tbody>
</table>
<p>Now notice that the ResourcePolicy actually has a property that is multivalued. We can look at that in more detail and see that each metric type has different values for each classification type. This is what allows workloads with a classification of a higher priority to continue working while those with a lower priority are throttled (micro-delayed).</p>
<p>$diag.diagnostics.components.systemworkloadmanager.policy.resourcepolicy.resourcemetricpolicy | ft</p>
<table style="width:600px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;"><strong><span style="text-decoration:underline;">MetricType</span></strong></span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;"><strong><span style="text-decoration:underline;">Classification</span></strong></span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;"><strong><span style="text-decoration:underline;">UnderloadedThreshold</span></strong></span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;"><strong><span style="text-decoration:underline;">OverloadedThreshold</span></strong></span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;"><strong><span style="text-decoration:underline;">CriticalThreshold</span></strong></span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">ActiveDirectoryReplicationLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Discretionary</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">5</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">25</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">45</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">ActiveDirectoryReplicationLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">InternalMaintenance</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">5</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">25</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">45</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">ActiveDirectoryReplicationLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">CustomerExpectation</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">5</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">30</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">50</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">ActiveDirectoryReplicationLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Urgent</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">5</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">60</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">100</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Discretionary</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">10000</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">20000</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">70000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">InternalMaintenance</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">10000</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">20000</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">70000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">CustomerExpectation</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">15000</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">30000</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">70000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Urgent</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">25000</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">50000</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">100000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">Processor</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Discretionary</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">70</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">80</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">100</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">Processor</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">InternalMaintenance</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">75</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">85</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">100</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">Processor</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">CustomerExpectation</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">80</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">90</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">100</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">Processor</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Urgent</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">100</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">100</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">100</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbReplication</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Discretionary</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">2097152</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">6291456</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">52428800</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbReplication</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">InternalMaintenance</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">2097152</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">6291456</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">52428800</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbReplication</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">CustomerExpectation</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">2097152</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">6291456</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">52428800</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbReplication</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Urgent</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">2097152</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">6291456</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">52428800</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">CiAgeOfLastNotification</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Discretionary</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">60</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">180</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">240</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">CiAgeOfLastNotification</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">InternalMaintenance</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">120</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">180</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">300</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">CiAgeOfLastNotification</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">CustomerExpectation</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">180</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">240</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">600</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">CiAgeOfLastNotification</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Urgent</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">240</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">300</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">600</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbAvailability</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Discretionary</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">11534336</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">105906176</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">1048576000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbAvailability</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">InternalMaintenance</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">11534336</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">105906176</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">1048576000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbAvailability</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">CustomerExpectation</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">11534336</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">105906176</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">1048576000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">MdbAvailability</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Urgent</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">11534336</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">105906176</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">1048576000</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">DiskLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Discretionary</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">10</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">20</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">30</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">DiskLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">InternalMaintenance</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">10</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">20</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">30</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">DiskLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">CustomerExpectation</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">10</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">20</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">30</span></p>
</td>
</tr>
<tr>
<td width="188" valign="bottom">
<p><span style="font-size:x-small;">DiskLatency</span></p>
</td>
<td width="112" valign="bottom">
<p><span style="font-size:x-small;">Urgent</span></p>
</td>
<td width="124" valign="bottom">
<p><span style="font-size:x-small;">50</span></p>
</td>
<td width="117" valign="bottom">
<p><span style="font-size:x-small;">50</span></p>
</td>
<td width="110" valign="bottom">
<p><span style="font-size:x-small;">50</span></p>
</td>
</tr>
</tbody>
</table>
<p>Finally, we can view the workload policy, which provides the list of each defined workload type and the respective classification.</p>
<p>$diag.diagnostics.components.systemworkloadmanager.policy.workloadpolicy</p>
<table style="width:509px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="237">
<p><strong><span style="text-decoration:underline;">WorkloadType</span></strong></p>
</td>
<td width="162" valign="bottom">
<p><strong><span style="text-decoration:underline;">Classification</span></strong></p>
</td>
<td width="108" valign="bottom">
<p><strong><span style="text-decoration:underline;">MaxConcurrency</span></strong></p>
</td>
</tr>
<tr>
<td width="237">
<p>MailboxReplicationService</p>
</td>
<td width="162" valign="bottom">
<p>Discretionary</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>ELCAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>JunkEmailOptionsCommitterAssistant</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>CalendarRepairAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>SharingPolicyAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>TopNAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>CalendarSyncAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>UMReportingAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>InferenceTrainingAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>StoreMaintenanceAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PublicFolderAssistant</p>
</td>
<td width="162" valign="bottom">
<p>Discretionary</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>DirectoryProcessorAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PowerShell</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PowerShellForwardSync</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PowerShellBackSync</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PowerShellGalSync</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PowerShellLowPriorityWorkFlow</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PowerShellDiscretionaryWorkFlow</p>
</td>
<td width="162" valign="bottom">
<p>Discretionary</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>OABGeneratorAssistant</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1</p>
</td>
</tr>
<tr>
<td width="237">
<p>Ews</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>Eas</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>Domt</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>Owa</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>TeamMailboxSync</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>Pop</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>Imap</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>Momt</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>Transport</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>TransportSync</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>OwaVoice</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>OrgContactsSyncAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PublicFolderMailboxSync</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>InferenceDataCollectionAssistant</p>
</td>
<td width="162" valign="bottom">
<p>Discretionary</p>
</td>
<td width="108" valign="bottom">
<p>1</p>
</td>
</tr>
<tr>
<td width="237">
<p>PeopleRelevanceAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>SiteMailboxAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PushNotificationService</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>MailboxReplicationServiceHighPriority</p>
</td>
<td width="162" valign="bottom">
<p>Urgent</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>StoreUrgentMaintenanceAssistant</p>
</td>
<td width="162" valign="bottom">
<p>Urgent</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>StoreOnlineIntegrityCheckAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>StoreScheduledIntegrityCheckAssistant</p>
</td>
<td width="162" valign="bottom">
<p>Discretionary</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>MailboxProcessorAssistant</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>E4eSender</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>E4eRecipient</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>MailboxAssociationReplicationAssistant</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>SharePointSignalStoreAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>PeopleCentricTriageAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>MailboxReplicationServiceInternalMai...</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>MailboxReplicationServiceInteractive</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>ProbeTimeBasedAssistant</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>DarRuntime</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>SearchIndexRepairTimebasedAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>DarTaskStoreTimeBasedAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>OutlookService</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>GroupMailboxAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>StoreDSMaintenanceAssistant</p>
</td>
<td width="162" valign="bottom">
<p>InternalMaintenance</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
<tr>
<td width="237">
<p>O365SuiteService</p>
</td>
<td width="162" valign="bottom">
<p>CustomerExpectation</p>
</td>
<td width="108" valign="bottom">
<p>1024</p>
</td>
</tr>
</tbody>
</table>
<p>Enjoy!</p>]]></content:encoded>
    </item>
    <item>
      <title>The Mystery of Calendar Permissions explained…</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/the-mystery-of-calendar-permissions-explained</link>
      <pubDate>Wed, 21 Jan 2015 08:11:00 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2015/01/21/the-mystery-of-calendar-permissions-explained/</guid>
      <description><![CDATA[We get to experience a wide variety of issues here in Microsoft support, and some of them can get...]]></description>
      <content:encoded><![CDATA[<p>We get to experience a wide variety of issues here in Microsoft support, and some of them can get very interesting. As someone who has been involved in troubleshooting issues with computers for over 15 years now, I always like a good challenge.</p>
<p>So when the opportunity came up to help explain a strange calendar permissions issue, I of course jumped at the chance!</p>
<p><span style="text-decoration:underline;">The issue:</span><br />Users were complaining that they were granting &quot;Owner&quot; permissions on their Calendar using Outlook, but then if they viewed permissions in OWA, it was showing as &quot;Limited Details&quot;. Huh?!? Confusing, right?</p>
<p>I set up a repro. Lets look at what each one looks like.</p>
<p>First, Powershell. I used the Get-MailboxFolderPermission cmdlet to display the ACL on the Calendar folder. You can see here that Peggy Sue has been granted Owner rights on my Calendar.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/clip_image002_0EEE9E9B.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22-metablogapi/clip_5F00_image002_5F00_0EEE9E9B.jpg"><img width="244" height="48" title="clip_image002" style="display:inline;border-width:0px;" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/clip_image002_thumb_54FF5BAE.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22-metablogapi/clip_5F00_image002_5F00_thumb_5F00_54FF5BAE.jpg" border="0" /></a></p>
<p>This matches up with what displays in Outlook as well.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/clip_image004_306DCE2A.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22-metablogapi/clip_5F00_image004_5F00_306DCE2A.jpg"><img width="185" height="244" title="clip_image004" style="display:inline;border-width:0px;" alt="clip_image004" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/clip_image004_thumb_6267FF65.jpg" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22-metablogapi/clip_5F00_image004_5F00_thumb_5F00_6267FF65.jpg" border="0" /></a></p>
<p>Now OWA. Remember, both Outlook and Powershell display as Owner.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/clip_image006_6FCE126B.gif" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22-metablogapi/clip_5F00_image006_5F00_6FCE126B.gif"><img width="244" height="60" title="clip_image006" style="display:inline;border-width:0px;" alt="clip_image006" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/clip_image006_thumb_4B3C84E7.gif" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22-metablogapi/clip_5F00_image006_5F00_thumb_5F00_4B3C84E7.gif" border="0" /></a></p>
<p>Hmm. One of these things is not like the others&hellip; :-)</p>
<p>The first clue I had that OWA was displaying something different is the &quot;INSIDE ORGANIZATION&quot; text. From previous experience, this is related to Sharing Policies, which define how you can share your calendar with others (both Inside and Outside of your Organization). This clued me in that OWA is not displaying the actual folder permissions (ACL entry). Instead, what is doing is looking at the permissions entries, and attempting to convert that permission to an equivalent Calendar Sharing permission (which is not the same!).</p>
<p>Next, what I found is that related to Sharing, there are only 5 Calendar Sharing permissions that are displayed (whereas the folder permissions have many more!). Those are:</p>
<p>Delegate<br />Editor<br />Full Details<br />Limited Details<br />Availability Only</p>
<p>The logic for the calendar sharing permission goes something like this.</p>
<p>Analyze the permisssions entry.</p>
<p>Is it Editor?<br />If the permission is Editor, and View Private Items is set, display as Delegate<br />If the permission is Editor, and view private items is NOT set, display as Editor</p>
<p>If the permission is Reviewer, display as Full details</p>
<p>Note at this point, we have come to the end of the actual *<b>folder permissions</b>* that we evaluate (I don&#39;t count Free/Busy permissions as a real folder permission, because you are only granting rights to view Availability information, which to me isn&#39;t the same. You can make an argument that they are still folder permissions, but I don&#39;t count them in the same boat as the others). If you review the list of Folder permissions available to add with the Add-MailboxFolderPermission <a href="https://technet.microsoft.com/en-us/library/dd298062(v=exchg.150).aspx">here</a>, you can see that there are a bunch of folder permissions that we don&rsquo;t look at, including Owner, Author, and Contributor.</p>
<p>Now we move on to Free/Busy permissions, which are calendar-specific.</p>
<p>If the Free/Busy permission is LimitedDetails (Outlook displays as View Free/Busy Time, Subject, location), display as Limited Details</p>
<p>If the Free/Busy permission level is AvailabilityOnly (Outlook displays as Free/Busy time), display as Availability Only.</p>
<p>The net result is that OWA Calendar Sharing Permission does not have an equivalent for some of the permissions on the calendar folder, and it attempts to map it to a sharing permission as best it can. Since Owner (and Author and Contributor for that matter) have write permissions to the calendar, it is defaulting to displaying Limited Details. The following table summarizes the above information.<br /><br /></p>
<table style="width:550px;" border="1" cellspacing="0" cellpadding="1">
<tbody>
<tr>
<td width="274" valign="top">
<p><b><span style="font-size:large;">Calendar permission role</span></b></p>
</td>
<td width="274" valign="top">
<p><b><span style="font-size:large;">Calendar Sharing equivalent</span></b></p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Owner</b></p>
</td>
<td width="274" valign="top">
<p>No equivalent &ndash; displays as Limited Details</p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Publishing Editor</b></p>
</td>
<td width="274" valign="top">
<p>No equivalent &ndash; displays as Limited Details</p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Editor + View Private Items</b></p>
</td>
<td width="274" valign="top">
<p><b>Delegate</b></p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Editor</b></p>
</td>
<td width="274" valign="top">
<p><b>Editor</b></p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Publishing Author</b></p>
</td>
<td width="274" valign="top">
<p>No equivalent &ndash; displays as Limited Details</p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Author</b></p>
</td>
<td width="274" valign="top">
<p>No equivalent &ndash; displays as Limited Details</p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Nonediting Author</b></p>
</td>
<td width="274" valign="top">
<p>No equivalent &ndash; displays as Limited Details</p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Reviewer</b></p>
</td>
<td width="274" valign="top">
<p><b>Full Details</b></p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Contributor</b></p>
</td>
<td width="274" valign="top">
<p>No equivalent &ndash; displays as Limited Details</p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Free/Busy time, subject, location</b></p>
</td>
<td width="274" valign="top">
<p><b>Limited Details</b></p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>Free/Busy time</b></p>
</td>
<td width="274" valign="top">
<p><b>Availability Only</b></p>
</td>
</tr>
<tr>
<td width="274" valign="top">
<p><b>None</b></p>
</td>
<td width="274" valign="top">
<p>Doesn&rsquo;t display in list</p>
</td>
</tr>
</tbody>
</table>
<p>I hope you find this information helpful.</p>]]></content:encoded>
    </item>
    <item>
      <title>Automatic mailbox provisioning fails in Exchange 2013</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/automatic-mailbox-provisioning-fails-in-exchange-2013</link>
      <pubDate>Fri, 05 Sep 2014 14:13:59 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2014/09/05/automatic-mailbox-provisioning-fails-in-exchange-2013/</guid>
      <description><![CDATA[Where has the time gone? Hard to believe it has been so long since my last post. I definitely need...]]></description>
      <content:encoded><![CDATA[<p>Where has the time gone? Hard to believe it has been so long since my last post. I definitely need to change that pattern.</p>
<p>I wanted to share a recent experience I had that left me stumped for quite some time and which I just recently figured out the cause.</p>
<p>I was working on troubleshooting a problem with a Site Mailbox not being created (Site Mailboxes are that cool feature that combines email storage on Exchange and document library on SharePoint), and so I was trying to get some additional tracing from my lab, and noticed that Site mailboxes weren&#39;t getting created in my lab either. Funny, since I&#39;ve had this lab running for the better part of 2 years, and it has always worked. After fixing a minor issue with the Site Mailbox provisioning which was due to a configuration issue with the autodiscover domain I had previously set up, I got to the point where the mailbox should have been provisioned, but it wasn&#39;t. Instead, I was presented with an error page indicating the following</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/4188.SP_Error.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22/4188.SP_5F00_Error.png"><img alt=" " src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/4188.SP_Error.png" original-url="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-53-22/4188.SP_5F00_Error.png" border="0" /></a></p>
<p>The next thing I noticed was that I also couldn&#39;t create a mailbox using the Exchange tools (specifically, I was using the Exchange Management Shell). One never likes to see red come back from a Powershell command, and there it was. The same error as displayed by the attempt to create the Site Mailbox.</p>
<p><span style="color:#ff0000;">A value can&#39;t be provided automatically for the &quot;Database&quot; mandatory parameter. Specify an explicit value for the</span><br /><span style="color:#ff0000;">parameter and try again, or add the Verbose parameter to obtain more information about the failure.</span><br /><span style="color:#ff0000;">&nbsp;&nbsp;&nbsp; + CategoryInfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : NotSpecified: (:) [New-Mailbox], RecipientTaskException</span><br /><span style="color:#ff0000;">&nbsp;&nbsp;&nbsp; + FullyQualifiedErrorId : [Server=MYSERVER,RequestId=b37c727e-3473-4223-b9c3-32483c927aa3,TimeStamp=DateTime</span><br /><span style="color:#ff0000;">&nbsp;&nbsp;] [FailureCategory=Cmdlet-RecipientTaskException] 50FA30F,Microsoft.Exchange.Management.RecipientTasks.NewMail</span><br /><span style="color:#ff0000;">&nbsp; box</span><br /><span style="color:#ff0000;">&nbsp;&nbsp;&nbsp; + PSComputerName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : myserver.mylab.com</span></p>
<p>My first thought was - oh great, maybe I&#39;m running out of space, and the databases have the flag set to exclude from provisioning. That would totally make sense, right? See, starting with Exchange 2010, you didn&#39;t have to specify a mailbox database when you create a mailbox. Exchange would automatically select one for you. For mailboxes created with the Exchange management tools (EMC or EMS for 2010, EAC or EMS for 2013), you still have the option to specify a database if you wish, but for Site Mailboxes, this functionality is required because you have no way to specify a database when the mailbox is requested to be created from the SharePoint Site. Instead, it relies on the automatic mailbox provisioning.</p>
<p>Well, I checked every database on my servers, and found that none of them had the excluded from provisioning flags set.</p>
<p>Get-MailboxDatabase | fl name, *provision*</p>
<p>Here was the output from one database. The others matched. You can see from this that none of the provisioning flags to exclude the database from automatic provisioning of mailboxes were set to True.</p>
<p>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : e15db1<br />IsExcludedFromProvisioning&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False<br />IsExcludedFromInitialProvisioning&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False<br />IsSuspendedFromProvisioning&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : False<br />IsExcludedFromProvisioningBySpaceMonitoring : False</p>
<p>Bummer! What else could cause this? Maybe the database weren&#39;t mounted? That could also cause this. I checked to make sure all the databases were mounted, and they were.</p>
<p>Get-MailboxDatabase -Status | fl name, *mount*</p>
<p>Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : e15db1<br />MountedOnServer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : Myserver<br />MountAtStartup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : True<br /><span style="background-color:#ffff00;">Mounted&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : True</span><br />AutoDatabaseMountDial : GoodAvailability</p>
<p>Again - each database was indeed mounted. Scratch that possibility. Hmm. Where to look next?</p>
<p>At Microsoft, in Support, we have access to some internal tools that are quite helpful. One of these is the Exchange Troubleshooting Assistant (ExTRA). This was first introduced as part of the Best Practices Analyzer family (ExBPA) with Exchange 2007, and although it no longer ships with Exchange 2013, it is still available to install if a Support Engineer needs to collect the diagnostic tracing that it offers. Although ExTRA can be installed and traces captured, the traces are stored in an ETL format, and in order to convert those traces to human readable output, an internal tool must be used.</p>
<p>Sooo...I captured a trace with what I thought would be relevant tags, converted it and reviewed the results. Needless to say, it wasn&#39;t very helpful in this case.</p>
<p>I next reviewed some of our source code relating to the particular error message. This was the proverbial needle in the haystack that I needed that led me to the solution.</p>
<p>What was the problem, you ask?</p>
<p>The &quot;Mailbox Resources Management Agent&quot; Cmdlet Extension Agent was disabled. I have no idea how it was disabled, but it was.</p>
<p>Take a look here for an explanation of what Cmdlet Extension Agents do.</p>
<p>http://technet.microsoft.com/en-us/library/dd335054(v=exchg.150).aspx</p>
<p>Specifically,</p>
<p>&quot;in Exchange 2013, the <strong>New-Mailbox</strong> cmdlet invokes the <code>Mailbox Resources Management</code> agent when the cmdlet runs. If the <em>Database</em> parameter isn&#39;t specified, the <code>Mailbox Resources Management</code> agent automatically determines a suitable mailbox database on which to create the new mailbox and inserts that value into the <em>Database</em> parameter.&quot;</p>
<p>Aha! That perfectly explains why this wasn&#39;t working.</p>
<p>I enabled that cmdlet extension agent, and VOILA! Automatic mailbox provisioning began to work again, and creating the Site Mailbox also worked.</p>]]></content:encoded>
    </item>
    <item>
      <title>Recent experience with Exchange 2007 and Cross-Forest account management</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/recent-experience-with-exchange-2007-and-cross-forest-account-management</link>
      <pubDate>Tue, 02 Nov 2010 12:09:11 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2010/11/02/recent-experience-with-exchange-2007-and-cross-forest-account-management/</guid>
      <description><![CDATA[I wanted to share some lessons learned recently as a result of working a case where the goal was to...]]></description>
      <content:encoded><![CDATA[<p>I wanted to share some lessons learned recently as a result of working a case where the goal was to create a new mail contact in a remote forest.&#160; Existing contacts were able to be edited, so permissions didn’t appear to be the issue.&#160; I was able to set up a cross-forest trust in my lab, and reproduced the problem.&#160; This problem really only exists in Exchange 2007, as Exchange 2010 supports opening a Remote Powershell instance where you could connect directly to the remote forest from a server in the source forest.</p>  <p>Here I am trying to create a new mail contact.&#160; I tried to keep the parameters I used pretty simple.&#160; By specifying the domain controller as a DC in the remote forest, I ensure that I am talking to that forest when I attempt to create the contact.&#160; I’ve highlighted a few things that stood out to me.</p>  <p>[PS] C:\WINDOWS\system32&gt;<strong>New-MailContact -Name &quot;Blah Test&quot; -ExternalEmailAddress blahblah@blah.com -PrimarySmtpAddress blah@mydomain.com –DomainController &lt;Remote Forest DC&gt; -Verbose –OrganizationalUnit &lt;Remote Forest OU&gt;     <br /></strong>VERBOSE: New-MailContact : Beginning processing.    <br />VERBOSE: New-MailContact : Searching objects &quot;&lt;Remote Forest OU&gt;&quot; of type &quot;ExchangeOrganizationalUnit&quot; under the root &quot;$null&quot;.    <br />VERBOSE: New-MailContact : Previous operation run on domain controller &lt;Remote ForestDC&gt;.    <br />VERBOSE: New-MailContact : Administrator Active Directory session settings are:&#160; View Entire Forest: 'False', Default Scope: ‘&lt;Source Forest&gt;’, <font style="background-color: #ffff00">Configuration Domain Controller: '&lt;Source Forest DC&gt;',     <br /></font>VERBOSE: New-MailContact : Applying RUS policy to the given recipient &quot;&lt;Remote Forest&gt;/Contacts/Blah Test&quot; with the home domain controller &quot;&lt;Remote Forest DC&gt;&quot;.    <br />VERBOSE: New-MailContact : The RUS server that will apply policies on the specified recipient is &quot;&lt;Remote Forest MBX server&gt;&quot;.    <br />VERBOSE: New-MailContact : Searching objects of type &quot;ADRecipient&quot; with filter &quot;(&amp;((!((Id Equal &lt;Remote Forest&gt;/Contacts/Blah Test)))(|((EmailAddresses Equal SMTP:blah@&lt;Remote forest.com&gt;)))))&quot;, scope &quot;SubTree&quot; under the root &quot;$null&quot;.    <br />VERBOSE: New-MailContact : Processing object &quot;&lt;Remote Forest&gt;/Contacts/Blah Test&quot;.    <br />VERBOSE: Creating Mail Contact &quot;Blah Test&quot; with External E-mail Address &quot;SMTP:blahblah@blah.com&quot;, Organizational Unit &quot;&lt;Remote Forest&gt;/contacts&quot;.    <br />VERBOSE: New-MailContact : The properties changed are: &quot;{ DisplayName='Blah Test', AddressListMembership={ '\Default Global Address List' }, Alias='BlahTest', EmailAddresses={ 'SMTP:blah@&lt;remote forest.com&gt;' }, RawExternalEmailAddress='SMTP:blahblah@blah.com', PoliciesExcluded={ '{26491cfc-9e50-4857-861b-0cb8df22b5d7}' }, Id=’&lt;Remote Forest&gt;/Contacts/Blah Test', RawName='Blah Test', <font style="background-color: #ffff00">ObjectCategory='&lt;Source Forest&gt;/Configuration/Schema/person' }&quot;.     <br /></font>VERBOSE: New-MailContact : Saving object &quot;&lt;Remote Forest&gt;/Contacts/Blah Test&quot; of type &quot;ADContact&quot; and state &quot;New&quot;.    <br />VERBOSE: New-MailContact : Previous operation run on domain controller ‘&lt;Remote Forest DC&gt;’. New-MailContact : Active Directory operation failed on &lt;Remote Forest DC&gt;. This error could have been caused by user input or by the Active Directory server being unavailable. Please retry at a later time. Additional information: Additional information: The global catalog verification failed. The global catalog is not available or does not support the operation. Some part of the directory is currently not available. Active directory response: 000020E1: SvcErr: DSID-032005F2, problem 5002 (UNAVAILABLE), data 0. At line:1 char:16 + New-MailContact&#160; &lt;&lt;&lt;&lt; -Name &quot;Blah Test&quot; -ExternalEmailAddress blahblah@blah.com -PrimarySmtpAddress blah@&lt;RemoteForest.com&gt; –DomainController &lt;Remote Forest DC&gt; -Verbose –OrganizationalUnit &lt;Remote Forest&gt;/contacts    <br />VERBOSE: New-MailContact : Ending processing.</p>  <p>I was capturing a Netmon trace during this after disabling LDAP encryption (see , and this was the frame that showed the LDAP add request (creating the mail contact).&#160; Note the highlighted part below.</p>  <p>Frame: Number = 233, Captured Frame Length = 1035, MediaType = ETHERNET    <br />+ Ethernet: Etype = Internet IP (IPv4),DestinationAddress:[00-15-5D-41-BD-00],SourceAddress:[00-15-5D-41-BD-0B]    <br />+ Ipv4: Src = 10.10.100.16, Dest = 10.10.0.200, Next Protocol = TCP, Packet ID = 13162, Total IP Length = 1021    <br />+ Tcp: Flags=...AP..., SrcPort=33110, DstPort=LDAP(389), PayloadLen=981, Seq=1117411596 - 1117412577, Ack=4214889466, Win=64154    <br />- Ldap: Add Request, MessageID: 119    <br />&#160; + SASLBuffer:&#160; <br />&#160; - Parser: Add Request, MessageID: 119    <br />&#160;&#160; + ParserHeader:&#160; <br />&#160;&#160; + MessageID: 119    <br />&#160;&#160; + OperationHeader: Add Request, 8(0x8)    <br />&#160;&#160; - AddRequest: Entry: CN=Blah Test,OU=Contacts,DC=&lt;remote forest&gt;,DC=com    <br />&#160;&#160;&#160; - Entry: CN=Blah Test,OU=Contacts,DC=&lt;remote forest&gt;,DC=com    <br />&#160;&#160;&#160;&#160; + AsnOctetStringHeader:&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160; OctetStream: CN=Blah Test,OU=Contacts,DC=&lt;remote forest&gt;,DC=com    <br />&#160;&#160;&#160; - Attributes: 13 Partial Attributes    <br />&#160;&#160;&#160;&#160; + SequenceHeader:&#160; <br />&#160;&#160;&#160;&#160; + PartialAttribute: CountryCode=( 0 )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: displayName=( Blah Test )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: showInAddressBook=( CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=&lt;ORG Name&gt;,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=&lt;remote forest&gt;,DC=com )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: mailNickname=( BlahTest )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: proxyAddresses=( SMTP:blah@&lt;remote forest&gt;.com )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: targetAddress=( SMTP:blahblah@blah.com )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: internetEncoding=( 1310720 )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: msExchPoliciesExcluded=( {26491cfc-9e50-4857-861b-0cb8df22b5d7} )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: msExchRecipientDisplayType=( 6 )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: distinguishedName=( CN=Blah Test,OU=Contacts,DC=&lt;remote forest&gt;,DC=com )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: msExchVersion=( 4535486012416 )    <br />&#160;&#160;&#160;&#160; + PartialAttribute: objectCategory=( CN=person,CN=Schema,CN=Configuration,<font style="background-color: #ffff00">DC=&lt;source forest&gt;,</font>DC=com )    <br />    <br />In response to this, I got the LDAP error seen in the Powershell window.</p>  <p>LDAP:Add Response, MessageID: 119, Status: Unavailable ErrorMessage: 000020E1: SvcErr: DSID-032005F2, problem 5002 (UNAVAILABLE), data 0</p>  <p>If you see the same thing I did (well, since I’ve been nice and highlighted it), you probably know why the operation failed.&#160; Yes indeed, the LDAP Add request is passing an attribute value that contains the source forest.&#160; No wonder why the remote domain controller was responding with an error!</p>  <p>Luckily, Powershell allows you to control some additional settings via $AdminSessionADSettings.&#160; Checking the current settings, I found the following listed</p>  <p>[PS] C:\WINDOWS\system32&gt;$adminsessionadsettings   <br />ViewEntireForest&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False    <br />DefaultScope&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : &lt;source domain&gt;    <br />PreferredGlobalCatalog&#160;&#160;&#160;&#160;&#160;&#160;&#160; :    <br />ConfigurationDomainController : &lt;souce domain DC&gt;    <br />PreferredDomainControllers&#160;&#160;&#160; : {}</p>  <p>On a whim, I changed the config DC to point to one in the remote forest by running the cmd</p>  <p>$adminsessionadsettings.configurationdomaincontroller = ‘&lt;remote forest DC&gt;’</p>  <p>[PS] C:\WINDOWS\system32&gt;$adminsessionadsettings   <br />ViewEntireForest&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : False    <br />DefaultScope&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; : &lt;source domain&gt;    <br />PreferredGlobalCatalog&#160;&#160;&#160;&#160;&#160;&#160;&#160; :    <br />ConfigurationDomainController : &lt;remote forest DC&gt;    <br />PreferredDomainControllers&#160;&#160;&#160; : {}</p>  <p>After making this change, I ran the cmdlet once again, expecting it to fail, but it succeeded.</p>  <p>[PS] C:\WINDOWS\system32&gt;New-MailContact -Name &quot;Blah Test&quot; -ExternalEmailAddress blahblah@blah.com -PrimarySmtpAddress blah@mydomain.com –DomainController &lt;remote forest DC&gt; -Verbose –OrganizationalUnit &lt;remote forest OU&gt;   <br />VERBOSE: New-MailContact : Beginning processing.    <br />VERBOSE: New-MailContact : Searching objects &quot;&lt;remote forest OU&gt;&quot; of type &quot;ExchangeOrganizationalUnit&quot; under the root &quot;$null&quot;.    <br />VERBOSE: New-MailContact : Previous operation run on domain controller '&lt;remote forest DC&gt;'.    <br />VERBOSE: New-MailContact : Administrator Active Directory session settings are:&#160; View Entire Forest: 'False', Default Scope: '&lt;source forest&gt;', Configuration Domain Controller: '&lt;remote forest DC&gt;',    <br />VERBOSE: New-MailContact : Applying RUS policy to the given recipient &quot;&lt;remote forest OU&gt;/Blah Test&quot; with the home domain controller &quot;&lt;remote forest DC&gt;&quot;.    <br />VERBOSE: New-MailContact : The RUS server that will apply policies on the specified recipient is &quot;&lt;remote forest MBX server&gt;&quot;.    <br />VERBOSE: New-MailContact : Searching objects of type &quot;ADRecipient&quot; with filter &quot;(&amp;((!((Id Equal &lt;remote forest&gt;/Contacts/Blah Test)))(|((EmailAddresses Equal SMTP:blah@&lt;remote forest&gt;)))))&quot;, scope &quot;SubTree&quot; under the root &quot;$null&quot;.    <br />VERBOSE: New-MailContact : Processing object &quot;&lt;remote forest OU&gt;/Blah Test&quot;.    <br />VERBOSE: Creating Mail Contact &quot;Blah Test&quot; with External E-mail Address &quot;SMTP:blahblah@blah.com&quot;, Organizational Unit &quot;&lt;remote forest OU&gt;&quot;.    <br />VERBOSE: New-MailContact : The properties changed are: &quot;{ DisplayName='Blah Test', AddressListMembership={ '\All Contacts', '\Default Global Address List' }, Alias='BlahTest', EmailAddresses={ 'SMTP:blah@&lt;remote forest&gt;' }, RawExternalEmailAddress='SMTP:blahblah@blah.com', LegacyExchangeDN='/o=&lt;ORG name&gt;/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=BlahTest', PoliciesExcluded={ '{26491cfc-9e50-4857-861b-0cb8df22b5d7}' }, Id='&lt;remote forest&gt;/Contacts/Blah Test', RawName='Blah Test', <font style="background-color: #ffff00">ObjectCategory='&lt;remote forest&gt;/Configuration/Schema/person' }&quot;.     <br /></font>VERBOSE: New-MailContact : Saving object &quot;&lt;remote forest&gt;/Contacts/Blah Test&quot; of type &quot;ADContact&quot; and state &quot;New&quot;.    <br />VERBOSE: New-MailContact : Previous operation run on domain controller '&lt;remote forest DC&gt;’.    <br />VERBOSE: New-MailContact : Reading new object &quot;&lt;remote forest&gt;/Contacts/Blah Test&quot; of type &quot;ADContact&quot;.    <br />VERBOSE: New-MailContact : Previous operation run on domain controller '&lt;remote forest DC&gt;'.    <br />Name&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Alias&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; RecipientType    <br />----&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -----&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -------------    <br />Blah Test&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; BlahTest&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MailContact    <br />VERBOSE: New-MailContact : Ending processing.</p>  <p>This time, both Netmon and the verbose output from the cmdlet show that the Configuration partition being referenced to set the objectcategory is for the correct domain/forest, and the add request succeeds.</p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange 2007 and Export-Mailbox with the –IncludeFolders switch</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/exchange-2007-and-export-mailbox-with-the-includefolders-switch</link>
      <pubDate>Mon, 26 Jul 2010 12:01:45 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2010/07/26/exchange-2007-and-export-mailbox-with-the-includefolders-switch/</guid>
      <description><![CDATA[You may have noticed that when you when you run the Export-Mailbox cmdlet, one of the switches...]]></description>
      <content:encoded><![CDATA[<p>You may have noticed that when you when you run the Export-Mailbox cmdlet, one of the switches available is –IncludeFolders.&#160; With this switch, you can specify the folders to include in the export (duh!).&#160; However, you may also notice that when you use the –IncludeFolders switch, it includes that folder <u>and</u> all subfolders.&#160; This may not be desirable, and may lead to the export taking a long time to complete, especially if there are a large number of sub-folders.</p>  <p>If you don’t like this behavior, and are looking to export only certain folders (for example, just export the Inbox), I want to suggest a workaround.&#160; You see, along with –IncludeFolders, there is another switch-ExcludeFolders.&#160; Instead of specifying the list of folders to include, you specify the folders you want excluded.&#160; Specifically, we tell the Export-Mailbox cmdlet that if it doesn’t match the “exact” path of the folder we want, it should be excluded.&#160; Read on for more details.</p>  <p>First, we define a variable to do our “search”.&#160; The reason why we have to do this is that we are first running Get-MailboxFolderStatistics, and the folderpath it outputs to is in the form of “/Folderpath”, but Export-Mailbox expects a folder path of “\FolderPath”, so we have to convert the forward slashes to backslashes.</p>  <p><i>$r = [regex]'/';</i></p>  <p>Next, we define another variable.&#160; This is used to store our “list” of folders to exclude.&#160; We use the Get-MailboxFolderStatistics to get a list of all folders that we want to “exclude”.&#160; For example, where the folder path is not like the “Inbox”, and not like the “Top of Information Store”.&#160; We have to include “Top of Information Store” here because the Inbox is a folder underneath the Top of Information Store, and if it isn’t included, the Inbox won’t be exported either.</p>  <p>From that output, we select only the FolderPath object (because that is all we need), we convert it to a String value (because right now, it is an Object), then change the “/” character to “\” and we store that as a variable.&#160; </p>  <p>This can be modified to include other folders as well.&#160; Just keep adding things to the where statement, for example $_.folderpath –ne “/Sent Items”.</p>  <p><i>$exclude = Get-Mailbox &quot;Mailbox Name&quot; | Get-MailboxFolderStatistics | where {$_.folderpath -ne &quot;/&quot; -and $_.FolderPath -ne &quot;/Inbox&quot;} | Select-Object FolderPath | Foreach {$_.folderpath.tostring()} | foreach {$r.replace($_”,”\”,-1)}</i></p>  <p>The -1 at the end tells it to iterate through all folders in the list.</p>  <p>OK – admittedly, that is a lot of work to get what you need, but it should work.&#160; So now, you have a variable that contains an array of all the folders you want to “Exclude”.&#160; You are ready to run the Export.</p>  <p>This will perform the export for the 1 user you define.&#160; You can also modify the above to run against all users.&#160; </p>  <p><i>Export-Mailbox &quot;Mailbox Name&quot; -FoldersExclude $exclude -TargetMailbox &quot;Mailbox Name&quot; -TargetFolder &quot;Folder Name&quot;</i></p>  <p>In the below example, it is running against all users except the mailbox you are exporting to, and getting a list of all folders except the Inbox, Top of Information Store, and Deleted Items.&#160; Since the –ExcludeFolders doesn’t care if a folder doesn’t exist in a mailbox, we’ll keep the size of the list to a manageable level by only including Unique folder names.</p>  <p><i>$exclude = Get-Mailbox | where {$_.name –ne “Mailbox Exporting To”} | Get-MailboxFolderStatistics | where {$_.folderpath -ne &quot;/&quot; -and $_.FolderPath -ne &quot;/Inbox&quot; –and $_.FolderPath –ne “/Deleted Items”} | Select-Object FolderPath | Foreach {$_.folderpath.tostring()} | foreach {$r.replace($_”,”\”,-1)} | Sort -Unique</i></p>  <p>Now we are going to get the list of mailboxes to export.</p>  <p><i>Get-Mailbox | where {$_.name –ne “Mailbox Exporting to”} | Export-Mailbox –ExcludeFolders $exclude –TargetMailbox “Mailbox Exporting To” –TargetFolder “Folder name”</i></p>  <p>Now since I don’t have a large lab with lots of mailboxes that have lots of data (and folders) in them, I haven’t verified how much time this method will save, but I believe the time savings here will be substantial.&#160; If you try this method out, please let me know if it saves you time.</p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange 2010 DAG and MaxQuorumLogSize cluster setting</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/exchange-2010-dag-and-maxquorumlogsize-cluster-setting</link>
      <pubDate>Tue, 15 Jun 2010 10:38:03 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2010/06/15/exchange-2010-dag-and-maxquorumlogsize-cluster-setting/</guid>
      <description><![CDATA[I wanted to get this information out here, as we’ve had a few customers run into this.&#160; The...]]></description>
      <content:encoded><![CDATA[<p>I wanted to get this information out here, as we’ve had a few customers run into this.&#160; The issue does not appear to affect core cluster functionality, but does affect the appearance of the cluster.</p>  <p>First, one of my colleagues, Tim McMichael, has a blog that details the different ExBPA rules that can be ignored for Windows 2008 clusters (both Exchange 2007 and Exchange 2010).&#160; That blog is located here:</p>  <p><a title="http://blogs.technet.com/b/timmcmic/archive/2009/05/19/exbpa-incorrectly-flags-windows-2003-cluster-rules-on-windows-2008.aspx" href="http://blogs.technet.com/b/timmcmic/archive/2009/05/19/exbpa-incorrectly-flags-windows-2003-cluster-rules-on-windows-2008.aspx">http://blogs.technet.com/b/timmcmic/archive/2009/05/19/exbpa-incorrectly-flags-windows-2003-cluster-rules-on-windows-2008.aspx</a></p>  <p>I’m not sure if the rules ever got updated for Exchange 2007, but they definitely were not updated for Exchange 2010 RTM (Oops!).&#160; These rules will be fixed with Exchange 2010 SP1.</p>  <p>Now, on to the issue.</p>  <p>If you run ExBPA on Exchange 2010 RTM, one of the issues detected (under All Issues) is that the Quorum Log size is too small (see below screenshot from my lab)</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/8446.image_701AADCE.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-22-metablogapi/8446.image_5F00_701AADCE.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/5635.image_thumb_6A9C175D.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-22-metablogapi/5635.image_5F00_thumb_5F00_6A9C175D.png" width="922" height="134" /></a> </p>  <p>You’ll note that the recommendation is to change the current setting from 1024 to 4096.</p>  <p><a title="http://technet.microsoft.com/en-us/library/aa995830(EXCHG.80).aspx" href="http://technet.microsoft.com/en-us/library/aa995830(EXCHG.80).aspx">http://technet.microsoft.com/en-us/library/aa995830(EXCHG.80).aspx</a> details the recommended change and where to modify this setting.&#160; If you are astute, you’ll note that the text only discusses Windows 2000 and Windows 2003.&#160; That’s because this setting no longer applies to Windows 2008.&#160; Unfortunately, you won’t find anything currently documented about this (I’ve asked our friends over in Windows Clustering to please get something documented).</p>  <p>You’ll also see the same recommendation if you run Test-SystemHealth (the Shell version of ExBPA)</p>  <p>So, let’s say you are running Exchange 2010 in a Database Availability Group (DAG), and you decide to make the change.&#160; Remember that for a DAG, you have to specify a Witness server during creation.&#160; This results in the Quorum model being set to Node and File Share Majority, which will show as follows:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/7701.image_5AE89427.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-22-metablogapi/7701.image_5F00_5AE89427.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/6712.image_thumb_75B167DB.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-22-metablogapi/6712.image_5F00_thumb_5F00_75B167DB.png" width="976" height="36" /></a> </p>  <p>As soon as you modify the MaxQuorumLogSize registry value to anything but the default of 1024, and refresh the Failover Cluster Management interface, you will notice that the Quorum model changes to Other.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/5238.image_7A17012E.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-22-metablogapi/5238.image_5F00_7A17012E.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/53/22/metablogapi/5241.image_thumb_24EF6541.png" original-url="http://blogs.technet.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-22-metablogapi/5241.image_5F00_thumb_5F00_24EF6541.png" width="977" height="40" /></a> </p>  <p></p>  <p>As stated previously, this doesn’t affect the actual functionality of the cluster, but if I was a customer, and encountered this situation, I sure wouldn’t be happy, especially seeing that a Quorum model of “Other” isn’t documented anywhere, and isn’t even shown as a valid Quorum model.</p>  <p>The resolution to this is easy.&#160; Change the MaxQuorumLogSize back to 1024.&#160; No restarts required – just refresh the Failover Cluster Management interface.&#160; The Quorum model should change back to “Node and File Share Majority (\\UNC of FSW)” as expected.</p>]]></content:encoded>
    </item>
    <item>
      <title>Delegates not receiving meeting requests on Exchange 2007</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/delegates-not-receiving-meeting-requests-on-exchange-2007</link>
      <pubDate>Tue, 28 Jul 2009 13:13:25 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2009/07/28/delegates-not-receiving-meeting-requests-on-exchange-2007/</guid>
      <description><![CDATA[I’ve run into this a few times now, and wanted to share more details on this issue.&#160; The...]]></description>
      <content:encoded><![CDATA[<p>I’ve run into this a few times now, and wanted to share more details on this issue.&#160; The scenario in which this occurs is perhaps not quite so common, but then again, depending on how you have folks with Delegates set up, it could have more of an impact on your organization.</p>  <p>In a scenario where there are multiple Exchange organizations (or multiple connected organizations, such as in a Notes –&gt; Exchange co-existance scenario), and the delegate of one person sends a meeting request to someone in the other organization who also happens to have a delegate, and the delegate is configured to receive the meeting requests, the meeting request may not be delivered to the delegate.</p>  <p>Let me see if I can simplify this with a diagram.</p>  <p>&#160;</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/benw/WindowsLiveWriter/DelegatesnotreceivingmeetingrequestsonEx_EFEE/delegate_4.jpg" original-url="http://blogs.technet.com/blogfiles/benw/WindowsLiveWriter/DelegatesnotreceivingmeetingrequestsonEx_EFEE/delegate_4.jpg"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="delegate" border="0" alt="delegate" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/benw/WindowsLiveWriter/DelegatesnotreceivingmeetingrequestsonEx_EFEE/delegate_thumb_1.jpg" original-url="http://blogs.technet.com/blogfiles/benw/WindowsLiveWriter/DelegatesnotreceivingmeetingrequestsonEx_EFEE/delegate_thumb_1.jpg" width="451" height="265" /></a> </p>  <p></p>  <p>This problem is seen because when a Delegate sends the meeting request, the Sent-By field is populated, and this field is what is used for the Sender address.&#160; Unfortunately, this field gets populated as “SMTP:mailto:user@organizationA.com.”.&#160; This is a problem because anything after the SMTP: is interpreted as the address, and when the mailto: is present, that is picked up as part of the address.&#160; Colons are invalid characters in an smtp address, however, so when the message is processed, an invalid sender exception is thrown, and the message does not get delivered to the Delegate.</p>  <p>Another side effect of this issue was that the “Messages queued for submission” performance counter would be incremented on the destination mailbox server, and if you have a monitoring solution in place (such as Microsoft Operations Manager, or System Center Operations Manager), alerts may be generated.&#160; More information about this can be found in <a href="http://support.microsoft.com/?id=953094">KB article 953094</a></p>  <p>The good news is that this was fixed in Rollup 7 for Exchange 2007 SP1 (and would thus be included in both Rollup 8 and 9 and beyond since Rollups are cumulative), so unless you are behind on your rollups, hopefully you won’t encounter this situation.&#160; It’s also worth noting that the fix (which works by simply stripping out the mailto: portion) needs to go on Hub Transport servers.&#160; So make sure that your Hub Transport servers are running Rollup 7 or higher!</p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange 2007 Sp1 Cluster Install/Recovery Issues</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/exchange-2007-sp1-cluster-installrecovery-issues</link>
      <pubDate>Thu, 19 Feb 2009 18:25:19 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2009/02/19/exchange-2007-sp1-cluster-installrecovery-issues/</guid>
      <description><![CDATA[One of the problems that I’ve seen customers encounter several times now when creating a new...]]></description>
      <content:encoded><![CDATA[<p>One of the problems that I’ve seen customers encounter several times now when creating a new Clustered Mailbox Server (CMS), or attempting to recover an existing CMS is a failure during setup when the Network name resource is brought online.&#160; The specific error that is seen is as follows:</p>  <blockquote>   <p><em>The computer account '&lt;Exchange Virtual Server Name&gt;' was created on the domain controller \\&lt;pdc emulator name&gt;, but has not replicated to the desired domain controller (&lt;local DC name&gt;) after waiting approximately 60 seconds. Please wait for the account to replicate and re-run setup /newcms.</em></p> </blockquote>  <p>Most (if not all) of you probably already know, but the Cluster portion of setup is completely separate from installing the Mailbox role.&#160; The Mailbox Role can be installed as part of the same instance of setup, but it will complete prior to the Clustered Mailbox Server portion of setup.&#160; The issue encountered above appears to be isolated to Exchange 2007 clusters that are running on Windows 2003 only.</p>  <p>The issue stems from how the Windows 2003 Cluster service works.&#160; When Exchange setup runs, it makes a call into the Cluster API to create the computer account for the Exchange CMS.&#160; It is important to note here that <u>Exchange</u> is not what is creating the computer account, rather the Cluster service is.&#160; At this point, what happens is that the Cluster service attempts to contact the PDC Emulator for the domain, and creates the computer account on that Domain Controller.&#160; If the PDC Emulator FSMO role happens to be in a different Active Directory Site than the Active Directory Site where you are installing the Exchange cluster, then there may be a delay in getting that computer account replicated to a local Domain Controller.&#160; This issue is also observed because Exchange setup will now use a Domain Controller in the local AD site rather than also automatically going to the PDC Emulator.&#160; This change was first made in Sp1 for Exchange 2007.&#160; So given the above, let’s consider the following chain of events.</p>  <p>1. Exchange setup calls in to Cluster API to create the computer account for the CMS.   <br />2. Cluster API contacts the DC holding the PDC Emulator role, and creates the computer account.    <br />3. Exchange setup contacts a DC in the local AD site and checks for the existence of the CMS computer account.</p>  <p>At this point, if either the computer account doesn’t exist, or if the computer account exists but is disabled on the local DC, then setup will fail with the above error.&#160; Re-enabling the computer account on the local DC will not fix this issue, as the computer account was created or reset on the PDC Emulator, and the account on the local DC no longer matches what is on the PDC Emulator.</p>  <p>Further complicating the issue is that when you re-run setup /newcms, the entire procedure appears to be repeated.&#160; If you watch in Cluster Administrator, you will see that the group that was created for the CMS, along with all resources inside the group, is deleted.&#160; Now at this point, the only resources that exist are the IP Address resource, and the Network Name resource.&#160; The CMS group will then be re-created, and the IP address resource, and Network Name resource will also be re-created.&#160; Re-creating the Network Name resource causes the computer account to be reset on the PDC Emulator, and causes it to be disabled on any other DC’s (that is my understanding here at least).&#160; So you’re right back to square one.</p>  <p>How do we get around this?&#160; Pre-staging the computer account on the PDC Emulator, and allowing that to replicate to the local DC does not work, because the pre-staged account will be deleted and re-created by the Cluster service during setup.&#160; I have thus found the following 2 workarounds that should allow setup to continue past this section.</p>  <p>1. Move the PDC Emulator role to a Domain Controller in the local AD Site.</p>  <p>Pros: Relatively easy to do, should not cause any additional issues with Active Directory.   <br />Cons: Requires a functional design change to Active Directory Infrastructure.&#160; May require approval of multiple teams.</p>  <p>2. Block the Cluster service from communicating with the PDC Emulator.</p>  <p>Pros: Works except in rare situations where the PDC Emulator is in a different AD site, but the same IP subnet.&#160; Fairly easy to implement.   <br />Cons: not “officially” supported/tested by the Exchange Product Group.</p>  <p>Let’s talk a little more about workaround 2.&#160; What does this involve?&#160; Actually, just a few minor changes.&#160; You need to modify the local Hosts file on the Exchange Server (located in C:\Windows\System32\Drivers\Etc – look for the file Hosts with no extension), and add the following entries to the bottom of the file.</p>  <p>127.0.0.1&#160;&#160;&#160; PDCEmulator.FQDN.com   <br />127.0.0.1&#160;&#160;&#160; PDCEmulatorNetBIOS</p>  <p>Save the Hosts file, the run ipconfig /flushdns, and nbtstat –R</p>  <p>Run setup again, and the operation should be successful.&#160; What’s the difference you ask?&#160; Well, if you prevent the Cluster service from communicating with the PDC Emulator, then it will fall back to using a local DC.&#160; When it creates the computer account on a local DC, intra-site replication is almost instantaneous, so Exchange is able to find the correct computer account on the DC that setup chooses, and is able to go on past this portion of setup.</p>  <p>As mentioned above, this issue can be encountered when setting up a new cluster (setup /newcms), or if you are recovering an existing cluster (setup /recoverCMS).&#160; The second scenario would be especially common if you are testing your DR procedures, and performing a failover/activation to an SCR Target.</p>  <p>This issue should not be present in Windows 2008, as the cluster service is smarter, and when the PDC Emulator is detected as being in a different site, the cluster service should automatically use a local DC for operations such as this.</p>]]></content:encoded>
    </item>
    <item>
      <title>Disabling LDAP Encryption and Signing for Netmon on an Exchange server</title>
      <link>https://docs.microsoft.com/archive/blogs/benw/disabling-ldap-encryption-and-signing-for-netmon-on-an-exchange-server</link>
      <pubDate>Mon, 15 Dec 2008 11:45:59 GMT</pubDate>
      <dc:creator><![CDATA[Ben Winzenz [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/benw/2008/12/15/disabling-ldap-encryption-and-signing-for-netmon-on-an-exchange-server/</guid>
      <description><![CDATA[It’s been a while since my last post, but I’ve been super busy.&#160; I wanted to post something...]]></description>
      <content:encoded><![CDATA[<p>It’s been a while since my last post, but I’ve been super busy.&#160; I wanted to post something that I often have to do with customers.</p>  <p>There may be times when in order to further troubleshoot a problem, you need to capture a Network Monitor trace.&#160; Netmon is very helpful in finding delays, and LDAP errors.&#160; However, there is one major hurdle.&#160; Virtually all LDAP traffic is signed and sealed, and encrypted.&#160; This unfortunately makes viewing the queries and responses impossible by default.&#160; You would see something similar to the following.</p>  <table cellspacing="0" cellpadding="2" width="400" border="0"><tbody>     <tr>       <td valign="top" width="200">Protocol Name</td>        <td valign="top" width="200">Description</td>     </tr>      <tr>       <td valign="top" width="200">LDAP</td>        <td valign="top" width="200">LDAP: GSS-API Encrypted Payload</td>     </tr>   </tbody></table>  <p>And that is all you will see.&#160; Of course, this makes troubleshooting much harder, because you can’t see what queries are being issued, or what the Domain Controller is responding with.&#160; Fortunately, there are ways to turn off LDAP encryption.&#160; I have gathered together the following list of things that need to be done in order to ensure that all forms of LDAP encryption are disabled.&#160; Some steps are only for Exchange 2003, and others are only for Exchange 2007.&#160; Where specific to a version, I have included which version it applies to.</p>  <p>Here are the steps to turn off LDAP encryption.&#160; There are a few different places we have to do this in order to catch everything.</p>  <p><u>These steps apply to both Exchange 2003 and Exchange 2007</u></p>  <p>1. Modify the Local Security Policy.&#160; </p>  <p>Under Computer Configuration, Windows Settings, Security Settings, Local Policies, Security Options.&#160; Find the policy setting “Network Security: LDAP client signing requirements”.&#160; Note that the default is set to “Negotiate signing”.&#160; On the Domain Controller side, it is actually set to None by default, but since the client requests to negotiate, it will always be signed if supported.&#160; Set this to None on the “client” (the Exchange server is the client in this case).&#160; You should also check the Default Domain Controller group policy, as if the LDAP signing policy is set to Negotiate, or Require, you will need to modify the Domain Controller policy as well.</p>  <p>   <br />2. Set the following registry key and value on the Exchange server.&#160; If the AdminDebug key is not present, add it.&#160; This registry value disables Encrypted LDAP Bind’s.&#160; Normally, once a Bind request is issued, all LDAP traffic sent after that will be encrypted.&#160; </p>  <blockquote>   <p>HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\AdminDebug</p>    <p>New DWORD value: ADsOpenObjectFlags</p>    <p>Data Value: 0x3</p> </blockquote>  <p>Per KB 325465, the following values correspond with the following actions.&#160; As you can see, by setting the value to 0x3, we disable both Signing and Encryption.</p>  <blockquote>   <p>Value Data (Hexadecimal)&#160; Disables&#160; <br />1&#160; Signing&#160; <br />2&#160; Encryption&#160; <br />3&#160; Encryption and Signing&#160; </p> </blockquote>  <p><u>This step is for Exchange 2007 only</u></p>  <p>3. Add the following registry key to disable LDAP encryption for the Exchange 2007 DSAccess process</p>  <blockquote>   <p>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchange ADAccess </p>    <p>New DWORD value: Disable LDAP Encryption </p>    <p>Data Value: 0x1</p> </blockquote>  <p><u>This step is for Exchange 2003 only</u></p>  <p>4. Per KB818479, to disable signing and encryption for traffic created by Exchange 2003 Admin tools, add the following value</p>  <blockquote>   <p>HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange</p>    <p>New DWORD value: DebugLDAP</p>    <p>Data Value: 0x1</p> </blockquote>  <p>Once you have set all of these options, you should be good to go.&#160; Get another Netmon trace, and you should now be able to view the contents of every LDAP frame.&#160; On rare occasions, you may need to reboot to get all of these settings to be correctly read.&#160; Also, don’t forget to undo any changes that are made once you are done.&#160; Signing and Encryption of LDAP traffic is a good thing to have in place for security reasons, so only leave this disabled as long as you need to.</p>]]></content:encoded>
    </item>
  </channel>
</rss>