Skype for Business SBA Migration Cheat Sheet

Okay, I’m supposed to be publishing my LPE article. But its not done yet. So have this “Quick and Nasty” guide instead

I’ve recently been migrating customers from older SBA’s running Lync 2013 code to newer SSD based SBA’s running Skype for Business 2015 and as such I’ve been working on a tool for Pool migrations but its not quite there yet.

Till then, I use this Cheat Sheet to make the migrations quick and easy and I encourage you to as well.

In summary, to migrate users from one SBA to the other, they have to go through a FrontEnd. You also need to migrate the Analog Devices, Meeting Rooms, Common Area phones and update a few attributes.

  • New DNS Names
    • First off, create new DNS names for everything, including the gateways, as you need to get everything off the old SBA before you can decommission it
    • If your re-using any hardware tht your changing the DNS name on (analog gateways for example) you will need to update its certificate as part of the migration
  • Update and Publish Topology with new SBA’s and gateways
    • Do not rename the trunk for any gateways/ata’s hosting analog devices (More info on Greig’s site here)
    • Don’t forget to create trunks between any FrontEnds and the SBC if your doing that.
  • Follow your vendors instructions for building a new SBA/GW
  • Update or Create new Voice Policies
    • Create new routes between the new SBA and new Gateways
    • Update the voice Policies to allow the new routes
  • Export the endpoint lists out of the current SBA so we can track them for later

Get-CsAnalogDevice -Filter {RegistrarPool -eq "oldsba.skype4badmin.com"} | export-csv c:\Skype4badmin.com\migration\OldSba-Analog.csv
Get-CsMeetingRoom -Filter {RegistrarPool -eq "oldsba.skype4badmin.com"} | export-csv c:\Skype4badmin.com\migration\OldSba-Meeting.csv
Get-CsUser -Filter {RegistrarPool -eq "oldsba.skype4badmin.com"} | export-csv c:\Skype4badmin.com\migration\OldSba-Users.csv
Get-CsCommonAreaPhone -Filter {RegistrarPool -eq "oldsba.skype4badmin.com"} | export-csv c:\Skype4badmin.com\migration\OldSba-Common.csv

  • Re-Home Everything on the temp FrontEnd

Import-csv c:\skype4badmin.com\migration\OldSba-Users.csv | Move-CsUser -Target TempFE.Skype4badmin.com
Import-csv c:\skype4badmin.com\migration\OldSba-Analog.csv | Move-CsAnalogDevice -Target TempFE.Skype4badmin.com
Import-csv c:\skype4badmin.com\migration\OldSba-Common.csv | Move-CsCommonAreaPhone -Target TempFE.Skype4badmin.com
Import-csv c:\skype4badmin.com\migration\OldSba-Meeting.csv | Move-CsMeetingRoom -Target TempFE.Skype4badmin.com

  • Update the Analog Gateway attribute on the Analog Devices
    • If you have multiple Analog Gateways associated with the SBA, Rinse and repeat

Get-CsAnalogDevice -filter {Gateway -eq "OldAnalogGW1.Skype4BAdmin.com"} | Set-CsAnalogDevice -Gateway "NewAnalogGW1.Skype4BAdmin.com"
Get-CsAnalogDevice -filter {Gateway -eq "OldAnalogGW2.Skype4BAdmin.com"} | Set-CsAnalogDevice -Gateway "NewAnalogGW2.Skype4BAdmin.com"
Get-CsAnalogDevice -filter {Gateway -eq "OldAnalogGW3.Skype4BAdmin.com"} | Set-CsAnalogDevice -Gateway "NewAnalogGW3.Skype4BAdmin.com"
...
Get-CsAnalogDevice -filter {Gateway -eq "OldAnalogGW9.Skype4BAdmin.com"} | Set-CsAnalogDevice -Gateway "NewAnalogGW9.Skype4BAdmin.com"

  • Wait for AD replication and repeat the process from FE to New SBA
    • Enjoy a Coffee whilst you wait

Import-csv c:\skype4badmin.com\migration\OldSba-Users.csv | Move-CsUser -Target NewSba.Skype4badmin.com
Import-csv c:\skype4badmin.com\migration\OldSba-Analog.csv | Move-CsAnalogDevice -Target NewSba.Skype4badmin.com
Import-csv c:\skype4badmin.com\migration\OldSba-Common.csv | Move-CsCommonAreaPhone -Target NewSba.Skype4badmin.com
Import-csv c:\skype4badmin.com\migration\OldSba-Meeting.csv | Move-CsMeetingRoom -Target NewSba.Skype4badmin.com

  • If you created new Voice Policies for the endpoints on the SBA, update as appropriate
Import-csv c:\skype4badmin.com\migration\OldSba-Users.csv  | Grant-CsVoicePolicy -PolicyName "AU NEWSBA International"
Import-csv c:\skype4badmin.com\migration\OldSba-Analog.csv  | Grant-CsVoicePolicy -PolicyName "AU NEWSBA International"
Import-csv c:\skype4badmin.com\migration\OldSba-Common.csv  | Grant-CsVoicePolicy -PolicyName "AU NEWSBA International"
Import-csv c:\skype4badmin.com\migration\OldSba-Meeting.csv  | Grant-CsVoicePolicy -PolicyName "AU NEWSBA International"
  • Wait for AD replication again
  • Update the Routing on your Analog Gateways and SBC’s the point to the new SBA
  • Run through your test plan
  • Remove the old Gateways and SBA from the topology

Hope this helps.

Update: One of my followers on Twitter @ricsip82 mentioned you can have ExchangeUmContacts hosted on the SBA

To check for this simply run the following powershell, if anything is returned, just migrate them with Move-CsExUmContact


Get-CsExUmContact -filter {registrarpool -eq "oldsba.skype4badmin.com" } 

5 thoughts on “Skype for Business SBA Migration Cheat Sheet

  1. Pingback: Skype for Business SBA Migration Cheat Sheet | Skype4BAdmin.com – JC's Blog-O-Gibberish

    1. Avatar photoJames "UcMadScientist" Arber Post author

      Blame the previous integrator. They grabbed a bunch of MP124 (24 port) and MP112 (2 port) gateways and sent them all through Skype as they didn’t buy sip to sip licencing on the SBA’s gateway module.
      Technically valid. Yes.
      A pain to configure and troubleshoot. Yes.

      At least they are TCP trunks so I don’t have to worry about certificates. But less than ideal I agree

      Reply
  2. Dan

    Hi, great article!
    Not sure if DNS and certificates migration is the fastest way. You could leave DNS, Certificates as is. Then move all users out to a hub. Then reinstall SBA, join AD with the same name, and keep DNS, import old certificate. Move pilot users in and then the rest.
    Dan

    Reply
    1. Avatar photoJames "UcMadScientist" Arber Post author

      Yes, this method totally works too. But not if your migrating from Lync 2013 to Skype4B 2015, or I assume Skype4b 2015 to 2019

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.