Import sites and subnets to Skype4B from AD sites and services

Wether it is to use for Call Admission Control or just to get pretty results on the location report on the monitoring server, I usually like to populate network regions, sites and subnets in the Skype for Business topology in every deployment I do.

Untitled picture
Pretty, pretty data 🙂

In many, if not most, environments I deploy in, the admins have taken their time to set up AD sites and services with the correct site names, so there’s no point in doing that job twice. I’ve made this script which takes the contents of the Sites container and imports it into the Skype for Business topology.

I’ve come across a couple of ways to convert AD sites to Skype for Business network topology, either adding all sites to one region, or converting the sites to regions themselves and adding offices manually. I also want to expand the script so that you can choose which region and site a given subnet belongs to for each subnet in sites and services.

Usage:

Run the .ps1 and then

Import-ADSitesAndSubnets -Regionid Someregion

or

 Import-ADSitesAndSubnets -UseSiteAsRegion 

And the script:

 

Error when moving user from Skype4B onprem to online

In a freshly set up Skype for Business hybrid environment we got this error after trying to move the first user from onprem to online:

HostedMigration 510 error : the user could not be moved because the tenant has not been enabled for shared SIP address spaces

After verifying that both the tenant and onprem environment is actually set up for shared address spaces with

Get-CsTenantFederationConfiguration

and

Get-CsHostingProvider

the issue is still there.

I did find a blogpost and an ms forum post on this, but in both those cases the problem seemed to be some caching of some sort and solved itself, which it didn’t in my scenario.

It turned out that the user were homed in a child domain and the FE pool in the root domain. The problem was solved by running the Move-CsUser Cmdlet with the -DomainController parameter as well, like this:

Move-CsUser -Identity user@contoso.com -Target sipfed.online.lync.com -Credential $cred -HostedMigrationOverrideUrl "https://adminXX.online.lync.com/HostedMigration/hostedmigrationService.svc" -DomainController dc.contoso.com

Remember that your HostedMigrationOverrideUrl will probably be different, just log in to the SFBO admin portal to get yours.