Tag Archives: Cumulative Updates

#Skype4B : Install cumulative updates on Skype for Business Part III


This is a continuation of my preceding blog post Install cumulative updates on Skype for Business Part II and focus on backend database updates. In part II of this blog series we updated all the Skype for Business servers. Now, In this post will update backend databases and Central Management Store.

First you have to make sure your all the databases are Principal on Primary Server.

When I cross checked my Back End server, I found locslog is not principal on primary server.

Now run Invoke-CsDatabaseFailover –PoolFqdn <FE Pool Fqdn> -NewPrincipal Primary –DatabaseType <Database type>

Note: Database type will be User, Application, Archiving and Monitoring whichever are applicable in your case.

Now check the database again and make sure all the databases are on Primary and Synchronized otherwise troubleshoot.

Run Install-CsDatabase –ConfigurationDatabases –SqlServerFqdn <BE Fqdn> -Verbose

(In my case, BE databases, Archiving and Monitoring are collocated)

Now update the Persistent Chat database if applicable.

Install-CsDatabase –ConfiguartionDatabases –SqlServerFqdn <PChat BE Fqdn> -Verbose

Update all the Standard Edition and Enterprise Edition FE pools/servers, in my case I have 2 SE server and 1 EE FE pool.

Once you are done with all the SfB servers.

Update Central Management Server.

Install-CsDatabase –CentralManagementDatabase –SqlServerFqdn <CMS Fqdn> -SqlInstance <Instance name> -Verbose

Update topology by running Enable-CsTopology

Run Bootstrapper.exe in all the SfB servers.

I hope this document helped you J

#Skype4B : Install cumulative updates on Skype for Business Part II


This post is a continuation of my preceding post which describes Lync/SfB CU installation process. In this part, I’ll follow the steps which are mentioned in my preceding post and will update my SfB Enterprise Edition pool.

To begin with the CU installation process, download SfB cumulative update and copy it to all the SfB servers.

Open SfB management shell on one of the FE server.

Run Get-CsPoolUpgradeReadinessState to verify the pool readiness state. State should be Ready for the pool and IsReadyForUpgarde should be True for all the upgrade domains with in the same pool.

Run Invoke-CsComputerFailover -NoStop -ComputerName <Computer.FQDN> to failing over the FE server which needs to be updated.

The above cmdlet will disable all the SfB services.

Now, stop all the services by running Stop-CsWindowsService -Graceful

Cross verify the services state through services.msc

Note: Run SkypeServerUpdateInstaller.exe, it will verify all the SfB services state if services are running it will show you all the services which are running or in paused state. Stop all the services and run again.

Once everything is fine, update installer will come up and you can click on Install Update tab to start the installation.

Command prompt will show you the progress.

After successful installation server will reboot.

After reboot you can verify the services, you will find all the services are still in disabled state.

Now, you need to run Invoke-CsComputerFailback -ComputerName <Computer.FQDN> to failback the computer.

Once failback will complete, you can see the message “Machine <FE.fqdn> successfully failed back.

And you can verify all the services.

Now, follow the same process for all the SfB servers except Back End database servers.

Part III of this post will cover the Back End and CMS update process.

#Skype4B : Install cumulative updates on Skype for Business Part I


To update existing system or technology is a continual process in Information Technology. It is applicable in all circumstances either personal devices or business infrastructure.

In this blogpost, I’ll cover the step by step process to update Skype for Business server infrastructure. To make this process simple, Lets divide this process in three phases.

  • Planning
  • Execution
  • Verification

Part I of this blogpost will describe the planning phase while Part II with cover the execution and verification.

Your existing SfB infra may have simple topology or complex topology. When I say simple topology; it means your SfB infra has single site or two site with site resiliency configuration while complex topology means you have multiple sites with different versions and editions of SfB.

Though steps are common for all kind of topologies but sequence may change based on the configuration. Below are the steps in detail which you need to perform at the time of upgrade.

  • Download the latest cumulative updates. If Lync Server 2013 still exist in your topology you can download the CU here.
  • Verify the upgrade readiness state of your SfB pool.

Run Get-CsPoolUpgradeReadinessState on Standard Edition Server or Front End Server in Enterprise Edition to verify the readiness state.

In the result you can get three different values. In Enterprise Edition if State is Ready and IsReadyForUpgrade is True under UpgradeDomains for the same upgrade domain then you are good to go otherwise try to resolve the issue if State is Busy or InsufficientActiveFrontEnds. While in Standard Edition you have to make sure State is not Busy and IsReadyForUpgrade is True under UpgradeDomains for the same upgrade domain.

  • Install the CU on each Front End, Mediation, Director, Persistent Chat and VIS.

    First failover the computer by running Invoke-CsComputerFailover -NoStop -ComputerName <Computer.FQDN> in Enterprise Edition pool and then stop the services gracefully by running Stop-CsWindowsService –Graceful. If you have Lync 2013 servers, SfB Standard Edition or updating SfB servers in scheduled downtime then you can run Stop-CsWindowsService –Graceful to stop the services gracefully.

Run SkypeServerUpdateInstaller.exe or LyncServerUpdateInstaller.exe to install all the updates based on the version.

Run Invoke-CsComputerFailback -ComputerName <Computer.FQDN> for failback of each FE server after update in SfB Enterprise Edition pool.

Note: Follow the same process for each upgrade domains until all upgrade domains in the pool are updated.

  • Update the Back End servers.

In this step update all the Back End servers which are associated with the updated Standard Edition or Enterprise Edition Front End pool.

Standard Edition:

Install-CsDatabase -ConfiguredDatabases –SqlServerFqdn <SE.FQDN> -Verbose

Enterprise Edition:

If you are using Enterprise Edition you can have three different configuration for Back End databases. Make sure Primary Server is Principal for all the databases if you are using SQL Mirror for the Back End database. Run Invoke-CsDatabaseFailover -NewPrincipal and verify Primary Server is Principal for all the databases. Once you have confirmed, run the following cmdlets based on your database configuration.

  1. All databases including Archiving, Monitoring and Persistent Chat on the same server.

    Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <FEBE.FQDN> -ExcludeCollocatedStores -Verbose

    Install-CsDatabase -DatabaseType PersistentChat -SqlServerFqdn <PChatBE.FQDN> -SqlInstanceName <DBInstance> -Verbose

  2. Only Archiving and Monitoring databases are collocated with FE Back End database.

    Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <FEBE.FQDN> -Verbose

  3. Archiving, Monitoring and Persistent Chat databases are not collocated with FE Back End server.

    Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <FEBE.FQDN> -Verbose

    Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn <SQLServer.FQDN> -Verbose

Note: Specify SQL server fqdn in all the cmdlets if you are not using default instance.

  • Update the Central Management Store.

Upgrade the Central Management store by running Install-CsDatabase -CentralManagementDatabase -SqlServerFqdn <CMS.FQDN> -SqlInstanceName <DBInstanceName> -Verbose

Note: All the existing FE pools and BE servers have been updated successfully before running this cmdlet. If you have coexistent environment with Lync 2013 or Lync 2010 don’t run this command. For more information contact Microsoft or refer TechNet articles.

  • Enable Mobility.

Run Enable-Topology.

  • Run the bootstrapper.exe on all the FEs, Mediations and Directors on which the web components are installed and updated.

In Part II of this blog post, I’ll cover all the steps which are required for execution and verification process.