SfBS 2019 CU2 December 2019

Just in time for an early Christmas we have CU2 for SfBS2019. This update builds upon September’s CU1 HF1, updating eleven components on my SE Front-End. It takes the build from 7.0.2046.143 to 7.0.2046.151.

What’s Fixed?

  • 4525498 Ability to add server roles in tri-existence mode will be blocked in Skype for Business Server 2019
  • 4525496 Skype for Business Server 2019 continues to write to CLS ETL even after CLS logging is stopped
  • 4507233 Enterprise users can’t request control of an anonymous user’s shared screen in Skype for Business Server 2019
  • 4507232 Resuming a PSTN call that was put on hold results in one-way audio in Skype for Business Server 2019
  • 4510851 SCOM SQL alerts are created every hour on SQL secondary replica server if “Always On” for Monitoring server is set in Skype for Business Server 2019
  • 4510844 Can’t find the response group agent that’s synced from an existing distribution list in Skype for Business Server 2019
  • 4510855 Can’t edit interactive RGS workflows via the web interface in Skype for Business Server 2019
  • 4526182 In-a-meeting and Presenting presence states are available for UCWA clients in Skype for Business Server 2019
  • 4510850 Skype for Business on Mac user’s latest photo can’t be seen until signing in to a Windows client in Skype for Business Server 2019
  • 4510846 “InstallDatabaseInternalFailure: An internal error has occurred…” error when you install new databases in Skype for Business Server 2019
  • 4525504 bootstrapper.exe doesn’t work in Skype for Business Server 2019
  • 4511313 “Too many outstanding requests for a single user” error occurs on Front-End servers in Skype for Business Server 2019
  • 4532748 New registry key “\SOFTWARE\Microsoft\ExchangeServer\v15\MSExchange OWA” for Skype for Business Server 2019
  • 4503584 “The Audio/Video Conferencing Server has failed to create a conference” error (ID 32005) occurs on Audio/Video Conferencing Server in Skype for Business Server 2019
  • 4525500 Users who’re not Enterprise Voice enabled can dial out when PreventPSTNTollBypass is true in Skype for Business Server 2019
  • 4525499 Call forwarding and voice mail not working for LBR users who’re signed out of all clients in Skype for Business Server 2019
  • 4518680 Can’t transfer external calls by using Polycom VVX phones in Skype for Business Server 2019
  • 4510847 Rate My Call on UCWA clients still shows in Skype for Business Server 2019
  • 4525503 Support Skype Meetings App loading the latest source from CDN if ECS request fails in Skype for Business Server 2019
  • 4487817 Conversation History time stamp in Outlook differs from the time stamp of UCWA clients in Skype for Business Server 2019

Continue reading ‘SfBS 2019 CU2 December 2019’ »


Inspired by a question from John Cook on Twitter, I’ve taken my “Update-RibbonADCache.ps1” script, and through the magic of “Save As” we now have Get-RibbonSbcUptime.ps1.

Get-RibbonSbcUptime.ps1 invokes a REST login to your Sonus/Ribbon SBC 1k/2k/SWe-Lite and reports how long it’s been running: the CpuUptime.

It outputs to the pipeline either a timespan object, or a literal string in the same format the SBC displays on its System/Overview tab.


Continue reading ‘Get-RibbonSbcUptime.ps1’ »

Adventures with Import- and Update-CsUserData Pt.1

I’ve spent a lot of time this year working with the <verb>-CsUserData commandlets in SfB, and it’s been an interesting time.

This is part 1 in a series where I document the traps I’ve fallen into with the Import-CsUserData and Update-CsUserData commands in particular.

Part 1 – Update-CsUserData fails on bad data.


My customer is a LARGE deployment, and they’re moving from Lync 2010 in a user forest to SfB 2015 in a resource forest. In an effort to make this transition as seamless as possible for the users, the plan is to migrate all their contacts (their “buddies”) from the existing platform to the new.

The approach we’ve taken breaks the process into multiple steps:

  1. Export-CsUserdata on Lync.
  2. Use a bespoke PowerShell script to break down the single data export (all 10+ Gig of it) into a contact list XML file for each user.
  3. Use Convert-CsUserData and the “-TargetVersion Current” switch to convert each user’s file from Lync’s XML to SfB’s ZIP format.
  4. Sanity-check each user’s file with “Update-CsUserData -TestMode”.
  5. Import the data. We initially chose “Update-CsUserData” and fell into a hole, so we changed to “Import-CsUserData” – and fell into a different one.

This series will document those bugs and hopefully prevent others from earning the same scars.

Continue reading ‘Adventures with Import- and Update-CsUserData Pt.1’ »

Cannot Start Microsoft Outlook

I’ve been travelling a lot for work this year, and when I’m away from home I generally leave my home PC on.

It was upon returning from a work trip that I found Windows had pushed an update to it, and it had restarted – and from that moment, Outlook was broken.

Cannot start Microsoft Outlook. Cannot open the Outlook window. The set of folders cannot be opened. The attempt to log on to Microsoft Exchange has failed.

I tried all the usual suspects thinking this was going to be a quick fix:

  1. Repair Office.
  2. Run Outlook in Safe mode. (Start / Run / outlook.exe /safemode).
  3. Reset the nav pane (Start / Run / outlook.exe /resetnavpane).
  4. Create a new profile. (Start / Control Panel / Mail / Show Profiles / Add…)
  5. Ran the “Outlook Support & Recovery Assistant“.

No dice.
Continue reading ‘Cannot Start Microsoft Outlook’ »

SFBS 2019 CU1 HF1 – September 2019

To borrow from the tourist trap t-shirt, “I was hoping for a CU, and and all I got was this lousy HF”. Oh well, any fix is a good fix. This update builds upon July’s CU1, updating only two components on my SE Front-End. It takes the build from 7.0.2046.123 to 7.0.2046.143.

What’s Fixed?

  • Kb 4518403 Event ID 25075 on Mediation server regarding SipHealthMonitor not being configured in Skype for Business Server 2019.
  • Kb 4518404 Call Queue agent can’t transfer PSTN call to internal Skype for Business Online user from different SIP domain in Skype for Business Server 2019.

What’s New?

Nothing noted. There are no new cmdlets added in this update.

What’s Changed?

Nothing noted.

Known Issues

Nothing noted.

Continue reading ‘SFBS 2019 CU1 HF1 – September 2019’ »

Microsoft Teams Deep-Dive – Canberra follow-up

I presented a Teams Deep-Dive session at Microsoft’s office in Canberra this week.

At the end there were a few links I wanted to share with the participants, and a few homework questions I wanted to research and respond to. A blog post seemed the obvious way to provide them with that info.

The below will be of greatest relevance to the attendees, but even if you weren’t there I think you’ll find some bits of interest.


Continue reading ‘Microsoft Teams Deep-Dive – Canberra follow-up’ »

SfB 2015 Server Update – August 2019

Hot on the heels of last month’s CU10 comes CU10 HF1 – the “whoops” fix-up release.

This is build 6.0.9319.562, and it updated three components on my Standard Edition Front-End.

What’s Fixed?

  • 4518680 Can’t transfer external calls by using Polycom VVX phones in Skype for Business Server 2015
  • 4518679 Skype meeting disconnection due to missing session refresh in Skype for Business Server 2015

Note The fix for the following issue is reverted and it is not included in this cumulative update.

  • KB 4507230 Support LBR and branch site voice resiliency conflicting requirements in Skype for Business Server 2015

What’s New?

Nothing noted. No cmdlets have been added to the SfB module in this update.

Continue reading ‘SfB 2015 Server Update – August 2019’ »

Cscp logs Event 35009 – “Authorization Failed”

My colleagues and I recently encountered an intermittent problem with the CSCP reporting “Authorization Failed” when you tried to sign in.

This was a Skype for Business 2015 Enterprise Edition pool, and so it didn’t take long to localise the issue to just one Front-End server.

Each failed attempt dropped an instance of event 35009 into the “Lync Server” log:

Remote PowerShell cannot create InitialSessionState for user S-1-5-20. Cause of failure: Cannot find user in Active Directory with the following SAM account name: "S-1-5-20"

That SID belongs to the NT Authority / Network Service – and when we succeed on another machine, we see the traces* correctly trying to sign in as the SID of my admin account.

(* The reference to PowerShell in the log gave us cause to review the Centralised Logging for the “PowershellWebService” scenario, but it didn’t seem to add a great deal of value.)

A successful sign-in also drops the more friendly 35008 into the log:

Continue reading ‘Cscp logs Event 35009 – “Authorization Failed”’ »

Review: Poly EagleEye Mini USB camera

I’m a little late to get my mitts on an EagleEye Mini USB camera, but circumstances recently gave me cause to take a closer look.

If you’ve not encountered it before, the Mini is a compact 1920×1080 HD USB camera, initially designed to slot into the top USB port on your VVX501 or 601, but nowadays also supported on a Trio with Visual+, and even on a PC or Mac.


Poly’s website reports its features thus:

  • High-definition 1080p60 capture with true color hue saturation and brightness for the most accurate color rendition and life-like images
  • 4x electronic zoom and a 74-degree field of view
  • Simulcast video stream
  • Installs in seconds – no drivers needed

It’s officially a supported peripheral for Skype for Business video calls on a computer or video conferencing device.
Continue reading ‘Review: Poly EagleEye Mini USB camera’ »



I have the occasional need to send log files to Microsoft and other vendors from customers who have strict IT security requirements. These customers usually require all files be de-identified before they leave the premises, removing all host names and IP addresses.

This can be quite a tedious process, so I’ve created a small script file that edits a provided text file and:

  • uses a “find/replace” CSV file to replace all instances of sensitive text with replacement values.
  • obfuscates any unchanged IP addresses, replacing them with dummy text in the format “aa.bb.cc.nn”, where the “nn” is the same number where-ever that IP address is encountered in the document. (e.g. the third IP address that’s found in the file will be renamed “aa.bb.cc.3”).

At a minimum, you only need to provide an -InputFile. With only this, the script will replace all IP addresses with dummy values, then save a copy of the file with a “-new” suffix.

Continue reading ‘New-ObfuscatedFile.ps1’ »