Wednesday, March 23, 2016

Lync Hybrid, or Exchange Hybrid with hosted UM - CS Static Route is not supported

Learnt this the hard way from two different clients.

Basically, when you need to have Lync Hybrid setup with Skype for Business Online ("SfBO" - same below), or when you are doing Exchange Hybrid with Exchange Online in an environment where there is already Lync setup with Unified Messaging, you have to make sure that there are no CSStaticRoute that exists, or else co-existence will fail.

Symptoms include:

  • Lync Hybrid only: On premise Lync users cannot initiate IM with migrated SfBO user
  • Exchange Hybrid with Unified Messaging: When calling the user's extension number, the call is directed somewhere else and not to the user's voicemail

This all boils down to the fact that when SharedAddressSpace is configured in Lync on premise with SfBO, CSStaticRoutes are no longer supported, and have to be deleted.

To confirm that you have a static route, run the following from Lync Management Shell:

Get-CsStaticRoutingConfiguration -identity global | Select-Object -ExpandProperty Route

The quickest way to fix this is to issue the following command to delete all static routes:

Set-csstaticroutingconfiguration -identity global -route $null

Wait for a few minutes and the problem will resolve itself.

OK, you might ask what are the effects of deleting all CSStaticRoutes - it could range from breaking your Polycom RMX integration with Lync to breaking a PSTN conferencing solution.

Unfortunately I have no advice on how to get around with this, other than paying a support ticket to Microsoft and get them to work with the third party vendors.

I was lucky because the customer no longer wants to use the RMX integration, and Polycom RMX integration does not work with Skype for Business Online anyway.

Hope this helps someone.

Tuesday, March 15, 2016

Determine the Azure AD Connect Installation File Version

Sometimes you want to use an older AADConnect installation file for some reason (usually due to a broken update), and you would want to know the version *before* installing it.

The easiest way to find out is to use 7-Zip to open up the MSI file, expand file, and extract the file "Microsoft_Azure_ActiveDirectory_Synchronization_Setup_dll".

Rename it to "Microsoft_Azure_ActiveDirectory_Synchronization_Setup_dll.dll" and right click on the file, Properties and then Details tab:

In my case, it's version 1.0.9131, released in December 2015.

You can get the full version history for Azure AD Connect here:

Bonus tip! To manually force a sync using AADConnect 1.1, run the following PowerShell cmdlets:

Full Sync: 
Start-ADSyncSyncCycle -PolicyType Initial

Delta Sync:
Start-ADSyncSyncCycle -PolicyType Delta

Tuesday, March 01, 2016

Office 365: Maximum Number of Unverified Domains

Apparently there is a limit of how many unverified domains that you can have within an Office 365 subscription, and the magic number (as of 1 March 2016) is:


When you add more than 55 domains using PowerShell, you get the following error message:

Number of unverified domains exceeded.
Your account has too many unverified domains. Verify or delete one of your unverified domains, and then add the new domain.

The following article talks about the error, but does not mention the limit:

This article mentions more errors when adding domains into Office 365:

TMG 2010 - Error when importing configuration

Before we start, please read the large disclaimer:

I do not know what is the implication of performing these steps on a production TMG 2010 server/array, so please make sure you backup everything before doing this!

OK, back to business.

Have you every tried to restore a TMG backup (right cick on Array/Server > Import (Restore)) and received the following error message?

Error: 0xc0040411 - The file cannot be imported because the array is of version 2010SP2 in the exported file and version 2008 in the stored configuration.

You have already done the following with no avail:

  • Checked that the patch level is the same from the XML file and the destination TMG 2010 server
  • Make sure that you have chosen "Overwrite (restore)" option
  • Untick "import server-specific information"

There is one more thing you can try. You can tweak the following lines in the XML file, and lower the version number. For my case, I changed "4" to "2" and the import worked, e.g:

Again, I am not sure what implication of lowering the CompatibilityVersion number, and I urge you to test it out before going production. Hopefully this will help someone in the future.