Microsoft Ignite Conference Sessions Available On-Demand

Microsoft’s biggest technical conference, Microsoft Ignite, finished this month.  There were over 23,000 attendees and sessions the range of Microsoft technologies.  In case you missed it.  The sessions are now available for on-demand download here.  There is a search tool which you can use to filter and find topics on your area of interest.


Posted in Technology | Tagged | Leave a comment

Skype For Business: Releases!

Skype For Business, Microsoft’s communication software, released earlier this month.  Skype for Business is the enterprise version of the popular program, Skype, and is built specifically for companies with enterprise security, reliability, and scalability.  It provides instant messaging, audio conference calling, video conferencing, web conferencing, and telephony (can serve as your company’s phone system).  My colleagues, Christian Burke and Mark King, presented a webinar on it and the recording can be found on Youtube (here).

In the recording, we demonstrate the capabilities of Skype For Business and how to get it.


Posted in Lync, Office 365 | Tagged , | Leave a comment

Exchange Online Mail Migration Process

In this post, I document the process of migrating mailboxes from Exchange 2013 on-premise to Exchange Online when in the Hybrid Configuration.  This assumes that you have already performed the following steps:

  • Office 365 tenant created
  • Azure AD Sync setup
  • Exchange Hybrid Configuration Setup

There are other migration methods (cutover, staged).  However, in this post, I focus upon the Hybrid scenario with remote move using the MRS.

Review Technet Documentation on Migration

Email Migration Process

  • In O365 Admin Center, check that the user’s doesn’t have a mailbox on o365


  • Check the mailbox and contacts in O365


  • Go to the Migration tab and create a new Migration Batch (hit +) and “Migrate To Exchange Online”


  • Add the users to migrate who are mail-enabled in O365 and have mailboxes on-premises.


  • Specify the Migration Endpoint.  This needs to be setup before running the Migration Batch.


  • Specify the batchname.


  • Specify whether to automatically complete the migration.  I am going to manually specify it so that I can control when the cutover happens.


  • Migration synchronization process begins.


  • Once the synchronization process is complete and when you’re ready to move the user to Office 365, start the “Completing the Migration Batch” process.


  • When its completed, the user’s mailbox is now on Exchange Online in Office 365.


  • If you check the Exchange server on-premises, you’ll notice that the mailbox type for the user is now “Office 365”.


  • In Office 365, if you go to Recipients > Mailboxes, you’ll see the users with mailboxes.


  • In Office 365, if you go to the Recipients > Contacts, you’ll notice that the users that you migrated will no longer have MailUser objects listed there.


  • To allow the user to access their mailbox in Office 365, you’ll need to add the Exchange Online license to the user.
  • If you check in remote powershell to Office 365, you’ll notice by running get-user and get-mailbox that the user’s mailbox is now on Office 365 as we saw in the web UI.



Posted in Exchange, Office 365 | Tagged , | Leave a comment

Exchange Online: Mail Migration Lessons Learned (Part 3)

For the last two blog posts, I have documented my troubleshooting of a mail migration issue from Exchange 2013 On-Premise to Exchange Online.  In this post, I wanted to summarize the lessons learned.

  • Before migrating a user’s mailbox from Exchange On-Premise and Exchange Online, the directory synchronization should create a Mail user object in Office 365 for each user on-premise that has an Exchange mailbox.
  • If the user has a mailbox object in Office 365 before the migration, then the migration tool will error out.
  • To remove the mailbox object, remove the Exchange Online license from the user
  • To check the state of user object, run get-user remote powershell command against Office 365.  Run get-mailbox against Office 365 to check which users have mailboxes.
  • In the Exchange Admin Center in Office 365, you can also check who has a mailbox and who is a mail user by going to the Recipients > Mailboxes or Recipients > Contacts (shows mail enabled users).

clip_image001  (Shows Users with Mailboxes on 365)

clip_image001[5](Shows Users that are mail users)

  • Confirm that all the proxyaddresses on the mail users are in the Accepted Domain both in Office 365 and on-premises Exchange.


  • To get an domain into the Accepted Domains in Office 365, it first needs to be registered in Office 365 and confirmed by adding a DNS record to the zone as specified in the documentation.
  • In my case, the Active Directory DNS domain name was added to the mail enabled user’s proxy addresses by the on-premise Exchange “Default e-mail address policy”.  So, I had to modify the default address policy to specify the SMTP domain instead of the AD DNS domain.
    • Although I ran the update-emailaddresspolicy against my on-premises system, it didn’t clean up the proxyaddresses field right away in my users, so I had to manually remove the AD DNS Domain from the proxy addresses.  Then I re-ran the directory sync’d and the proxy addresses for the mail users in O365 were updated.
  • Run the Office 365 mail migration.  Create a batch of users to migrate.  The first step of the migration is a synchronization of the mail from on-premises to O365.  Once synchronization is complete, run the second step which is to complete the migration.
  • When you can complete the migration, the tool changes the on-premise account to be  Office 365 and the Office 365 account will be ready to become a mailbox.
  • To enable the user’s mailbox in O365, assign the Exchange Online license to the user.  Now, the user will be able to access the e-mail in their account which has been migrated.
  • Note, you can also initiate a mail migration from the Exchange on-premise server by going to the Exchange Admin Center > Recipients > Mailbox.  Select the user and on the right panel at the bottom, initiate a move mailbox to Exchange Online.


Posted in Exchange, Office 365 | Tagged , | Leave a comment

Exchange Online: Fixing an Perplexing Exchange Migration Issue (Part 2)

I spent the last couple days troubleshooting an Exchange On-Premises to Exchange Online mail migration issue.  See my prior post for part 1 of the troubleshooting.  After fixing the first part, we attempted to re-run the Exchange migration and ran into another error:

“You can’t use the domain because it’s not an accepted domain for your organization.”

The tricky part was that Office 365 doesn’t mention the domain is that is missing.  I checked the Accepted Domains in both the Exchange On-Premise and in Exchange Online and all the domains that I expected were there.

clip_image001[1] (Office 365)

clip_image001[3] (Exchange On-Premises)

I checked the on-premises user’s proxyaddresses field in Active Directory and everything looked ok.  Then I checked ….   the Contacts folder in Office 365.  Aha!

In the mailuser object on Office 365, the e-mail addresses tab had a secondary proxy address of:  <user>

This is the Active Directory DNS domain name.  It turns out the default e-mail address policy (the one that’s created by default when Exchange is installed) uses the Active Directory DNS domain name as the default e-mail address policy.  There was another e-mail address policy of higher priority with the actual SMTP domain name.  However, the default policy must be influencing the e-mail addresses being stamped on the mailuser in Office 365 through the directory synchronization process.


We updated the default e-mail address policy to use the SMTP domain name (e.g.  Did an address update (update-emailaddresspolicy).  Then forced a directory synchronization in Azure AD Sync.  Then, checked the mail user objects in the Contact folder on Office 365.  The offending domain (e.g. was removed from the mail user objects.  Then we ran the Exchange Migration tool and ….    It worked.  The user’s were synchronized to Office 365.  Then, we completed the migration with no problem.  Then, we assigned the user’s an Exchange Online license.  This enabled the mailbox in Office 365.  We checked with the user and their mail was in their mailbox on Office 365 Smile

Posted in Exchange, Office 365 | Tagged , | Leave a comment

Exchange Online: Fixing an Perplexing Exchange Migration Issue (Part 1)

Hi, its been a while since I posted a blog entry.  Its been very busy.  But, I have been tackling a problem for the last couple days and finally solved it today so I thought that I would document it so that everyone else could benefit.  Also, if I should forget the fix (most likely), I’ll scan back here for the solution clip_image002

Situation:  I have a scenario where the customer had created an Office 365 tenant and some cloud ids with Exchange mailboxes.  They were playing around in that environment to learn about Office 365 and Exchange Online.  After their evaluation, they decided to move to Exchange Online.  So, they setup directory synchronization and Exchange hybrid configuration.  Now, when they attempted to move mailboxes to the cloud, they got the following error:

“Error: InvalidRecipientTypeException: Unsupported recipient type ‎’Mailbox‎’ provided. Only ‎’Mailuser‎’ is supported for this migration type. ”

Troubleshooting:  The problem is that since the customer had created mailboxes in Office 365 to play around with, the migration tool raised an error when they attempted to migrate the user’s on-premises mailbox to the cloud.

The Exchange migration tool expects Mailuser type in the cloud, not UserMailbox [User with a mailbox.]  You can run get-user in Powershell against Exchange Online to check the user type.  See here to establish remote powershell.


Resolution:  Since the user’s were synchronized with Directory Sync into Office 365, I couldn’t edit the users directly in Office 365.  So to remove the Exchange mailbox in O365, we removed the Exchange Online license from the user in O365.  To do this, go to O365 Portal > Users > Active Users.  Check a user to edit and select Edit on the right frame next to Assigned License.  Uncheck the “Exchange Online” license.

clip_image004 clip_image006

By doing this step, Exchange Online removes the Exchange mailbox from the user’ in Office 365.

However, the user in Office 365 still had some bad data in their user objects in Azure AD on Office 365.  Since, I couldn’t’ direct delete the user objects in Office 365 since they were synchronized from on-premises, I had to take a different approach to cleaning up Azure AD.  I moved all the users into an OU on the on-premises’s Active Directory.  Then, I filtered that OU from being synchronized by Azure AD Sync.  Then, I initiated a Full Import, Full Sync, and Export.  This cleaned up the Azure AD of the user’s objects.  Then, I added the OU back into the Azure AD Sync.  This recreated the users in Azure AD.  Also, check that there are objects created in the Office 365 > Exchange Admin Center > Recipients > Contacts.


The user type should be “Mail User”.  Yay!.  This is what is needed to migrate a user from on-premises Exchange to Exchange Online.  There was another issue that popped up next but that is for a future blog entry.



Posted in Exchange, Office 365 | Tagged , , | Leave a comment

Exchange: Setting Up Push Notifications for OWA (on Android and IOS)

Microsoft released a new mail client for Android and IOS called OWA (Outlook Web App). This app has many new capabilities and also supports push notifications to the device. One of my customers asked how to setup push notifications from Exchange 2013 on-premise infrastructure to their Apple and Android devices. With push notifications, the mail client on the Apple and Android mobile devices would get notifications when new e-mails come in and would update the display of the mail client to indicate the number of new mails that has arrived.


For more information on this capability, please review this video (at around the 14:16 min mark)

Typically, you would have to work with Apple and Google to use their push notification services to send notifications over their services to your mobile device. Now, Microsoft in the Office 365 services has already worked with Apple and Google to integrate their push notification services with Office 365.

Microsoft has also extended this relationship to on-premise Exchange configuration. The key is that the customer would need an Office 365 tenant that is tied to their on-premise Exchange organization. The on-premise Exchange would initiate the push notification to the Android/Apple device via the On-Premise Exchange > Office 365 Services > Google/Apple Push Notification Service > Mobile Device.

In this blog post, I walk through the steps that I went through in setting this configuration up in my lab.  See here for step by step:  2014-06-24-Setting-Up-Push-Notifications-For-OWA-Android-IOS

Posted in Exchange | Tagged , , , | Leave a comment