Monday, March 25, 2019

Deploying Skype for Business Server 2019 on Windows Server 2019 in a Skype for Business Server 2015 environment

I’ve recently had the opportunity to deploy Skype for Business Server 2019 on Windows Server 2019 in a Skype for Business Server 2015 environment and decided to capture the process so I can write this blog post demonstrating what the deployment process looks like.

Before I proceed, the deployment guide I will be using can be found here:

Skype for Business Server 2019


Forest and Domain Functional Level

Verify that the forest and domain functional level is at one of the following levels:

  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012

Windows Roles and Features

Install the required roles and features with the following PowerShell cmdlet:

Add-WindowsFeature RSAT-ADDS, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Server-Media-Foundation, Telnet-Client

Skype for Business Server 2015 Coexistence

I could not find any documentation identifying which CU a legacy SfB 2015 environment needs to be in order for coexistence to work properly as the following article is the only section I found in the document:

I ended up going with the latest January 2019 (CU8) for the environment I was installing SfB 2019 in and have not had any problems.

Preparing Install for Skype for Business Server 2019

Launch the Setup.exe executable as administrator:

Those who have installed SfB 2015 would find that the interface hasn’t changed much:

As there is already a Skype for Business Server 2015 deployment in the environment, I would not need to run the Prepare first Standard Edition server. I’ve also noticed that the Prepare Active Directory step already had a Complete check mark beside it, which most likely because there hasn’t been any changes from SfB 2015.

Installing Administrative Tools

Proceed to run Install Administrative Tools:

Defining Skype for Business Server 2019 Topology

Launch the Topology Builder from the start menu and download the existing topology:

Begin by defining a file store for the new Skype for Business Server 2019 environment by navigate to Shared Components > File stores then right click and select New File Store…:

Fill in the FQDN (make sure you use the FQDN and not the short server name) of the file server that will host the SfB files and the share name:

With the file store defined, proceed to create the new standard front-end server by navigating to Skype for Business Server 2019 > Standard Edition Front End Servers then right click and select New Front End Pool..:

Enter the FQDN of the server name that the front-end services will be installed onto:

Select the appropriate features required for the front-end server:

As this is a standard edition deployment, a local SQL Server Express will be installed:

Select the previously defined file store:

**Note that the path in the screenshot below should be the FQDN of the server.

Fill in the external URL for the Web Services URL:

Associate the existing or new Office Web Apps Server if one exists in the environment:

The new front-end server should now be created:

Proceed to publish the topology:

Review the warnings to ensure that they are not deployment impacting.

For those who are interested, the required security permissions for the file store that was defined earlier are automatically configured after publishing the topology:

Installing Skype For Business Server 2019 Front-End Server

Proceed and run Install or Update Skype for Business Server System:

Run the Install Local Configuration Store:

Proceed to run the Setup or Remove Skype for Business Server Components:

With the components successfully installed, proceed to request, install and assign the certificates:

Note that the OAuthTokenIssuer already had a certificate issued because there is an existing SfB 2015 deployment in the environment.

Depending on the way you’ll be publishing the Web services external service, you may want to assign a certificate issued by a public Certificate Authority but for the purpose of this demonstration, we’ll create a certificate for all 3 services from an internal Microsoft Enterprise CA:

Proceed to leave the Assign this certificate to Skype for Business Server certificate usages checked and click Finish:

Assign the certificate to the services:

All of the services should now have a check mark beside them:

Start Skype for Business Server 2019 Services

Scroll down to the Start Services section:

Click on the Run button for Service Status (Optional) to bring up the Services console:

Run the Start-CsWindowsService cmdlet in the Skype for Business Server Management Shell to start all of the services:

Confirm that all the services start:

Launch the Skype for Business Server 2019 Control Panel to confirm accessibility:

You can now continue with any other migration tasks such as moving pilot users over to verify functionality and/or migrate over services over.

Saturday, March 23, 2019

Attempting to use SEFAUtil.exe to configure call forwarding on a Lync Server 2013 server fails with: SEFAUtil.exe has stopped working


You attempt to use the SEFAUtil.exe executable in the Lync Server Resource Kit Tools to configure call forwarding on a Lync Server 2013 server but it immediately fails with:

SEFAUtil.exe has stopped working


Stopped working

Problem signature:

Problem Event Name: CLR20r3

Problem Signature 01: sefautil.exe

Problem Signature 02:

Problem Signature 03: 4cc149b9

Problem Signature 04: SEFAUtil

Problem Signature 05:

Problem Signature 06: 4cc149b9

Problem Signature 07: 1

Problem Signature 08: 7

Problem Signature 09: System.IO.FileNotFoundException

OS Version: 6.3.9600.

Locale ID: 2057

Read our privacy statement online:

If the online privacy statement is not available, please read our privacy statement offline:


Closing the pop-up window then displays the following output:

PS C:\Program Files\Microsoft Lync Server 2010\ResKit> .\SEFAUtil.exe / /enablefwdimmediate /

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass

embly 'Microsoft.Rtc.Collaboration, Version=, Culture=neutral, PublicKeyT

oken=31bf3856ad364e35' or one of its dependencies. The system cannot find the fi

le specified.

File name: 'Microsoft.Rtc.Collaboration, Version=, Culture=neutral, Publi


at SEFAUtil.SefaTool.Execute()

at SEFAUtil.Program.Main(String[] args)

WRN: Assembly binding logging is turned OFF.

To enable assembly bind failure logging, set the registry value [HKLM\Software\M

icrosoft\Fusion!EnableLog] (DWORD) to 1.

Note: There is some performance penalty associated with assembly bind failure lo


To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fus


PS C:\Program Files\Microsoft Lync Server 2010\ResKit>

You document the Trusted Application and Trusted Application Pool, remove and recreate it but the error still persists.


One of the things I noticed for this environment was that the ResKit was installed in the Microsoft Lync Server 2010\ResKit directory so I initially reran the ResKit install ( to see if it would upgrade it but the window I was presented with was to either repair or remove. I ended up choosing repair but this did not correct the issue. After not having any luck with other troubleshooting steps, I went ahead and uninstalled the 2010 tools and reinstalled into the Microsoft Lync Server 2013\ResKit and this corrected the issue. It appears the ResKit installer does not identify whether the existing install was for 2010 or 2013.

The following is the successful output:

PS C:\Program Files\Microsoft Lync Server 2010\ResKit> .\SEFAUtil.exe / /enablefwdimmediate /

User Aor:

Display Name: Terence Luk

UM Enabled: True

Simulring enabled: False

Forward immediate to:

PS C:\Program Files\Microsoft Lync Server 2013\ResKit>