<?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>Exchange and the Happy Little Cloud</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/exchange_and_the_little_happy_cloud/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/exchange_and_the_little_happy_cloud/feed.xml</link>
    <description>Exchange, O365, and Everything in Between</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:07:16 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>O365 License Assignments and Granular Service Enablement</title>
      <link>https://docs.microsoft.com/archive/blogs/exchange_and_the_little_happy_cloud/o365-license-assignments-and-granular-service-enablement</link>
      <pubDate>Wed, 18 Dec 2013 13:30:00 GMT</pubDate>
      <dc:creator><![CDATA[William Sluss]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/exchange_and_the_little_happy_cloud/2013/12/18/o365-license-assignments-and-granular-service-enablement/</guid>
      <description><![CDATA[Overview
Hi Everyone. I wanted to share some information on O365 licensing. I recently was working...]]></description>
      <content:encoded><![CDATA[<h1><span style="color:#2e74b5;font-family:Calibri Light;font-size:large;">Overview</span></h1>
<p><span style="font-family:Calibri;font-size:medium;">Hi Everyone. I wanted to share some information on O365 licensing. I recently was working on a project where bulk licensing changes were needed, and the requirements included setting licenses in a granular fashion, to included/exclude certain services, instead of just setting the full License. As a result, I compiled some of the links, syntax, and approach I used which was the most effective method for me to understand and accomplish this task.</span></p>
<h1><span style="color:#2e74b5;font-family:Calibri Light;">&nbsp;</span><span style="color:#2e74b5;font-family:Calibri Light;font-size:large;">Understanding</span></h1>
<p><span style="font-family:Calibri;font-size:medium;">First we need to understand licensing a bit. &nbsp;Anyone working in the O365 space understands licensing to a certain extent. As the planning discussions progress, organizations must determine which Licenses to purchase for their end users. Each license level (AccountSkuID) comes with a set of functionality, and license levels can be mixed among the user population based on the organizational requirements. The 2 links link below describes the various licensing levels, and provides an overview of the associated functionality with those licenses.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Plans for Business:</span></p>
<p><a href="https://office.microsoft.com/en-us/business/compare-office-365-for-business-plans-FX102918419.aspx"><span style="color:#0563c1;font-family:Calibri;font-size:medium;">https://office.microsoft.com/en-us/business/compare-office-365-for-business-plans-FX102918419.aspx</span></a><span style="font-family:Calibri;font-size:medium;"> </span></p>
<p><span style="font-family:Calibri;font-size:medium;">Kiosk Plans:</span></p>
<p><a href="https://office.microsoft.com/en-us/business/compare-office-365-kiosk-plans-FX103178917.aspx"><span style="color:#0563c1;font-family:Calibri;font-size:medium;">https://office.microsoft.com/en-us/business/compare-office-365-kiosk-plans-FX103178917.aspx</span></a><span style="font-family:Calibri;font-size:medium;"> </span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">That&rsquo;s all great, but in my case we wanted to assign these licenses and enabled each service for the end user, as needed. We wanted Lync enabled for some users, Exchange for others, Sharepoint for others, and several combinations thereof. </span></p>
<p><span style="font-family:Calibri;font-size:medium;">So how exactly do we do that, on a scale where the tenant contains thousands of users? Opening each user account and assigning the license through the portal isn&rsquo;t an option. Let&rsquo;s explore the real solution.</span></p>
<h1><span style="color:#2e74b5;font-family:Calibri Light;">&nbsp;</span><span style="color:#2e74b5;font-family:Calibri Light;font-size:large;">Application</span></h1>
<p><span style="font-family:Calibri;font-size:medium;">We had thousands of users, with various license plans and services already enabled. Before we could decide what needed to be set, we wanted to first understand what is set for the existing user population. Instead of reinventing the wheel here, I used a script which works pretty well. Linked below.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Overview:</span></p>
<p><a href="/b/heyscriptingguy/archive/2012/09/02/weekend-scripter-use-powershell-to-manage-office-365.aspx"><span style="color:#0563c1;font-family:Calibri;font-size:medium;">https://blogs.technet.com/b/heyscriptingguy/archive/2012/09/02/weekend-scripter-use-powershell-to-manage-office-365.aspx</span></a><span style="font-family:Calibri;font-size:medium;"> </span></p>
<p><span style="font-family:Calibri;font-size:medium;">Download:</span></p>
<p><a href="https://gallery.technet.microsoft.com/scriptcenter/Export-a-Licence-b200ca2a"><span style="color:#0563c1;font-family:Calibri;font-size:medium;">https://gallery.technet.microsoft.com/scriptcenter/Export-a-Licence-b200ca2a</span></a><span style="font-family:Calibri;font-size:medium;"> </span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">We ran the script, got the export, cleaned it up a bit, and then we had to do some analysis. This export however acted as the source of record for what we are setting in O365. Essentially we carved up the export into different spreadsheets, requiring one spreadsheet for each licensing configuration we wanted to assign. </span></p>
<p><span style="font-family:Calibri;font-size:medium;">Each spreadsheet will contain the UPN, License Type (AccountSkuID), and which services need to be enabled/disabled from the licenses. Again, we create a separate spreadsheets for each variation in licensing, as each licensing script will be specific to the variations we are separating out.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Once we start looking at how we are going to set licenses, and specifically at the way the cmdlet is used to configure granular license assignments, it will become clear why we break these up into separate spreadsheets. So let&rsquo;s take a look at the syntax to execute these bulk assignments:</span></p>
<h1><span style="color:#2e74b5;font-family:Calibri Light;">&nbsp;</span><span style="color:#2e74b5;font-family:Calibri Light;font-size:large;">Scripting the Solution</span></h1>
<p><span style="font-family:Calibri;font-size:medium;">If we want to apply the licenses to users, and enable all services with that license assignment, its pretty straight forward. Create/Modify our spreadsheet with a list of UPNs, save it in the c:\temp directory, and run the script below. </span></p>
<p><span style="font-family:Calibri;font-size:medium;">The tenant domain name referenced is the domain name associated with the tenant (tenant_domain_name.onmicroscoft.com), not the federated or shared domain name from the on premise organization.</span></p>
<p><strong><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></strong></p>
<p><strong><span style="font-family:Calibri;font-size:medium;">E1 Full License:</span></strong></p>
<p>#Bulk E1 License Assignment with no Services disabled</p>
<p>$AccountSkuId = &quot;&lt;tenant_domain_name&gt;:STANDARDPACK&quot;</p>
<p>$UsageLocation = &quot;US&quot;</p>
<p>$LicenseOptions = New-MsolLicenseOptions -AccountSkuId $AccountSkuId</p>
<p>$Users = Import-Csv c:\temp\Users.csv</p>
<p>$Users | ForEach-Object {</p>
<p>Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation $UsageLocation</p>
<p>Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LicenseOptions</p>
<p>}</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><strong><span style="font-family:Calibri;font-size:medium;">E3 Full License:</span></strong></p>
<p>#Bulk E3 License Assignment with no Services disabled</p>
<p>$AccountSkuId = &quot;&lt;tenant_domain_name&gt;:ENTERPRISEPACK&quot;</p>
<p>$UsageLocation = &quot;US&quot;</p>
<p>$LicenseOptions = New-MsolLicenseOptions -AccountSkuId $AccountSkuId</p>
<p>$Users = Import-Csv c:\temp\Users.csv</p>
<p>$Users | ForEach-Object {</p>
<p>Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation $UsageLocation</p>
<p>Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LicenseOptions</p>
<p>}</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Each AccountSkuID has a corresponding value needed for this portion of the script. The options from the scripts above are:</span></p>
<ul>
<li>
<p>STANDARDPACK = E1 License</p>
</li>
<li>
<p>ENTERPRISEPACK = E3 License</p>
</li>
</ul>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><strong><span style="font-family:Calibri;font-size:large;"><span style="color:#2e74b5;font-family:Calibri Light;">Granular Service Enablement</span></span></strong></p>
<p><span style="font-family:Calibri;font-size:medium;">Now that we understand how to assign the license, what if we want to granularly control what services within the license are enabled/disabled. The answer is in the new-msollicenseoptions cmdlet, and the DisabledPlans parameter. In the script examples you&rsquo;ll see below, we specify the disabledplans value, and reference that as we loop through the foreach script. This is why we broke the spreadsheet up based on license assignment. It is structured to apply a license (accountskuid) and a set of disabled plans (disabledplans parameter), to all users in a spreadsheet that we imported. The spreadsheet only needs to contain a single column with a heading of UserPrincipalName, and the corresponding list of UserPrincipalName&#39;s in the rows below it.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">To the sample scripts&hellip;</span></p>
<p><b><span style="font-family:Calibri;font-size:medium;">E3 with only Lync Online Enabled:</span></b></p>
<p>#Bulk E3 License Assignment with RMS, Office Pro Plus, Office Web Apps, SharePoint Online, and Exchange Online disabled</p>
<p>$AccountSkuId = &quot;&lt;tenant_domain_name&gt;:ENTERPRISEPACK&quot;</p>
<p>$UsageLocation = &quot;US&quot;</p>
<p>$LicenseOptions = New-MsolLicenseOptions -AccountSkuId $AccountSkuId -DisabledPlans RMS_S_ENTERPRISE, OFFICESUBSCRIPTION, SHAREPOINTWAC, SHAREPOINTENTERPRISE, EXCHANGE_S_ENTERPRISE</p>
<p>$Users = Import-Csv c:\temp\Users.csv</p>
<p>$Users | ForEach-Object {</p>
<p>Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation $UsageLocation</p>
<p>Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LicenseOptions</p>
<p>}</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><b><span style="font-family:Calibri;font-size:medium;">E3 with RMS and Lync Disabled:</span></b></p>
<p>#Bulk E3 License Assignment with RMS and Lync Online disabled</p>
<p>&nbsp;$AccountSkuId = &quot;&lt;tenant_domain_name&gt;:ENTERPRISEPACK&quot;</p>
<p>$UsageLocation = &quot;US&quot;</p>
<p>$LicenseOptions = New-MsolLicenseOptions -AccountSkuId $AccountSkuId -DisabledPlans RMS_S_ENTERPRISE, MCOSTANDARD</p>
<p>$Users = Import-Csv c:\temp\Users.csv</p>
<p>$Users | ForEach-Object {</p>
<p>Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation $UsageLocation</p>
<p>Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LicenseOptions</p>
<p>}</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><b><span style="font-family:Calibri;font-size:medium;">E3 with RMS and Office Pro Plus Disabled:</span></b></p>
<p>#Bulk E3 License Assignment with RMS and Office Pro Plus disabled</p>
<p>$AccountSkuId = &quot;&lt;tenant_domain_name&gt;:ENTERPRISEPACK&quot;</p>
<p>$UsageLocation = &quot;US&quot;</p>
<p>$LicenseOptions = New-MsolLicenseOptions -AccountSkuId $AccountSkuId -DisabledPlans RMS_S_ENTERPRISE, OFFICESUBSCRIPTION</p>
<p>$Users = Import-Csv c:\temp\Users.csv</p>
<p>$Users | ForEach-Object {</p>
<p>Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation $UsageLocation</p>
<p>Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LicenseOptions</p>
<p>}</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><b><span style="font-family:Calibri;font-size:medium;">E1 with Exchange Online and Lync Online Disabled:</span></b></p>
<p>#Bulk E1 License Assignment with ExO and SpO Disabled</p>
<p>$AccountSkuId = &quot;&lt;tenant_domain_name&gt;:STANDARDPACK&quot;</p>
<p>$UsageLocation = &quot;US&quot;</p>
<p>$LicenseOptions = New-MsolLicenseOptions -AccountSkuId $AccountSkuId -DisabledPlans:SHAREPOINTSTANDARD,EXCHANGE_S_STANDARD</p>
<p>$Users = Import-Csv c:\temp\Users.csv</p>
<p>$Users | ForEach-Object {</p>
<p>Set-MsolUser -UserPrincipalName $_.UserPrincipalName -UsageLocation $UsageLocation</p>
<p>Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LicenseOptions</p>
<p>}</p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">The only difference between the various scripts above are the AccountSkuID&rsquo;s (license type), and the License Options (disabledplans parameter). Everything else remains the same. That makes these scripts a pretty good plug and play option, especially if you&rsquo;re supporting an organizations that doesn&rsquo;t want to standardize licensing, and requires more granular control over service enablement.</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Key Options included in the Above Scripts</span></p>
<ul>
<li>
<p>DisabledPlans:</p>
</li>
</ul>
<ul>
<ul>
<li>
<p>OFFICESUBSCRIPTION = Office 2010</p>
</li>
<li>
<p>MCOSTANDARD = Lync Online</p>
</li>
<li>
<p>SHAREPOINTWAC = SharePoint Online</p>
</li>
<li>
<p>SHAREPOINTENTERPRISE = SharePoint Online</p>
</li>
<li>
<p>EXCHANGE_S_ENTERPRISE = Exchange Online (E3)</p>
</li>
<li>
<p>EXCHANGE_S_STANDARD = Exchange Online (E1)</p>
</li>
</ul>
</ul>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">If you need to go beyond what I&rsquo;ve explained in this article, I would strongly recommend reading through the link listed below. It covers a variety of options and syntax to accomplish various licensing operations. </span></p>
<p><a href="https://social.technet.microsoft.com/wiki/contents/articles/11349.office-365-license-users-for-office-365-workloads.aspx"><span style="color:#0563c1;font-family:Calibri;font-size:medium;">https://social.technet.microsoft.com/wiki/contents/articles/11349.office-365-license-users-for-office-365-workloads.aspx</span></a><span style="font-family:Calibri;font-size:medium;"> </span></p>
<p><span style="font-family:Calibri;font-size:medium;">&nbsp;</span></p>
<p><span style="font-family:Calibri;font-size:medium;">Thanks! Hope this helps&hellip;</span></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Hop Count Exceeded - Possible Mail Loop</title>
      <link>https://docs.microsoft.com/archive/blogs/exchange_and_the_little_happy_cloud/hop-count-exceeded-possible-mail-loop</link>
      <pubDate>Fri, 09 Aug 2013 11:26:46 GMT</pubDate>
      <dc:creator><![CDATA[William Sluss]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/exchange_and_the_little_happy_cloud/2013/08/09/hop-count-exceeded-possible-mail-loop/</guid>
      <description><![CDATA[Hi Everyone,
I came across a strange issue recently, and wanted to throw it out there in case...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: small;"><span style="font-family: Calibri;">Hi Everyone,</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">I came across a strange issue recently, and wanted to throw it out there in case anyone runs by this in O365 land. </span></span></p>
<h1><span style="color: #2e74b5;"><span style="font-family: Calibri Light;">Background</span></span></h1>
<p><span style="font-size: small;"><span style="font-family: Calibri;">An organization was running in a Hybrid Coexistence with O365 Wave 15. An Exchange 2007 user was migrated to the cloud. Later, the mailbox was moved back on-prem for some reason. Unfortunately, I don&rsquo;t have the details to provide around the mailbox moves.&nbsp; Anyway, the user then reported that O365 users were unable to email the newly migrated on premise Exchange 2007 mailbox. External users were able to send mail to this mailbox without issue. </span></span></p>
<h1><span style="color: #2e74b5; font-family: Calibri Light;">&nbsp;</span></h1>
<h1><span style="color: #2e74b5;"><span style="font-family: Calibri Light;">The NDR</span></span></h1>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/36/5633.NDR.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-36/5633.NDR.png"><img src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/99/36/5633.NDR.png" original-url="https://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-99-36/5633.NDR.png" alt="" border="0" /></a></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Diagnostic information for administrators:</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Generating server: XXXXXXXXXX.xxxxxxxxx.prod.outlook.com</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">xxxxxx@xxxxxxx.xxxx.onmicrosoft.com</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">XXXXXXXXXX.mail.protection.outlook.com</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Remote Server returned '554 5.4.6 Hop count exceeded - possible mail loop'</span></span></p>
<p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></p>
<h1><span style="color: #2e74b5;"><span style="font-family: Calibri Light;">Initial Thoughts and Troubleshooting</span></span></h1>
<p><span style="font-size: small;"><span style="font-family: Calibri;">If you search for this NDR on the internet, you&rsquo;ll come across several articles which point in the direction of duplicate domain configurations, SPF records, accepted domains, connector configuration etc. In our case these did not seem to apply after a quick review. It was apparent these potential causes did not apply to our case, as this was the only person impacted by this issue post migration back the on premise environment. So now what&hellip;</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Let&rsquo;s look at the NDR a little closer. The generating server is in O365 so no need to check anything on premise just yet. It appears that the email address being sent to, is resolving to an address with @domain.onmicrosoft.com, when it should be sending to and address of @domain.com. Once that was identified, I review the user account and mail contact in O365 to see if there is any correlation to this unexpected name resolution. Sure enough, the mail contact was configured with an external email address of @domain.onmicrsoft.com. There&rsquo;s our problem</span></span></p>
<h1><span style="color: #2e74b5; font-family: Calibri Light;">&nbsp;</span></h1>
<h1><span style="color: #2e74b5;"><span style="font-family: Calibri Light;">Issue identified, time to wrap it up? Not just yet&hellip;</span></span></h1>
<p><span style="font-size: small;"><span style="font-family: Calibri;">With the issue potentially identified, all I need to do is update the mail user object in O365. Easier said than done in a Hybrid environment running DirSync. I first attempted the cmdlet below through a Remote PowerShell session:</span></span></p>
<p style="padding-left: 30px;"><strong><span style="font-size: small;"><span style="font-family: Calibri;">Set-MailUser &lt;user&gt; -ExternalEmailAddress &lt;primary smtp address&gt;</span></span></strong></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">And got the dreaded red output below&hellip;</span></span></p>
<p><span style="color: #ff0000; font-size: small;"><span style="font-family: Calibri;">The operation on mailbox "xxxxxxx" failed because it's out of the current user's write scope. The action 'Set-MailUser', 'ExternalEmailAddress', can't be performed on the object &lsquo;xxxxx' because the object is being synchronized from your on-premises organization. This action should be performed on the object in your on-premises organization.</span></span></p>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Ok, no problem here. I have to make the change on-prem. Let&rsquo;s go look at the on premise environment, update the attribute there, run Dirsync, and allow it to sync across. A quick couple of PowerShell commands and AD checks later, still don&rsquo;t know where this is coming from&hellip;.everything looks good.</span></span></p>
<ul>
<li><strong><span style="font-size: small;"><span style="font-family: Calibri;">Get-Recipient &lt;recipient&gt; | fl PrimarySmtpAddress</span></span></strong></li>
</ul>
<p style="padding-left: 60px;"><span style="font-size: small;"><span style="font-family: Calibri;">PrimarySmtpAddress: xxxx.xxxx@domain.com</span></span></p>
<ul>
<li><strong><span style="font-size: small;"><span style="font-family: Calibri;">Get-Mailbox &lt;mailbox&gt; | fl PrimarySmtpAddress, WindowsEmailAddress, </span></span></strong></li>
</ul>
<p style="padding-left: 60px;"><span style="font-family: Calibri; font-size: small;">PrimarySmtpAddress: </span><span style="color: #0563c1; font-family: Calibri; font-size: small;"><a href="mailto:xxxx.xxxx@domain.com">xxxx.xxxx@domain.com</a></span></p>
<p style="padding-left: 60px;"><span style="font-family: Calibri; font-size: small;">WindowsEmailAddress: </span><span style="color: #000000; font-family: Calibri; font-size: small;"><span style="color: #000000;"><a href="mailto:xxxx.xxxx@domain.com">xxxx.xxxx@domain.com</a></span></span></p>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">I reviewed the properties from ADSIEdit, and verified the TargetAddress is blank (which is what we would expect). This is the actual attribute which syncs to O365 and populates the ExternalEmailAddress on the mail user object. </span></span></li>
</ul>
<p><span style="font-size: small;"><span style="font-family: Calibri;">So now what?</span></span></p>
<h1><span style="color: #2e74b5; font-family: Calibri Light;">&nbsp;</span></h1>
<h1><span style="color: #2e74b5;"><span style="font-family: Calibri Light;">Finally Resolved</span></span></h1>
<p><span style="font-size: small;"><span style="font-family: Calibri;">I ran through the steps below hoping for the best, and email started flowing again&hellip;</span></span></p>
<ol>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Updated the on premise targetaddress attribute through ADSIEdit</span></span></li>
<ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Should be in the &ldquo;SMTP:xxxx@domain.com&rdquo; format (no quotes)</span></span></li>
</ul>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Ran DirSync</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Verified the ExternalEmailAddress attribute was updated on the O365 mail user object</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Sent a test message </span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Received another NDR for &lsquo;Hop count exceeded - possible mail loop&rsquo; (arrgggghhhhh!!!)</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Noticed this time the NDR&rsquo;s originating server was on premise this time</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Removed the on premise targetaddress</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Ran DirSync</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Ensured it wasn&rsquo;t removed from the mail user object</span></span></li>
<li><span style="font-size: small;"><span style="font-family: Calibri;">Verified the message was successfully delivered</span></span></li>
</ol>
<p><span style="font-size: small;"><span style="font-family: Calibri;">Root cause remains unknown, but it&rsquo;s assumed to be that the mailbox move back to on premise Exchange 2007 didn&rsquo;t properly update the externalemailaddress mail user attribute on the O365 mail user object. I don&rsquo;t think this is a common issue out there in O365 land, but I didn&rsquo;t see anything written about it in my initial search online, so thought it would be worth sharing. Thanks,</span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Welcome to the Wonderful World of Exchange and O365</title>
      <link>https://docs.microsoft.com/archive/blogs/exchange_and_the_little_happy_cloud/welcome-to-the-wonderful-world-of-exchange-and-o365</link>
      <pubDate>Wed, 05 Jun 2013 13:50:00 GMT</pubDate>
      <dc:creator><![CDATA[William Sluss]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/exchange_and_the_little_happy_cloud/2013/06/05/welcome-to-the-wonderful-world-of-exchange-and-o365/</guid>
      <description><![CDATA[Welcome to my Blog everyone! I want to take this opportunity to say hello, before we get to it. I...]]></description>
      <content:encoded><![CDATA[<p>Welcome to my Blog everyone! I want to take this opportunity to say hello, before we get to it. I hope you enjoy reading, and can take away some information that might be useful to you during your endeavors with Exchange and O365. Please come back and see me, and pass along this information to anyone you think might benefit.</p>
<p>Exchange, what a great system. Until recently I though I had it all figured out. A good understanding of Mail Routing and Transport, a working knowledge of Client Access workloads and their unique configurations, and expertise with&nbsp;high availability configurations that will keep organizations in the 5 9's for years to come. Well here comes Office 365,&nbsp;throwing the newest wrench in my plans to dominate the world of Exchange. I intend to focus this blog on various topics relating to Exchange on-premise and O365 so don't be turned off if you only manage on-prem Exchange. You guys and gals need to know this stuff too.&nbsp;Hybrid coexistence, O365 Deployment,&nbsp;and working with Exchange Online (administration and troubleshooting) will be my initial focus. But I promise there will be some on-prem Exchange injected as we move through various topics, as it is all connected in this intricate web of cross-org collaboration and configuration.</p>
<p>A little quick bit about myself. I've been working with Exchange for about 8 years now. I started with Exchange 2000, so for all those experts out there that love to say they started with 5.5 or earlier,&nbsp;you&nbsp;have one up that can never be overcome...although everyone knows that&nbsp;experience is&nbsp;relevant&nbsp; these days. Just joking for anyone that just took offense. Before I got into Exchange,&nbsp;I was in the US Army (active and reserve). Its a big part of who I am today. For any vets out there in this space, I'm sure you can agree that this is a great field to be apart of. I'll take datacenter switchovers to&nbsp;filling sandbags,&nbsp;all day long! Well that's enough about me for now...</p>
<p>It's great to meet all of you. I welcome any feedback you have. I look forward to helping out the world wide community. Now lets get started...</p>
<p>&nbsp;</p>
<p>Thanks,</p>
<p>&nbsp;</p>
<p>Bill Sluss</p>]]></content:encoded>
    </item>
  </channel>
</rss>