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
Comments
- Anonymous
May 09, 2016
Many Thanks - Stood this up in a TEST environment and it never got deployed, your guide was great step-by-step for decommission. - Anonymous
May 13, 2016
The comment has been removed- Anonymous
May 13, 2016
Disregard. I was able to run "disable-csaddomain -force" successfully.Thanks!
- Anonymous