Exchange and Office365 Hybrid

Just going to list some things here that may help someone with an Office365 Hybrid deployment.

  • Create mailboxes on premise Exchange ECP only and if it’s an existing user then create it on an on premise database instead of choosing Office365 and then migrate it to Office365.
  • Assign licenses only after a mailbox is fully migrated over to Office365
  • Ensure that the domain is verified by Microsoft on Office365 otherwise the user will not get your corporate email domain, instead they will get
  • PowerShell commands to update your AD objects with AD connect to AzureAD

Import-Module activedirectory
Import-Module ADSync
Start-ADSyncSyncCycle -PolicyType Initial
Start-ADSyncSyncCycle -PolicyType Delta

  • To empty deleted user objects immediately from Office365

Install-Module -Name AzureAD
Install-Module msonline
Get-MsolUser -ReturnDeletedUsers | Remove-MsolUser -RemoveFromRecycleBin -Force

I will be adding/removing/updating this content as often as I can so it’s a living/breathing blog post. This is designed to be a somewhat cheat sheet for Exchange Hybrid deployments. I will do my best not to put too much clutter on here. Feel free to comment on corrections/additions/amendments to the content.

Exchange 2019 Uninstall on Windows 2019 Core

Found out how to uninstall Exchange Server 2019 on Windows 2019 core. The secret is run

setup /mode:uninstall /IAcceptExchangeServerLicenseTerms

and it will tell you something that the GUI doesn’t. One of the services is holding a file hostage, it may be different for you so I’m not going to post the specific file/service.

I just stopped that service and all exchange services and it worked!

The main symptom is that when you try to uninstall Exchange 2019 using GUI, the option to remove the check mark from the mailbox role is grayed out.

I hope this helps someone out there one day.

Getting Sass –watch To Work With Vagrant on Windows Host Machine

There is a known issue with the Ruby Listen module that Sass uses to watch files. The issue stems from Listen’s ability to monitor remote mounted file systems, in this case, Vagrant on a Windows host machine.

To remedy the issue you can use the Sass --poll option with Sass. This is what the documentation says for the --poll option:

This flag, which may only be passed along with --watch, tells Sass to manually check for changes to the source files every so often instead of relying on the operating system to notify it when something changes. This may be necessary if you’re editing Sass on a remote drive where the operating system’s notification system doesn’t work.

To get Sass running with this option your watch command should look something like this:

$ sass --poll --watch scss:css

And that’s it! Happy styling!