Step-By-Step: Uninstalling A Microsoft Lync Server 2013

 

Depending on the circumstances, it is sometimes necessary to uninstall Microsoft Lync Server 2013 a production environment. The example provided in this Step-By-Step showcases a Microsoft Lync Server 2013 environment that is composed of a front-end server and an Edge server. In the standard version, the CMS is hosted in a Microsoft SQL 2012 Express instance collocated with the Front End server. When you delete a deployment, you must publish a topology that contains only the CMS in order to continue to track the changes as the removal process unfolds. The topology document will contain only the most minimal in central management server references. It is necessary to use the Lync Server Deployment Wizard to remove the environment.

Complete the following steps in PowerShell or PowerShell ISE running in Administrator mode. Step 1: Disable Lync users in the pool

Get-CsUser | Disable-CsUser

Step 2: Remove the configured conferences in the pool

Get-CsConferenceDirectory

Identity : 1

ServiceId : UserServer:SV01LYNCFE01.nissarte.ca

TargetServerIfMoving :

Id : 1

Fingerprint : c85d1be8-cafb-453e-8a12-590604bfdb31

Element : <ConferenceDirectory Id="1"

                       Fingerprint="c85d1be8-cafb-453e-8a12-590604bfdb31" xmlns

                       ="urn:schema:Microsoft.Rtc.Management.Settings.PstnConf.

                       2008">

               <ServiceId xmlns="urn:schema:Microsoft.Rtc.Management.

                       Deploy.Topology.2008" SiteId="1"

                       RoleName="UserServices" Instance="1" />

                         <UpaSeparator xmlns="urn:schema:Microsoft.Rtc.Manageme

nt.BaseTypes.2008"></UpaSeparator>

                       </ConferenceDirectory>

 

Retrieve the credentials directory numbers and delete conference with the following command:
 
Get-CsConferenceDirectory -Identity 1 | Remove-CsConferenceDirectory –force

 

Get-CsConferenceDirectory -Identity 1 | Remove-CsConferenceDirectory

Remove-CsConferenceDirectory : Conference directory with ID "1" is not empty.

If you delete this conference directory, you will affect users who use dial-in

conferencing. If you are sure that you want to delete it, use the Force

parameter with this command.

At line:1 char:41

+ Get-CsConferenceDirectory -Identity 1 | Remove-CsConferenceDirectory

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo : NotSpecified: (:) [Remove-CsConferenceDirectory]

   , ConferenceDirectoryException

    + FullyQualifiedErrorId : Conference directory with ID "1" is not empty. If

    you delete this conference directory, you will affect users who use dial

  -in conferencing. If you are sure that you want to delete it, use the Forc

 e parameter with this command.,Microsoft.Rtc.Management.ConferenceDirector

yCmdlets.RemoveConferenceDirectoryCmdlet

You can also remove all conferences with the command:

Get-CsConferenceDirectory | Remove-CsConferenceDirectory -Force

Use the following command to verify that no conference is attached to the pool to be deleted:

Get-CsConferenceDirectory | where { $_.ServiceId.ToString().Contains("SV01LYNCFE01.nissarte.ca") }

Step 3: Remove authorized applications to communicate with the pool.

You can check for this configuration with the following command:

Get-CsTrustedApplication

Clear any existing configurations:

Get-CsTrustedApplication | Remove-CsTrustedApplication –force

 
Step 4:
Remove the votes attached to the pool configurations

Removing object contacts for Exchange UM:

Get-CsExUmContact -Filter {RegistrarPool -eq "SV01LYNCFE01.nissarte.ca"} | Remove-CsExUmContact

 

Deleting object contacts for groups of responses:

Get-CsRgsWorkflow -Identity:Service:ApplicationServer:SV01LYNCFE01.nissarte.ca | Remove-CsRgsWorkflow

Removing objects contacts for conferencing application appointment:

Get-CsDialInConferencingAccessNumber | where {$_.Pool -eq "SV01LYNCFE01.nissarte.ca"} | Remove- CsDialInConferencingAccessNumber

 

Removing phones common areas and pool associated with analog phones:

Get-CsCommonAreaPhone -Filter {RegistrarPool –eq "SV01LYNCFE01.nissarte.ca"} | Remove-CsCommonAreaPhone 

Get-CsAnalogDevice -Filter {RegistrarPool –eq "SV01LYNCFE01.nissarte.ca"} | Remove-CsAnalogDevice

 

Deleting configurations associated call park:

Get-CsCallParkOrbit | Remove-CsCallParkOrbit -Force

 

Step 5: Delete the voice components attached to the pool

Removal of routes:

Get-CsVoiceRoute | Remove-CsVoiceRoute

 

Removing bridges:

Open topology builder and delete all gateways:

Publish topology:

Step 6: Remove the EDGE server

In the topology builder, it is necessary to perform the steps of:

- Remove association of the EDGE server pool to be deleted at the pool:

 

- Disable Federation at the site:

- Remove the EDGE server topology:

- Publish Topology

- Export Configuration from the Front-End server:

      - Import the configuration on the EDGE Server

    Import-CsConfiguration -LocalStore -Filename c:\RemoveEdge.zip

      - Start the bootstrap on the EDGE server:

            %ProgramFiles%\Microsoft Lync Server 2013\Deployment\Bootstrapper.exe

      -To clean the server, remove all Lync components in the console "is adding Remove Programs" and the prerequisite software

 
Step 7: Remove the environment

At this stage of the process, it is necessary to utilize the assistant suppression topology builder.

Close the topology builder.

Open topology builder Download topology from existing deployment and publish the topology

Check the replication status with the commands:

Get-CsManagementStoreReplicationStatus

Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus

 

PS C:\Users\cboucetta> Get-CsManagementStoreReplicationStatus

UpToDate : False

ReplicaFqdn : SV01LYNCFE01.nissarte.ca

LastStatusReport : 6/6/2014 10:07:23 AM

LastUpdateCreation : 6/6/2014 10:07:20 AM

ProductVersion : 5.0.8308.556

PS C:\Users\cboucetta> Get-CsManagementStoreReplicationStatus -CentralManagement

StoreStatus

LastUpdatedOn : 6/6/2014 10:08:03 AM

ActiveMasterFqdn : SV01LYNCFE01.nissarte.ca

ActiveMasterLastHeartBeat : 6/6/2014 10:08:18 AM

ActiveFileTransferAgentFqdn : SV01LYNCFE01.nissarte.ca

ActiveFileTransferAgentLastHeartBeat : 6/6/2014 10:08:09 AM

ActiveReplicas : {SV01LYNCFE01.nissarte.ca}

DeletedReplicas : {SV01LYNCEDGE01.nissarte.com}

Au terme de la réplication entre le serveur de gestion centralisée et le serveur Front-End, il est possible de supprimer définitivement le serveur de gestion centralisée.

Publish-CsTopology -FinalizeUninstall

PS C:\Users\cboucetta> Publish-CsTopology -FinalizeUninstall

Deleting server "SV01LYNCFE01.nissarte.ca" in pool "1-ApplicationServer-1".

-

One or more applications or external servers have been deleted.

When you delete an application or external server, you delete all configuration

 state information for the hosted applications. Do you want to continue?

[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] ``Help

(default is "Y"):Y

 
We can now remove the rest of the environment with the bootstrapper:

C:\Program Files\Microsoft Lync Server 2013\Deployment\bootstrapper.exe /scorch

 

PS C:\Program Files\Microsoft Lync Server 2013\Deployment> .\Bootstrapper.exe /SCORCH

Logging status to: C:\Users\cboucetta\AppData\Local\Temp\Bootstrap-CsMachine-[2014_06_06][10_46_27].html

Checking prerequisites for bootstrapper...

Checking prerequisite WMIEnabled...prerequisite satisfied.

Checking prerequisite NoBootstrapperOnBranchOfficeAppliance...prerequisite satisfied.

Checking prerequisite SupportedOS...prerequisite satisfied.

Checking prerequisite NoOtherVersionInstalled...prerequisite satisfied.

Disabling unused roles...

Executing PowerShell command: Disable-CSComputer -Confirm:$false -Verbose -Scorch -Report "C:\Users\cboucetta\AppData\Local\Temp\Disable-CSComputer-[2014_06_06][10_46_32].html"

Removing AdminTools.msi(Feature_AdminTools)...success

Removing AppServer.msi(Feature_AppServer)...success

Removing MgmtServer.msi(Feature_FTA, Feature_Master, Feature_MGMTServer)...success

Removing Server.msi(RegistrarStoreUpdate, Feature_Server, Feature_Server_Update)...success

Removing WebComponents.msi(Feature_Web_AddressBook_Ext, Feature_Web_AddressBook_Int, Feature_Web_AdminUI_Int, Feature_Web_Autodiscover_Ext, Feature_Web_Autodiscover_Int, Feature_Web_CertProv_Ext, Feature_Web_CertProv_Int, Feature_Web_DataCollab_Ext, Feature_Web_DataCollab_Int, Feature_Web_DataMCUWeb_Ext, Feature_Web_DataMCUWeb_Int, Feature_Web_DevUpdate_Ext, Feature_Web_DevUpdate_Int, Feature_Web_Dialin_Ext, Feature_Web_Dialin_Int, Feature_Web_GroupExpansion_Ext, Feature_Web_GroupExpansion_Int, Feature_Web_HybridConfig_Ext, Feature_Web_HybridConfig_Int,Feature_Web_JoinLauncher_Ext, Feature_Web_JoinLauncher_Int, Feature_Web_LocationInfo_Int, Feature_Web_Lwa_Ext, Feature_Web_Lwa_Int, Feature_Web_Mcx_Ext, Feature_Web_Mcx_Int, Feature_Web_PassiveAuth_Ext, Feature_Web_PassiveAuth_Int, Feature_Web_PersistentChat_Int, Feature_Web_PersistentChatRM_Ext, Feature_Web_PersistentChatRM_Int, Feature_Web_Powershell_Int, Feature_Web_Reach_Ext, Feature_Web_Reach_Int, Feature_Web_Rgs_Ext, Feature_Web_Rgs_Int, Feature_Web_RgsConfig_Int, Feature_Web_StoreWeb_Ext, Feature_Web_StoreWeb_Int, Feature_Web_Ucwa_Ext, Feature_Web_Ucwa_Int, Feature_Web_WebScheduler_Ext, Feature_Web_WebScheduler_Int, Feature_Web_WebTicket_Ext, Feature_Web_WebTicket_Int)...

Step 8: Remove the database

When you delete the Microsoft Lync Server 2013 environment, you must also delete the files database and logs. In the present example, the environment is like Standard, the Central Management Store is collocated with the Front End server.

Removing Lync data bases associated with the pool:

Uninstall-CsDatabase -DatabaseType Application –SqlServerFqdn sv01lyncfe01. Nissarte.com –SqlInstanceName rtc

Removing the CMS :

Uninstall-CsDatabase -CentralManagementDatabase –SqlServerFqdnsv01lyncfe01. Nissarte.ca -SqlInstanceName rtc

You can now delete the SCP Central Management Store present in the active directory with the command:

 

Remove-CsConfigurationStoreLocation

 

At this stage of the process, you can now remove the front-end all the necessary prerequisite for the deployment of Lync and SQL components.

Step 9: Reverse Domain Preparation

During the installation phase of Microsoft Lync Server 2013, a domain preparation was necessary, the following command removes the operations performed in the Active Directory:

 

Disable-CsAdDomain

PS C:\Users\cboucetta> Disable-CsAdDomain

Disable Domain

Removes Active Directory access control entries (ACEs) required to host Lync Server services in a domain. Any Lync Server services still in the topology might not function properly. Are you sure you want to proceed?

[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help

(default is "Y"):

 

Step 10: Invert the preparation of the forest

During the installation phase of Microsoft Lync Server 2013, a preparation of the forest was necessary, the following command removes the operations performed in the Active Directory:

 

 Disable-CsAdForest