Decommissioning Skype for Business 2015 on premise after migrating to O365

Depending on how you utilise Skype for Business, you may have no requirement to maintain a hybrid environment once all users are within Skype for Business online.

Documentation around decommissioning the on premise environment was surprisingly sparse.

One of the better documents around web was here – but it still stopped a little short, in my opinion.

So below is my attempt at rounding this process out.


All steps below assume you have already migrated all users to Skype for business and that you are aware of the requirements to stay in hybrid depending on your EV setup. If you are unsure, do not start this process.


Step 1 – Update DNS entries

This document really nails the DNS changes required, so good work Mark Vale. I am going to paraphrase the article a little, just so it’s all in one place.

Depending on your environment, you have a fair idea of idea of how long you need to wait externally and internally for convergence. This will lead to downtime, so it is wise to perform this outside of business hours.

Its also wise to take a backup of your existing values, just in case.

External DNS changes

ActionDNS Record NameTypeValue
Modify_sipfederationtls._tcpSRV0 0 5061
Modify_sip._tlsSRV0 0 443


Internal DNS changes

ActionDNS Record NameTypeValue
Add_sipfederationtls._tcpSRV0 0 5061

after completing these updated, check via the O365 portal that O365 is reporting the Skype DNS entries as all good. I find this is generally pretty quick, so I assume that the source DNS server is used for DNS record checks and it doesn’t have to wait for convergence.


Step 2 – Check functionality

After an appropriate convergence time, check that all functionality is working before moving on to further steps.

Again, this depends on the size of your environment and your internal and external DNS configuration.

Marks post has a couple of scripts you can run if you wish to speed up the process internally.


Step 3 – Disable Shared SIP Address Space

Ensure you have the Skype for business powershell module

  • Import-Module LyncOnlineConnector
  • $credential = Get-Credential “<yourSkypeForBusinessAdminAccount”
  • $session = New-CsOnlineSession -Credential $credential
  • Import-PSSession $session
  • Set-CsTenantFederationConfiguration –SharedSipAddressSpace $false


Step 4 – Uninstall on premise components

On one of your home servers

  • Open the Skype for Business server control panel or PowerShell (whichever way you prefer)
    • Remove all objects possible (see Phase 3 of this document). These will vary greatly, so I have not listed all of the things to remove, but let me know if you are having trouble with one.
  • Open the Skype of Business topology manager
    • Download your existing topology
    • Remove configuration and components to allow you to strip the environment bare
      • Remove global routes to your edge servers, which will allow the edge servers to be removed
      • Remove application servers
      • Remove any configuration pointing to your mediation servers, then remove them
      • Remove persistent chant pools
      • Remove everything you can, which will be everything except the last server where your CSS is stored (if running standard)
    • Publish the topology
      • Run Skype for Business Server Deployment wizard on the edge and mediation (if this is co-located, there will not be additional mediation servers) servers, and allow it to remove all roles
      • These servers can now be switched off
  • Open the Skype of Business topology manager
    • Download your existing topology
    • Now when right clicking on your final server, if you to “topology” you will have an option of “Remove Deployment”
    • Select this and publish your topology again
  • Open Skype for business management shell
    • Get-CsConferenceDirectory | Remove-CsConferenceDirectory -Force
    • Publish-CsTopology -FinalizeUninstall
    • Run C:\Program Files\Skype for Business Server 2015\Deployment\bootstrapper.exe /scorch
    • Remove-CsConfigurationStoreLocation
    • Disable-CsAdDomain (This will remove the RTC groups from your AD permissions structure)
    • Disable-CsAdForest ((This will remove the CS* groups from your AD)
    • I found once this had completed, a couple of RTC groups still existed under the “users” container. This is likely due to the fact that the domain has hosted versions of Lync/OCS etc. sync LCS 2005. I deleted these manually.
  • Once this was completed, shut down your last Skype for business server on premise.




Mark Vale, August 17 2015, Decommissioning Skype for Business Hybrid and Going Cloud Only

Microsoft,  September 11 2013, Decommissioning a Deployment

Microsoft, March 26 2012, Remove-CsConfigurationStoreLocation

Microsoft, April 12 2011, Publish Final Topology and Remove Last Front End


  1. Hello,
    thank you for useful article. I have the following question for you.
    Assuming there is AADConnect in place; there is Skype for Business on-premise with sip domain @domain01.tld (no hybrid deployment). I moved all users to Sfb Online with sip domain @domain02.tld. While moving, for moved users, I populated two AD attributes msRTCSIP-PrimaryUsersAddress and proxyAddresses with their sip address. If I remove Sfb on-premise from infrastructure and run Disable-CsAdDomain and Disable-CsAdForest, both commands rollback (as written in MS article) the AD preparation so they will remove attributes (e.g. msRTCSIP-*) from schema, is it right ? What’s happen to these attributes already synced with O365 by AADConnect ? Are they necessary to let SfB Online working for end users ? Or the really important attribute is proxyAddresses only, where is defined the SIP address ?

    1. Hi Luca,
      mostly right….

      1) AD schema are never actually removed (its not possible to remove them) but they can be disabled… so even after rollback, if you have a look at your schema, you will still see them there.
      2) The SIP address attributes are still important, its not only the entry in proxyaddresses, however, my understanding is that it is a different set of attributes for users within skype online. On premise you will have the attribute “msRTCSIP-PrimaryUserAddress” – this translates to the attribute “OnPremSipAddress” for skype online users, while the core attribute (so to speak) is the arttribute simply called “sipaddress”. You can check this by connecting up to skype online via powershell ( then running get-CSOnlineUser -identity | select *sip* | fl.
      3) My understanding is that the “msRTCSIP-PrimaryUserAddress” is used to populate everything when the skype online account is initially created, but after you have decommissioned your on-prem and moved completely to skype online, that updating or changing that atttribute will update the “OnPremSipAddress” via AADConnect, but that attribute effectively no longer matters if you are all on skyper online.

      Keep in mind that i have only ever done complete moves over to skype online, i have never left an enviornment (yet) in hybrid long term, so this is not something ive ever really bothered to look at in detail…. I’m reasonably confident im correct, but as per any suggestions coming from a blog – test it in your enviornment with a test user first.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">