<?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>Ken Sicinski’s TechNet Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/kesicins/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/kesicins/feed.xml</link>
    <description>All Things Exchange and Office 365</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:37:24 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Use Hashtables to Audit Proxy Addresses Prior to Exchange Online Migration</title>
      <link>https://docs.microsoft.com/archive/blogs/kesicins/use-hashtables-to-audit-proxyaddresses-prior-to-exchange-online-migration</link>
      <pubDate>Mon, 11 Jun 2018 16:00:15 GMT</pubDate>
      <dc:creator><![CDATA[Ken Sicinski [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/kesicins/?p=65</guid>
      <description><![CDATA[I've recently had a customer ask me if there was a way we could get an idea of what recipient...]]></description>
      <content:encoded><![CDATA[I've recently had a customer ask me if there was a way we could get an idea of what recipient domains within their organization are being used as proxy addresses on their mailboxes in Exchange. Determining recipient domains that were in use was critical to this customer, as they would not be able to migrate mailboxes with proxy addresses that were not added as Accepted Domains in Exchange Online, as you'll see an error similar to the one below:
<blockquote><em>You can't use the domain because it's not an accepted domain for your organization.</em></blockquote>
I wasn't aware of any built-in reporting in Exchange that would do this, so once I had the requirements of what they were looking for, I went to work in PowerShell. What I found was if we were able to gather the emailAddresses field from all of the mailboxes in the on-premises organization, we could get can accurate count of the various recipient domains are in use within the on-premises Exchange environment.

My approach:
<ol>
 	<li>Pull all of the mailboxes within Exchange On-premises (this may take a while depending on how many mailboxes you have in your organization), and place in a variable.</li>
 	<li>Create an empty hashtable.</li>
 	<li>Declare an "addresses" variable, which will contain all addresses within the EmailAddresses variable on the mailbox.</li>
 	<li>Create a foreach loop that goes through each value specified within the "addresses" variable.</li>
 	<li>Create a "pos" (position) variable that will hold the position of the "@" symbol within the SMTP address passed through the loop.</li>
 	<li>Create a "suffix" variable that will return a substring of the email address (everything after the "@" symbol in the SMTP address).</li>
 	<li>Add the suffix to the hashtable (if it exists).</li>
 	<li>Sort the hashtable in descending order, and export to a .txt file.</li>
</ol>
If all works as expected, a txt file should be created that looks something like this:

<img src="https://msdnshared.blob.core.windows.net/media/2018/06/Hashtable-300x102.png" alt="" width="300" height="102" class="size-medium wp-image-75 alignleft" />

&nbsp;

&nbsp;

&nbsp;

&nbsp;

From there, we could look at the mailboxes that have these addresses stamped on them and remove as necessary:
<pre>Get-Mailbox -ResultSize Unlimited | ? {$_.EmailAddresses -like *@domain.com*}</pre>
Below you will find the proof-of-concept for what is described above for this process. <strong>Please note</strong> that this script should be tested prior to running in any sort of production environment.

<a href="https://msdnshared.blob.core.windows.net/media/2018/06/SMTPDomains.txt">SMTPDomains.txt</a>

Feel free to leave a comment with any questions you may have. Happy migrating!]]></content:encoded>
    </item>
    <item>
      <title>"You can't access this application" when trying to connect with Exchange Online mailbox through ActiveSync</title>
      <link>https://docs.microsoft.com/archive/blogs/kesicins/you-cant-access-this-application-when-trying-to-connect-with-exchange-online-mailbox-through-activesync</link>
      <pubDate>Tue, 02 Jan 2018 11:45:28 GMT</pubDate>
      <dc:creator><![CDATA[Ken Sicinski [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/kesicins/?p=36</guid>
      <description><![CDATA[I've recently had a customer experience an issue with connecting to Exchange Online via ActiveSync...]]></description>
      <content:encoded><![CDATA[I've recently had a customer experience an issue with connecting to Exchange Online via ActiveSync (iOS Accounts, per Azure) for users who are leveraging Modern Authentication.

The user tries to login per usual processes, but is greeted with the following error after entering their password in the MA prompt:

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/clip_image0021.jpg"><img width="422" height="677" class="alignnone wp-image-45 size-full" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/01/clip_image0021.jpg" /></a>

&nbsp;

Selecting "Return to the application without granting consent" (highlighted in the screenshot above) will allow the user to connect to the mailbox via Basic authentication instead of Modern Authentication, but this clearly wasn't working the way we wanted it to.

&nbsp;

Now, we've determined that it was an authentication issue within Azure AD, but were initially unable to determine the exact point of failure, as the application "iOS Accounts" was configured to allow authentication against the application for all users (we'd see a "Bad Request" error if the application wasn't authorized permission to connect to the service).

&nbsp;

After some digging, we were able to determine the cause of the issue. In the User settings within Azure Active Directory for the tenant, "Users can consent to apps accessing company data on their behalf" was set to "No":

&nbsp;

<a href="https://msdnshared.blob.core.windows.net/media/2018/01/Azure_iOS.png"><img width="1024" height="558" class="alignnone wp-image-55 size-large" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/01/Azure_iOS-1024x558.png" /></a>

&nbsp;

Once we changed this setting, users who were previously experiencing issues with connecting via Modern Auth were able to do so.

You can also make this change via Azure AD PowerShell via the Set-MsolCompanySettings cmdlet, and can check the status of the parameter via Get-MsolCompanyInformation:
<pre>Set-MsolCompanySettings -UsersPermissionToUserConsentToAppEnabled $true



</pre>]]></content:encoded>
    </item>
  </channel>
</rss>