<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>jmartin</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/tips_from_the_inside/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/tips_from_the_inside/feed.xml</link>
    <description>Tips from the inside</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:36:00 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>ActiveSync - Mapping a Collection ID to a Mailbox Folder</title>
      <link>https://docs.microsoft.com/archive/blogs/tips_from_the_inside/activesync-mapping-a-collection-id-to-a-mailbox-folder</link>
      <pubDate>Mon, 17 Jun 2013 05:24:00 GMT</pubDate>
      <dc:creator><![CDATA[The Jim Martin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tips_from_the_inside/2013/06/17/activesync-mapping-a-collection-id-to-a-mailbox-folder/</guid>
      <description><![CDATA[Whenever you troubleshoot an ActiveSync issue, the logs do not provide the actual folder name that...]]></description>
      <content:encoded><![CDATA[<p>Whenever you troubleshoot an ActiveSync issue, the logs do not provide the actual folder name that is being processed. Instead you will see CollectionID in the ActiveSync mailbox log and Fid in the IIS logs.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/0647.collectionid.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/0647.collectionid.PNG"><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/0647.collectionid.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/0647.collectionid.PNG" alt="" width="355" height="312" border="0" /></a>&nbsp;</p>
<table style="margin-right: auto; margin-left: auto;" border="0">
<tbody>
<tr>
<td><span style="font-family: courier new,courier;">DeviceType=WindowsMail&amp;Cmd=Ping&amp;Log=V141_HH:e15mbx1.contoso.local%3a444_SmtpAdrs:jmartin%40contoso.com_NMS1_Fc6_Fid:3_Fid:5_Fid:12_Fid:19_Fid:1_Fid:2</span></td>
</tr>
</tbody>
</table>
<p>In most cases you will not capture the initial FolderSync request that includes the response where these folders are added to the device. This FolderSync response will provide the name of the folder and corresponding CollectionId value.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/8831.FolderSYnc.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/8831.FolderSYnc.PNG"><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/8831.FolderSYnc.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/8831.FolderSYnc.PNG" alt="" width="439" height="210" border="0" /></a></p>
<p>So how do you determine which folder the device is attempting a request against&nbsp;if all you have is a numeric ID. The answer is using a tool like MfcMapi to open the mailbox and locate these hidden folders. The following steps show how to use MfcMapi to accomplish this task:</p>
<p>1.&nbsp;Open <a href="https://mfcmapi.codeplex.com/">MfcMapi</a><br />2.&nbsp;Go to the Session menu and Logon to the Outlook profile for the mailbox</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/0552.Step2.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/0552.Step2.PNG"><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/0552.Step2.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/0552.Step2.PNG" alt="" width="208" height="116" border="0" /></a><br />3.&nbsp;Double-click on the mailbox to open (should be the email address of the mailbox<br />4.&nbsp;Expand the Root Container and ExchangeSyncData</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/5228.Step4.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/5228.Step4.PNG"><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/5228.Step4.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/5228.Step4.PNG" alt="" width="329" height="200" border="0" /></a><br />5.&nbsp;Here you will find a list of associated ActiveSync devices for this mailbox. Expand the device experiencing the issue and you will see containers for each CollectionId<br />6.&nbsp;Select the CollectionId number you identified in the ActiveSync log (The CollectionID of 2 will be used in this example)&nbsp;and highlight the property 0x7C030102</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/6646.Step6.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/6646.Step6.PNG"><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/6646.Step6.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/6646.Step6.PNG" alt="" width="448" height="176" border="0" /></a><br />7.&nbsp;Go to the Property menu, select Selected property, and select Open as entry ID or object<br />8.&nbsp;Modify the selected value by removing the first and last&nbsp;bytes. <strong>Example</strong>: <strong><span style="background-color: #ffff00;">2E</span></strong>00000000757F911EB748EA45B7F28E4A640430C601006209883B90F0E246B480218E131EAA1E0000000000100000<span style="background-color: #ffff00;"><strong>03</strong></span></p>
<p><span style="background-color: #ffff00;"><strong><span style="background-color: #ffffff;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/2465.Step8.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/2465.Step8.PNG"><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/2465.Step8.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/2465.Step8.PNG" alt="" border="0" /></a></span></strong></span></p>
<p><span style="background-color: #ffffff;"><strong>&nbsp;</strong></span><br />9.&nbsp;The folder associated with the ID should open and in this example it is the Contacts folder&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4682.Step9.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4682.Step9.PNG"><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4682.Step9.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4682.Step9.PNG" alt="" width="187" height="49" border="0" /></a></p>
<p>&nbsp;</p>
<p>Now when you troubleshoot and ActiveSync issue can begin searching/parsing the logs for a specific CollectionID value which should improve your efficiency. It is also important to note that when you are parsing the IIS logs the request includes the type of folder being synchronized. Most mailboxes only have a single Calendar and Contacts folder which would allow you to use this type element to quickly determine the CollectionId/Fid value. Here is an example where Fid:2 is of type Contacts:</p>
<table style="margin-right: auto; margin-left: auto;" border="0">
<tbody>
<tr>
<td>
<p>Cmd=Sync&amp;DeviceId=203AF68169FE&amp;DeviceType=WP8&amp;Log=V141_HH:e15mbx1.contoso.local%3a444_SmtpAdrs:jmartin%40contoso.com_NMS1_Fc6_<span style="background-color: #00ff00;"><strong>Fid:2</strong></span>_<span style="background-color: #ffff00;"><strong>Ty:Co</strong></span>_Filt3_St:S_Sk:84349403</p>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><strong>Update 12/4/2013 - </strong>Glen wrote a Powershell script using the EWS API to retrieve this information for all devices associated with a mailbox. Check out his <a href="https://gsexdev.blogspot.it/2013/11/mapping-what-folders-are-in-use-in.html">blog</a> to download the script and get this information even quicker.</p>]]></content:encoded>
    </item>
    <item>
      <title>Autodiscover - E-mail address cannot be found</title>
      <link>https://docs.microsoft.com/archive/blogs/tips_from_the_inside/autodiscover-e-mail-address-cannot-be-found</link>
      <pubDate>Sun, 01 Apr 2012 13:12:00 GMT</pubDate>
      <dc:creator><![CDATA[The Jim Martin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tips_from_the_inside/2012/04/01/autodiscover-e-mail-address-cannot-be-found/</guid>
      <description><![CDATA[You may come across a user that cannot view free busy information when attemtping to schedule a...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family: verdana,geneva; font-size: small;">You may come across a user that cannot view free busy information when attemtping to schedule a meeting or they may get the following error when attempting to set their OOF message:</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/1616.OofError.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/1616.OofError.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/1616.OofError.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/1616.OofError.PNG" /></a></span></p>
<p><span style="font-family: verdana,geneva; font-size: small;">We know Outlook 2007 and later utilizes EWS to retrieve these settings and that Outlook requires Autodiscover to obtain the URL values for EWS. So with that knowledge the first step in troubleshooting this issue is to verify that Autodiscover works for this user. You can generate an Outlook Autodiscover log when you enable Outlook logging (File menu, Options, Advanced, Enable troubleshooting logginging).&nbsp;The resulting olkdisc log is located under the %Temp% directory. Open this file and you will find something similar to the following:</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><span style="color: #ffffff; background-color: #808080;"></span><span style="color: #ffffff; background-color: #808080;">4044 0x13713D85 04/04/12 08:25:56 +++++++++++++++++++++++++++++++<br />4044 0x13713D85 04/04/12 08:25:56 AUTODISCOVER GET SETTINGS BEGIN<br />4044 0x13713D85 04/04/12 08:25:56&nbsp;&nbsp; </span><span style="color: #000000;"><span style="background-color: #ffff00;"><a href="mailto:SMTP=fab@fabrikam.com"><span style="color: #000000; background-color: #ffff00;">SMTP=someone@fabrikam.com</span></a></span><br /></span><span style="color: #ffffff; background-color: #808080;">4044 0x13713DD4 04/04/12 08:25:57 Attempting URL </span><span style="color: #000000; background-color: #ffff00;"><a href="https://FABRIKAM-SRV.fabrikam.com/Autodiscover/Autodiscover.xml"><span style="color: #000000; background-color: #ffff00;">https://CAS1.fabrikam.com/Autodiscover/Autodiscover.xml</span></a> found</span><span style="color: #ffffff; background-color: #808080;"> through SCP<br />4044 0x13713DE3 04/04/12 08:25:57 Autodiscover to <a href="https://FABRIKAM-SRV.fabrikam.com/Autodiscover/Autodiscover.xml">https://CAS1.fabrikam.com/Autodiscover/Autodiscover.xml</a> starting<br />4044 0x13713E02 04/04/12 08:25:57 GetLastError=12175; httpStatus=0.<br />4044 0x13714304 04/04/12 08:25:58 GetLastError=0; httpStatus=401.<br />4044 0x13714304 04/04/12 08:25:58 AutoDiscover supported auth schemes:<br />4044 0x13714304 04/04/12 08:25:58&nbsp;&nbsp; Negotiate<br />4044 0x13714304 04/04/12 08:25:58&nbsp;&nbsp; NTLM<br />4044 0x13714304 04/04/12 08:25:58&nbsp;&nbsp; Basic<br />4044 0x13714304 04/04/12 08:25:58 AutoDiscover attempting Auto-Negotiate with Desktop Credentials.<br />4044 0x13714304 04/04/12 08:25:58 AutoDiscover USING pcreds-&gt;dwAuthScheme:<br />4044 0x13714313 04/04/12 08:25:58&nbsp;&nbsp; Negotiate<br />4044 0x13714333 04/04/12 08:25:58 GetLastError=0; httpStatus=200.<br />4044 0x13714342 04/04/12 08:25:58 Autodiscover XML Received<br />4044&nbsp; ---BEGIN XML---<br />&lt;?xml version="1.0" encoding="utf-8"?&gt;<br />&lt;Autodiscover xmlns="<a href="https://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">https://schemas.microsoft.com/exchange/autodiscover/responseschema/2006</a>"&gt;<br />&nbsp; &lt;Response&gt;<br />&nbsp;&nbsp;&nbsp; &lt;Error Time="08:26:00.0807880" Id="423565919"&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ErrorCode&gt;500&lt;/ErrorCode&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Message&gt;<span style="color: #000000; background-color: #ffff00;">The e-mail address cannot be found</span>.&lt;/Message&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DebugData /&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/Error&gt;<br />&nbsp; &lt;/Response&gt;<br />&lt;/Autodiscover&gt;<br />4044&nbsp; ----END XML----<br />4044 0x13714352 04/04/12 08:25:58 Autodiscover to <a href="https://FABRIKAM-SRV.fabrikam.com/Autodiscover/Autodiscover.xml">https://FABRIKAM-SRV.fabrikam.com/Autodiscover/Autodiscover.xml</a> Failed (0x800C8203)</span></span></p>
<p><span style="font-family: verdana,geneva; font-size: small;">Here we can see the email address sent within the request, the URL used by the client and the error returned by the CAS. In this example the error was "The e-mail address cannot be found." We can see earlier in the log the SMTP address used in the Autodiscover request and query Active Directory for the e-mail address. You may also want to know where Outlook pulled that e-mail address for the request. Let's first look at how the Outlook profile is first created and then everything will come together.</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;">Autodiscover is a feature that was introduced in Exchange 2007 to automatically create Outlook profiles and retrieve mailbox settings. When you create a new Outlook profile it starts with the Auto Account Setup tab that displays your email address.</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/0724.Wizard.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/0724.Wizard.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/0724.Wizard.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/350x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/0724.Wizard.PNG" /></a></span></p>
<p><span style="font-family: verdana,geneva; font-size: small;">Where does the wizard get this information?&nbsp;Capture a network trace from the client while running the wizard and add a filter for Tcp.Port==389.&nbsp;Within the results&nbsp;you will find a frame similar to the following where you will find the proxyAddresses listed. The wizard pulls the primary SMTP address from the LDAP query and populates it with this value.</span></p>
<p><span style="color: #ffffff; font-family: verdana,geneva; font-size: small; background-color: #c0c0c0;"><span style="background-color: #808080;">&nbsp;FCN=Fabrikam User,OU=2007,OU=Exchange,OU=Enterprise,DC=fabrikam,DC=com0?..2?0?...&lt;..objectClass1?...)..top..person..organizationalPerson..user0?......cn1?......Fabrikam User0?......sn1?......User0?......givenName1?......Fabrikam0?...a..distinguishedName1?...H.FCN=Fabrikam User,OU=2007,OU=Exchange,OU=Enterprise,DC=fabrikam,DC=com0?......instanceType1?......40?...&amp;..whenCreated1?......20110806105919.0Z0?...&amp;..whenChanged1?......20120401180659.0Z0?......displayName1?......Fabrikam User0?......uSNCreated1?......206930?...J..memberOf1?...:.8CN=Group1,OU=Users,OU=Enterprise,DC=fabrikam,DC=com0?......uSNChanged1?......3977280?......proxyAddresses1?...&yacute;..</span><span style="color: #000000; background-color: #ffff00;">SMTP:fabrikam@fabrikam.com</span>.<span style="background-color: #808080;">$smtp:user@service.fabrikam.com.?...?x500:/o=ExchangeLabs/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=fabrikam.onmicrosoft.com-55785-FabrikamUser6.1X400:c=US;a= ;p=EXCHORG;o=Exchange;s=User;g=Fabrikam;0?......name1?......Fabrikam User0?...$..objectGUID1?......&Ecirc;&para;&auml;&Yacute;L&cent;0L?&times;h&Ouml;&Yacute;Uc0?...!..userAccountControl1?......660480?......codePage1?......00?......countryCode1?......00?...%..lastLogon1?......1297777722202151170?...&amp;..pwdLastSet1?......1295710195946748000?......primaryGroupID1?......5130?.../..objectSid1?...................&Ouml;&Oslash;&otilde;&Ccedil;&lt;&eacute;&acirc;].X...0?...+..accountExpires1?......92233720368547758070?......logonCount1?......440?......sAMAccountName1?......user0?...!..sAMAccountType1?......8053063680?...b..showInAddressBoo</span></span></p>
<p><span style="color: #000000; font-family: verdana,geneva; font-size: small; background-color: #ffffff;">Now that we have the SMTP address for the user we can send the Autodiscover request. The client will attempt to locate the Autodiscover URL via the service connection point (SCP) and if that fails&nbsp;it will attempt to use the&nbsp;DNS, HTTP redirect, or SRV record methods. The Autodiscover request will include the primary SMTP address and look similar to the following:</span></p>
<p><span style="color: #ffffff; font-family: verdana,geneva; font-size: small; background-color: #808080;">&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;Autodiscover xmlns="https://schemas.microsoft.com/exchange/autodiscover/outlook/requestschema/2006"&gt;&lt;Request&gt;&lt;EMailAddress&gt;<span style="color: #000000; background-color: #ffff00;">fabrikam</span><span style="color: #000000; background-color: #ffff00;">@fabrikam.com</span>&lt;/EMailAddress&gt;&lt;AcceptableResponseSchema&gt;https://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a&lt;/AcceptableResponseSchema&gt;&lt;/Request&gt;&lt;/Autodiscover&gt;</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;">What about after the profile is created? Whenever&nbsp;Outlook is launched an Autodiscover&nbsp;request is sent to Exchange to retrieve mailbox settings, and once these settings are retrieved it uses the OOF URL to retrieve&nbsp;the mailbox OOF settings (<span style="line-height: 115%; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;" lang="EN">and<br />notifies client when it is enabled</span>).&nbsp;Where&nbsp;does the Outlook client obtain the SMTP address for these requests?&nbsp;The primary SMTP address is stored within the Outlook profile settings&nbsp;within the registry under the HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\&lt;YourProfileName&gt;. You need to search underneath this key for 001f6641. Opening this value you will see the primary&nbsp;SMTP address of the user in the syntax SMTP:someone@fabrikam.com.</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4428.registry.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4428.registry.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4428.registry.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4428.registry.PNG" /></a></span></p>
<p><span style="font-family: verdana,geneva; font-size: small;">You can also locate this value by viewing the profile settings with MfcMapi. You can download&nbsp;MfcMapi <a href="https://mfcmapi.codeplex.com/" target="_blank">here</a>. The following steps can be used to locate this profile setting using MfcMapi:</span></p>
<table border="0">
<tbody>
<tr>
<td><span style="font-family: verdana,geneva; font-size: small;">1. Launch MfcMapi</span></td>
</tr>
<tr>
<td>
<p><span style="font-family: verdana,geneva; font-size: small;">2. Go to the Profile menu and select Show Profiles</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/6622.profileMenu.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/6622.profileMenu.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/6622.profileMenu.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/6622.profileMenu.PNG" /></a></span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family: verdana,geneva; font-size: small;">3. Double-click on the profile you want to view or modify</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/8750.profiles.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/8750.profiles.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/8750.profiles.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/8750.profiles.PNG" /></a></span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family: verdana,geneva; font-size: small;">4. Double-click on the service with the display name value Microsoft Exchange</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4760.service.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4760.service.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4760.service.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4760.service.PNG" /></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/5050.service.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/5050.service.PNG"></a></span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family: verdana,geneva; font-size: small;">5. Select the provider with the e-mail address of the user and no provider display name</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/7608.providers.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/7608.providers.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/7608.providers.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/7608.providers.PNG" /></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4745.providers.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4745.providers.PNG"></a></span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family: verdana,geneva; font-size: small;">6. Locate the property name 0x6641001F to view the primary SMTP address used by Autodiscover</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4341.property.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4341.property.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/4341.property.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/4341.property.PNG" /></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/8422.property.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/8422.property.PNG"></a></span></p>
</td>
</tr>
<tr>
<td>
<p><span style="font-family: verdana,geneva; font-size: small;">7. Double-click 0x6641001F to modify the value</span></p>
<p><span style="font-family: verdana,geneva; font-size: small;"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/8461.modify.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/8461.modify.PNG"><img style="border: 0px currentColor;" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/8461.modify.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/350x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/8461.modify.PNG" width="350" height="419" /></a><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/2117.modify.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/2117.modify.PNG"></a></span></p>
</td>
</tr>
</tbody>
</table>
<p>In this example we can see that when the profile was created the primary SMTP address was <a href="mailto:fabrikam@fabrikam.com">fabrikam@fabrikam.com</a>, but in the Autodiscover log the request was for <a href="mailto:someone@fabrikam.com">someone@fabrikam.com</a>. Then we checked the profile setting using MfcMapi and sure enough the value was <a href="mailto:someone@fabrikam.com">someone@fabrikam.com</a>. Outlook refreshes certain profile settings every 24 hours. Here the primary SMTP address for this user was modified and the original SMTP address was removed. Then when the Autodiscover request was sent to the CAS server the LDAP query for that e-mail address failed. Typically when an SMTP address is modified the original address is not removed and this issue will resolve itself within a day. You can also use MfcMapi to modify this value for immediate relief.</p>]]></content:encoded>
    </item>
    <item>
      <title>Exchange 2010 - High CPU utilization for the RpcClientAccess service</title>
      <link>https://docs.microsoft.com/archive/blogs/tips_from_the_inside/exchange-2010-high-cpu-utilization-for-the-rpcclientaccess-service</link>
      <pubDate>Wed, 22 Feb 2012 17:38:00 GMT</pubDate>
      <dc:creator><![CDATA[The Jim Martin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tips_from_the_inside/2012/02/22/exchange-2010-high-cpu-utilization-for-the-rpcclientaccess-service/</guid>
      <description><![CDATA[Within the past couple of weeks I have witnessed multiple instances where the RpcClientAccess...]]></description>
      <content:encoded><![CDATA[<p>Within the past couple of weeks I have witnessed multiple instances where the RpcClientAccess service is experiencing high CPU utilization on the CAS server and in some instances also on a&nbsp;public folder server. I captured performance data from these systems to get a better picture of what is happening on the server. The analysis of this data does not show any unusual activity other than this process utilizing more CPU than normal. This tells me that the process itself must be doing something that is causing these extra cycles.</p>
<p>To determine what is happening within the RPC Client Access service we need to review the Rpc Client Access logs on the server. While parsing thru this log file I found&nbsp;a high volume of PublicLogon requests coming into this CAS server for a public folder database. These logon attempts are typical behavior as the CAS server will then redirect these requests to the mailbox server hosting the database. But taking a closer look at these requests and&nbsp;I see the database is last mounted on the expected mailbox server, however the client is being redirected to another server. (If you only have one public folder database you will simply see a high volume of requests coming into you CAS server and the CPU will most likely spike to near 100 percent). The log entry looks like the following:</p>
<p><em>2012-02-15T14:00:51.707Z,6,1,/o=EXCHORG/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=Exchange User,,MFCMapi.exe,14.0.6109.5000,Classic,,,ncacn_http,,<span style="background-color:#00ff00;">PublicLogon</span>,1144 (rop::WrongServer),00:00:00.0621272,&quot;Logon: Public,&nbsp; in database c83d21d5-7228-455e-978d-81d6649863a1 <span style="background-color:#ffff00;">last mounted on MBX1.contoso.com</span> at 1/28/2012 8:01:35 PM, currently Mounted; Redirected: <span style="background-color:#00ccff;">alternate server</span> <span style="background-color:#00ccff;">requested</span>, suggested new server<span style="background-color:#ffcc00;">: /o=EXCHORG/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=MBX2</span>&quot;,RopHandler: Logon:</em></p>
<p>This issue is caused because the RpcClientAccess service on the mailbox server hosting the public folder database is not responding to client connections. If we take a look at the RPC Client Access logs on this server we should see minimal activity. This is a known issue that is documented in <a href="https://support.microsoft.com/kb/2535105" target="_blank">KB 2535105</a>&nbsp;(Outlook client applications cannot connect to public folders after you install Exchange Server 2010 SP1). The RPC Client Access service acts as a proxy for public folder availability requests and these requests are not completed. Eventually new connections for these EWS calls cannot be made because the connection group limit is reached. The KB article provides a registry key that is available starting with SP1 RU4 that disables these available service calls by the RPC Client Access service.</p>
<p>A .NET hotfix that resolves the underlying issue has been released since the posting of the Exchange KB, <a href="https://support.microsoft.com/kb/2497453" target="_blank">KB2497453</a> (FIX: Application may stop responding after several HTTP requests are aborted if you use the HttpWebRequest class to send requests in the .NET Framework). Install this hotfix on the mailbox server hosting the public folder database and reboot the mailbox server. Once this server is back online we need to restart the Rpc Client Access service on the CAS server to clear the cache. Then when we review the Rpc Client Access logs on the CAS server we should see clients being redirected to the server where the public folder database is mounted.</p>]]></content:encoded>
    </item>
    <item>
      <title>Autodiscover fails for one or more users</title>
      <link>https://docs.microsoft.com/archive/blogs/tips_from_the_inside/autodiscover-fails-for-one-or-more-users</link>
      <pubDate>Wed, 11 Jan 2012 04:49:33 GMT</pubDate>
      <dc:creator><![CDATA[The Jim Martin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tips_from_the_inside/2012/01/11/autodiscover-fails-for-one-or-more-users/</guid>
      <description><![CDATA[Recently I have come across an issue where a few users are not able to use Outlook 2007to view...]]></description>
      <content:encoded><![CDATA[<p>Recently I have come across an issue where a few users are not able to use Outlook 2007<br />to view free/busy information or set automatic replies. The Test E-mail AutoConfiguration<br />tool fails to retrieve the settings for this user with the following error: <em>Autodiscover<br />to </em><a href="https://XXX.XXX.XXX/autodiscover/autodiscover.xml"><i>https://cas.contoso.com/autodiscover/autodiscover.xml</i></a><em> FAILED<br />(0x800C8203)</em>. Users with mailboxes on the same mailbox database have no issues<br />with Autodiscover and can use the Exchange Web Services. In fact, another user<br />can login to the same workstation and have no issues while this user can go to<br />another workstation and still have problems. This led me to believe that the<br />issue was related to the user account and not the Exchange configuration. I<br />decided to begin troubleshooting by running a web debugging tool on the client which<br />allows me to capture the HTTP traffic generated by Outlook. I found the following<br />Autodiscover response within this trace:</p>
<p><span style="color: #ff0000; background-color: #c0c0c0;"><em>&lt;ErrorCode&gt;603&lt;/ErrorCode&gt;</em></span><br /><span style="color: #ff0000; background-color: #c0c0c0;"><em>&lt;Message&gt;The Active Directory user wasn't found.&lt;/Message&gt;</em></span><br /><span style="color: #ff0000; background-color: #c0c0c0;"><em>&lt;DebugData /&gt;</em></span><br /><span style="color: #ff0000; background-color: #c0c0c0;"><em>&lt;/Error&gt;</em></span><br /><span style="color: #ff0000; background-color: #c0c0c0;"><em>&lt;/Response&gt;</em></span><br /><span style="color: #ff0000; background-color: #c0c0c0;"><em>&lt;/Autodiscover&gt;</em></span></p>
<p>At first I was confused since this user has no issues with login or mailbox access<br />using either Outlook or Outlook Web App. Then I realized that Exchange 2010 SP1<br />introduced a new feature called Automapping where Outlook will automatically<br />add mailboxes to your Outlook profile where an administrator has granted full<br />access. (See the following article for more details <a href="https://technet.microsoft.com/en-us/library/ff459252.aspx">https://technet.microsoft.com/en-us/library/ff459252.aspx</a>)</p>
<p>How do we know that this new feature is causing our issue? Well let&rsquo;s look at how<br />this AutoMap feature works and see if we can answer that question.</p>
<p>The AutoMap feature starts when an administrator grants a user full access to<br />another mailbox using either the Exchange Management Console (EMC) or Exchange<br />Management Shell (EMS). While the permissions are being applied against the<br />object, the delegate user object is also added to the msExchDelegateListLink<br />attribute for the owner mailbox. The delegate&rsquo;s user object also has an Active<br />Directory attribute modified. The msExchDelegateListBL is updated to include<br />the new mailbox owner&rsquo;s user object DN. Now that the user has been granted<br />access to the mailbox we will look at what happens on the client side.</p>
<p>An Autodiscover request is always initiated when the Outlook client is launched to<br />determine the mailbox settings for the user. This Autodiscover request queries<br />Active Directory and retrieves the msExchDelegateListBL for the user as part of<br />the process. These results are then included in the Autodiscover response XML<br />as an alternative mailbox. The following is an example taken from a working<br />client:</p>
<p><span style="color: #0000ff; background-color: #c0c0c0;"><em>&lt;AlternativeMailbox&gt;</em></span><br /><span style="color: #0000ff; background-color: #c0c0c0;"><em>&lt;Type&gt;Delegate&lt;/Type&gt;</em></span><br /><span style="color: #0000ff; background-color: #c0c0c0;"><em>&lt;DisplayName&gt;Jim Martin&lt;/DisplayName&gt;</em></span><br /><span style="color: #0000ff; background-color: #c0c0c0;"><em>&lt;LegacyDN&gt;/o=ExchOrg/ou=Exchange Administrative Group<br />(FYDIBOHF23SPDLT)/cn=Recipients/cn=Jim Martin7a7&lt;/LegacyDN&gt;</em></span><br /><span style="color: #0000ff; background-color: #c0c0c0;"><em>&lt;Server&gt;mail.contoso.com&lt;/Server&gt;</em></span><br /><span style="color: #0000ff; background-color: #c0c0c0;"><em>&lt;/AlternativeMailbox&gt;</em></span></p>
<p>Take a look at the response and you will notice the Type tag is populated with<br />Delegate. This is how we know the mailbox was pulled from the<br />msExchDelegateListBL. The other value you may see here is Archive which<br />obviously is the archive mailbox for the user. The other tags we are interested<br />in are the LegacyDN and Server tags. These two tell us the location and name of<br />the mailbox which we need to connect.</p>
<p>What do you think happens when Active Directory returns this msExchDelegateListBL<br />and there is a user object within the list that no longer has a mailbox? If you<br />answered Autodiscover returns a 603 error, then you are correct. Once this list<br />is retrieved, the server and legacyExchangeDN for the mailboxes must be<br />retrieved. These attributes are no longer present on a user object after the<br />mailbox has been removed. Therefore Active Directory cannot find the mailbox<br />and returns the user not found error.</p>
<p>So how do identify these mailboxes? Windows 2008 R2 includes the Active Directory<br />Module for Windows Powershell which you can use to read the<br />msExchDelegateListBL attribute. You can run the following commands from the<br />Exchange Management Shell:</p>
<p><span style="color: #0000ff; background-color: #c0c0c0;"><code><i>Import-Module ActiveDirectory</i></code><i><br /><code>Get-ADUser &lt;username&gt; -Properties msExchDelegateListBL</code></i></span></p>
<p>The result will look similar to 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/91/40/7215.blog-1.PNG" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/7215.blog_2D00_1.PNG"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/91/40/7215.blog-1.PNG" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-91-40/7215.blog_2D00_1.PNG" /></a></p>
<p>As you can see from the results this user has been granted full access to my<br />mailbox. Since this is the only mailbox listed in the backlink there must be an<br />issue with this mailbox. You can run the Get-Mailbox cmdlet against the names<br />in this attribute when there are multiple to determine which is missing.</p>
<p>Now that we have identified the missing mailbox causing our issue we need to remove<br />it from this backlink. A backlink attribute is read-only so we cannot modify it<br />directly on this user object. Instead we must modify the msExchDelegateListLink<br />for the object identified within the backlink or the original mailbox owner. We<br />can do this from the same Powershell session using the following (we can use<br />the clear switch since the mailbox no longer exists and this will resolve the<br />issue for all users that were granted permissions):</p>
<p><span style="color: #0000ff; background-color: #c0c0c0;"><code><i>Set-ADUser &lt;user&gt; -Clear msExchDelegateListLink</i></code></span></p>
<p>Once Active Directory replication completes in your environment you can run the<br />previous Get-ADUser cmdlet again to verify that the name has been removed from<br />the msExchDelegateListBL. Then at this point Autodiscover should be successful<br />for our user account and our automatic replies and free/busy information<br />visible.</p>
<p>You can also run a query to determine which users have this msExchDelegateListBL<br />attribute populated with a missing mailbox by running the following:</p>
<p><span style="color: #0000ff; background-color: #c0c0c0;"><code><i>Get-ADUser -Properties msExchDelegateListBL -LDAPFilter "(msExchDelegateListBL=*)" | ForEach-Object { Write-Host $_.Name -ForegroundColor Green; ForEach ($m in $_.msExchDelegateListBL) { Get-Mailbox $m } }</i></code></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Set Outlook Folder Permissions using Powershell</title>
      <link>https://docs.microsoft.com/archive/blogs/tips_from_the_inside/set-outlook-folder-permissions-using-powershell</link>
      <pubDate>Thu, 03 Nov 2011 07:49:00 GMT</pubDate>
      <dc:creator><![CDATA[The Jim Martin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tips_from_the_inside/2011/11/03/set-outlook-folder-permissions-using-powershell/</guid>
      <description><![CDATA[When I was an Exchange Administrator, I&nbsp;was asked numerous times to "grant this person access...]]></description>
      <content:encoded><![CDATA[<p>When I was an Exchange Administrator, I&nbsp;was asked numerous times to "grant this person access to my folder and all of its subfolders". Prior to Exchange 2010 there was no simple way to assign MAPI permissions to all of these Outlook folders. Exchange 2010 has added the Add-MailboxFolderPermission cmdlet which allows an administrator to now complete this task from the Exchange Management Shell.</p>
<p>You may also notice that Exchange 2010 provided another cmdlet, Get-MailboxFolder. When I saw this I thought "Wow! I can run the Get-MailboxFolder and pipe the Add-MailboxFolderPermission and I'm done." Did you really think it would be that easy? The Get-MailboxFolder cmdlet only runs against the currently logged in user. Yes, you can't run this cmdlet against another mailbox. Take a look at the management role where this cmdlet is available.</p>
<pre class="scroll"><code class="html">Get-ManagementRole -Cmdlet Get-MailboxFolder</code></pre>
<p>Okay. Then how can we use the Add-MailboxFolderPermission to run against a root folder and all of its subfolders? Looking at all the parameters available for the cmdlet there is no recurse (wouldn't that be nice). I was able to accomplish this task in two steps:</p>
<p>1. Get a list of folders from the mailbox<br />2. Add the permission to the folder</p>
<p>The first thing we need to obtain is the list of folders that we will apply permissions. We can utilize the Get-MailboxFolderStatistics cmdlet for this purpose. The result we want is the FolderPath value that is returned in the format "/Folderpath".</p>
<pre class="scroll"><code class="cplusplus">Get-MailboxFolderStatistics owner | Where { $_.FolderPath.Contains("FolderName") -eq $true }<br /> </code></pre>
<p>Then we can use the Add-MailboxFolderPermission cmdlet to assign the permissions. The format for the folder name is "Mailbox:FolderPath" so we will need to modify the result from earlier to accomodate the expected value. The following example illustrates the example where Jane's manager John wants her to access his Clients folder and all of its subfolders.</p>
<pre class="scroll"><code class="cplusplus">ForEach($f in (Get-MailboxFolderStatistics John | Where { $_.FolderPath.Contains("/Clients") -eq $True } ) ) {<br /> $fname = "John:" + $f.FolderPath.Replace("/","\");<br /> Add-MailboxFolderPermission $fname -User Jane -AccessRights Reviewer }<br /> </code></pre>
<p>Conclusion<br />This is only an example of how you can accomplish this task. Use this with caution and always test prior to running against a production mailbox. The one known issue is the possible results when using the Get-MailboxFolderStatistics cmdlet. You need to adjust your where clause appropriately so that you don't get unwanted results</p>]]></content:encoded>
    </item>
    <item>
      <title>NDR message caused by delegate</title>
      <link>https://docs.microsoft.com/archive/blogs/tips_from_the_inside/ndr-message-caused-by-delegate</link>
      <pubDate>Thu, 03 Nov 2011 07:33:00 GMT</pubDate>
      <dc:creator><![CDATA[The Jim Martin - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/tips_from_the_inside/2011/11/03/ndr-message-caused-by-delegate/</guid>
      <description><![CDATA[One question that comes up often is "Why did I get this undeliverable message (NDR) when I send a...]]></description>
      <content:encoded><![CDATA[<p>One question that comes up often is "Why did I get this undeliverable message (NDR) when I send a meeting request to this user?" Even better than the question is tracking down the answer. I always like to script common tasks like this&nbsp;so I&nbsp;wrote the following PowerShell script. This script requires&nbsp;a copy of the NDR message.</p>
<p>$start = Read-Host "Enter the start time"<br />$subject = Read-Host "Enter the message subject"<br />$hub = Read-Host "Enter the transport server"<br />$mbx = Read-Host "Enter the mailbox server"<br />$mid = Read-Host "Enter the message ID"</p>
<p>$start = [datetime]$start<br />$end = $start.AddMinutes(10)</p>
<p>$messages = Get-MessageTrackingLog -Server $mbx -Start $start -End $end -MessageSubject $subject -MessageId $mid -ResultSize unlimited | Where { $_.SourceContext.Contains("MessageClass:IPM.Schedule.Meeting.Request") -eq $True -And $_.Server.Hostname -ieq $hub }<br />foreach($m in $messages)<br />{ $startChar = $m.SourceContext.IndexOf("Mailbox:") + 8;<br />$mbx = $m.SourceContext.Substring($startChar,36);<br />Get-Mailbox $mbx }</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>