These are some notes and Items I had to finalize before I could fully decommission LYNC 2010 from the new 2013 Topology.

The basic information for this topology was 3 sites all Lync Standard Pools with Mediation.

Had CAC deployed in the site, however it is no longer needed, when removing the 2010 server that was hosting CAC, it produces an error, however it can be ignored as it will just remove CAC from the site.

We all know that you have to migrate all of the users from the LYNC pool before you can do anything; this is probably the easiest thing to do. However you may find that you still get errors when you try to remove the 2010 server.s Here are some PowerShell commands you can run to check for additional things that maybe in use.

Get-CsCommonAreaPhone -Filter {RegistrarPool -eq “<2010 pool fqdn>”}
Get-CsAnalogDevice -Filter {RegistrarPool -eq “<2010 pool fqdn>”}
Get-CsExUmContact -Filter {RegistrarPool -eq “<2010 pool fqdn>”}
Get-CsConferenceDirectory | Where-Object {$_.ServiceID -like “*<2010 pool fqdn>”}
Get-CsCallParkOrbit | Where-Object {$_.CallParkServerFQDN -match “<2010 pool fqdn>”}
Get-CsUnassignedNumber | Where-Object {$_.AnnouncementServerFqdn -eq “<2010 pool fqdn>”}
Get-CsApplicationEndpoint -Filter {RegistrarPool -eq “<2010 pool fqdn>” -and DisplayName -like “*Conf*”}

These are some Commands to run to move these items to the new Pool.

Get-CsExUmContact -Filter {RegistrarPool -eq “<2010 pool fqdn>”} | Move-CsExUmContact -Target <target pool fqdn>
Get-CsConferenceDirectory | Where-Object {$_.ServiceID -like “*<2010 pool fqdn>”} | Remove-CsConferenceDirectory
Get-CsCallParkOrbit | Where-Object {$_.CallParkServerFQDN -match “<2010 pool fqdn>”} | Set-CsCallParkOrbit -CallParkServerFqdn <target pool fqdn>
Get-CsApplicationEndpoint -Filter {RegistrarPool -eq “” -and DisplayName -like “*Conf*”} | Move-CsApplicationEndPoint  -Target “<target pool fqdn>”

The Unassigned Numbers posed a different problem. For some reason the FE Server was not a trusted application server More to follow.


Some Voice Routing Changes.

When we transitioned from 2010 to 2013 at one of the sites we chose to use a SBA, during the transition we left most of the voice routing and trunks alone and created new trunks with alternate names, this helped test the transition and voice policies without breaking everything all at once. There were a few routes still using the old names.

Get-CsVoiceRoute | Where-Object {$_.PstnGatewayList -like “*<old GW Name>*”}

Update With new Gateway Names

Get-CsVoiceRoute | Where-Object {$_.PstnGatewayList -like “*<old GW Name>*”} | Set-CsVoiceRoute -PstnGatewayList @{add=”<New GW Name>”}

This still leaves the Gateway in the route; I’m sure there is a way to do it with one command but I chose to use two.

Get-CsVoiceRoute | Where-Object {$_.PstnGatewayList -like “*<old GW Name>*”} | Set-CsVoiceRoute -PstnGatewayList @{remove=”PstnGateway:<old GW name>”}

*NOTE – There may be other items that need to be checked; these are just items I discovered as I removed 2010 from our Production deployment.

Now you can run Step 2 of the deployment wizard to remove Lync from the topology and fully uninstall Lync from each of the Servers.

Once this is complete on all of the deleted servers, I removed the “Site” from the topology as this branch office is running on an SBA as part of the main office.

Don’t forget to remove and UP IP Gateways pointing to LYNC FE Servers that no longer exist.

Remove-UMIPGateway -id “<Gateway Name>”

Another finding, don’t forget to update all of your DNS  records and DHCP Option that may have still been pointing to the old Lync Pools.