Saturday, April 2, 2016

Cumulative Update List (Skype for Business Server 2015)

Version Number, Release Date, Download Link

6.0.9319.235 (CU2) March 2016
6.0.9319.102 November 2015
6.0.9319.88  September 2015
6.0.9319.55  June 2015
6.0.9319.0   RTM NA

You can verify the installed component version:



Cumulative Update (Lync 2013)

Version Number, Release Date, Download Link

5.0.8308.945 January 2016
5.0.8308.941 December 2015
5.0.8308.933 September 2015
5.0.8308.920 July 2015
5.0.8308.887 May 2015
5.0.8308.872 February 2015
5.0.8308.857 December 2014
5.0.8308.834 November 2014
5.0.8308.831 October 2014
5.0.8308.815 September 2014
5.0.8308.738 August 2014
5.0.8308.577 January 2014
5.0.8308.556 October 2013
5.0.8308.420 July 2013
5.0.8308.291 February 2013
5.0.8308.0   RTM NA


Skype for Business Command Output shown as cropped List : Get-CsSimpleURLConfiguration

If a Skype for Business Get-Cs command provides an output as list, which is longer, it will provide a cropped output only.

The solution towards is, you need writing the output into a variable and screen print it into the command shell.


Identity  : Global
SimpleUrl : {Component=Dialin;Domain=*;ActiveUrl=
            dialin, Component=Meet;;ActiveUrl=https://l
  , Component=Meet;Domain=
            .com/meet, Component=Meet;;ActiveUrl=https

Getting the entire output you need the shell providing the output in a variable


This should output something like this:
PS > $A=Get-CsSimpleUrlConfiguration
PS > $a.SimpleUrl

SimpleUrlEntry : {Url=}
Component : Dialin
Domain : *
ActiveUrl :

SimpleUrlEntry : {Url=}
Component : Meet
Domain : *
ActiveUrl :

If you wish writing the output into a txt file, simple use:
PS > $a.SimpleUrl > C:\output.txt

Just making the article complete, a new Simple URL will be added in a similar way:

$urlEntry = New-CsSimpleUrlEntry -Url “”

$simpleUrl = New-CsSimpleUrl -Component “WebScheduler” -Domain “*” -SimpleUrlEntry $urlEntry -ActiveUrl “”

Set-CsSimpleUrlConfiguration -SimpleUrl @{Add=$simpleUrl} -Verbose

Added Note:
Thanks to my MVP mate Greig Sheridan, he figured out a more simple way of showing an entire list element.


This enables PowerShell showing unlimited elements in a list. as per default this variable is set to 3. Changing it too -1 removes the limitation and provides a full inside view of the list element.

Tuesday, March 22, 2016

Event 1034, LS File Transfer Agent Service fail after server removal

After a pool and his associated Edge server were decommissioned, I consistently receiving this error:


Skype for Business Server 2015, File Transfer Agent service encountered an error while accessing a file share and will continuously attempt to access this file share until this issue is resolved. While this condition persists, replication to replica machines might not occur.

Access denied. (\\\xds-replica\from-master\

Cause: Possible issues with file share permissions. This can occur if the computer hosting the file share has outdated cached credentials for the computer that is trying to access the file share.


For details about how to resolve file share permission issues, see the product documentation.

Event ID: 1034
Task Category: 1121

Next I need to check some leftovers from the decommissioning.
Checking the Central Management Store Status gave me a hint:

PS C:\Windows\system32> Get-CsManagementStoreReplicationStatus -CentralManagementStoreStatus

LastUpdatedOn                        : 22/03/2016 6:48:58 PM
ActiveMasterFqdn                     :
ActiveMasterLastHeartBeat            : 22/03/2016 6:52:18 PM
ActiveFileTransferAgentFqdn          :
ActiveFileTransferAgentLastHeartBeat : 22/03/2016 6:52:17 PM
ActiveReplicas                       : {,}
DeletedReplicas                      : {,}

PS C:\Windows\system32>

I was able and saw the DeletedReplicas.

Normal the Invoke-CsManagementStoreReplication should solve the problem, but simply it didn't work out.

Even if you had decommission a server proper, which is:
1. remove from Topology
2. must Disable-CsComputer

If you run Bootstrapper, the Disable/ Uninstallation is not working.

They stuck still in the DeletedReplicas.

The only solution,(but not support if you can run Disable-CsComputer any longer) is, you have to remove them manually from the XDS database.

Go the SQL CMS Server and execute the script finding the left over servers:

USE xds
GOSELECT [ReplicaId]
FROM [dbo].[Replica]

Than identify the DeletedReplica Server and delete them with:

delete [dbo].[Replica] where [ReplicaId] in (1,4)
where (1,4) are the column identified with the DeletedReplicas server.

This should support this issue.

Friday, March 18, 2016

Move User from a dedicated Pool via Powershell

How to move users to different pool or how to migrate user to another pool.

Simple and often forgotten:

The Get-CsUser command do not offer a -Pool or -SourceFQDN parameter!

Therefor you need to use pipelining and filtering.

Get-CsUser -Filter {RegistrarPool -eq "CurrentPoolFqdn"} | Move-CsUser -Target "TargetPoolFQDN" -MoveConferenceData

The Option CurrentPoolFqdn and TargetPoolFqdn must be specified in the form of: server.domain.local
MoveConferenceData : Please don't forget moving the users conferencing data stored in the File Share.
Note that you should not use the MoveConferenceData parameter if you are moving users as part of a disaster recovery procedure. Instead, you should rely on the backup service for moving conference data as part of a disaster recovery procedure

Care about users conferencing ID is not necessary while moving a user to new pool:

When you move a user to an Skype for Business or Lync Server 2013 pool, the data for the user is moved to the back-end database that is associated with the new pool.

This includes the active meetings created by the user. For example, if a user has configured a my meeting conference, that conference will still be available in the new Skype for Business/ Lync Server 2013 pool after the user has been moved.
The details to access that meeting will still be the same conference URL and conference ID.
The only difference is that the conference is now hosted in the new pool, and not in the source pool.

The Get-CsUser command has the following Properties which can be used for filtering:

Identity                    : CN=USER,CN=Users,DC=ADdom,DC=local
VoicePolicy                 :
VoiceRoutingPolicy          :
ConferencingPolicy          :
PresencePolicy              :
DialPlan                    :
LocationPolicy              :
ClientPolicy                :
ClientVersionPolicy         :
ArchivingPolicy             :
ExchangeArchivingPolicy     : Uninitialized
PinPolicy                   :
ExternalAccessPolicy        :
MobilityPolicy              :
PersistentChatPolicy        :
UserServicesPolicy          :
CallViaWorkPolicy           :
ThirdPartyVideoSystemPolicy :
HostedVoiceMail             :
HostedVoicemailPolicy       :
HostingProvider             : SRV:
RegistrarPool               : Pool or StdServer.ADDomain.local
Enabled                     : True
SipAddress                  : sip:USER@SIPDOM.COM
LineURI                     :
EnterpriseVoiceEnabled      : False
ExUmEnabled                 : False
HomeServer                  : CN=Lc Services,CN=Microsoft,CN=1:1,CN=Pools,CN=RTC
DisplayName                 : USER for TEST
SamAccountName              : USER

I always let the entire process being documented to >C:\User-Move.txt this is for later validation and error correction.

Get-CsUser -Filter {RegistrarPool -eq ""} | Move-CsUser -Target "" -MoveConferenceData > C:\move-user.txt 

Move user in event of a Data Center failure:

Well if a DC is in failover mode, there are two things happen.
  • If the resiliency mode is active, the conferencing focus is still hold on the other side and therefor the conferencing ID stuck there and it will fail!
  • If the DC fail with a proper failover incl. the SQL copy and you have activated the failover manually! Everything is working fine.
If you google about Conferencing Focus Lync you find a lot for my fellow MVP mate writing about this.
Assuming, you move the user to new pool permanently, this conferencing focus will be copied as part of the user setting. So the same ID is valid.
Just last weekend I was migrating an entire pool to new pool and everything got moved and all conferences stood as expected.
and if everything failed:
This is from MVP mate Richard Brynteson, Lync MVP, Microsoft Certified Solutions Master, he work it out very proper, if you like to understand conferencing.

Btw you can also download my Skype for Business and Lync Troubleshooting Guide:

Sunday, March 13, 2016

Skype for Business Client Update Februar + March 2016

Let me give you an overview about the changes applied with the SfB Client Update from February and planned for CU for March:

  • Auto-accept presented content
  • Single click Desktop Sharing (single Monitor)
  • Meeting join with / without mic or speaker
  • better sharing real estate
  • Notify other when everyone can see presented content
  • fast switching to newly connected devices without call on hold
  • additional connected monitor: prompt fir sharing
  • auto hide sharing tool bar
  • smart Team Contacts
  • Meeting Reminder

A new video technology/ codec for P2P screen sharing is implemented:
The P2P sharing is changed from RDP to High Fidelity Video-Based Screen Sharing (VBSS)
With the targeted update for March, it should be implemented for Meeting too.
Requirement ist the Office 2016 client. NOT the Office 2013 updated client Version (15).

Fast and more efficient:
15 FPS with VBSS instead of 8 FPS with RDP



Therefor it becomes als more reliable


More news are:
Co-Author OneDrive Office Document.
You can now collaborate on Office document with OneDrive in a meeting. The Access is granted automatically to the office document (OD4B). you will see the editor who wrote to the document. It is a concurrent editing possible.

Most important request are implemented:
Offline Messaging
  • Send messages to contact even if they are not signed-in
  • Read missed messages in email of in Skype for Business
  • Use unread count badges to navigate through missed messages
  • Read on any device with SfB/Lync that supports missed messages

Some more info's were:
The SfB Client for MAC is coming soon to a preview.
And yes, it is true, try to discover how you can utilize Office 2016 Click2Run in your enterprise.
Several new feature are only available with the C2R version and will not be implemented in the MSI package.

Sunday, February 21, 2016

Skype for Business Cloud, Hybrid or OnPremise decision maker

Thanks Jamie Stark (Microsoft)
we have finally a slide were we can easily make the right decision for the right approach.

Just consider, if you deiced for On-Premise deployment. If you have the Office 365, please always consider the hybrid approach. This let you utilize the Skype for Business Broadcast Meeting feature as well. It is not available, if you didn't set up the hybrid configurations.

You can download the PDF from my slideshare: DOWNLOAD

Tuesday, January 26, 2016

Skype for Business Meeting Failed: Content was blocked because it was not signed by a valid security certificate

In either Internet Explorer or other browsers you might see this issue finally popping when you try joining a Skype for Business Server Meeting if the Meeting is hosted on Premise,

This issue also pop's up with Lync Meeting, not only with Skype for Business Meetings.

Content was blocked because it was not signed by a valid security certificate

After investigation, I saw this was most likely related to changes in Skype for Business Client Update from Januar 2016:

It implements a new and proper described certificate validation procedure for all SIMPLE URL's.
(Note: This issue can't be replicated each time, therefore you have to consider this as "possible issue")

As I described earlier in my blog:
It is absolute curial following the infrastructure recommendations from Microsoft, regardless if it might work or not. Once there will be an update released, the not recommended setup will have issues or will fail!

A valid SAN Wildcard certificate could look like this:

CN   = fqdn.DOMAIN.COM


I took a deeper look into the assigned certificate.
Btw, it is also in hybrid Skype for Business setup required to be assigned to a local point of access for simple URL's.

We see the CN (or SN) has FQDN as *
next screenshot show's it in detail again.
While the last screenshot show's the wildcard name repeated in the SAN (Subject Alternative Name).

I have seen several environment running this configuration without issues as they told me.
But, how they can trace the join users experience?
True, they can't and here I give the example of a situation,where it ended up in mess.

Please define your Reverse Proxy and your Edge Server certificates in the supported and best practice setup.



Saturday, January 9, 2016

Call Monitor Skype for Business Client

With the last client update from January 2016, Microsoft introduced a new feature call Call Monitor.

(first it is still a little buggy and it is also not really suitable. more annoying)

The impacted client version is:
Skype for Business 2016 MSO (16.0.6326.101)

The change introduced the Call Monitor, where the view totally changed and consumes now a huge space on your desktop.

If you switch during a call to another application and Skype is not on front any longer you will see a the two following possibilities:

simple audio call:

conference call with audio/ video:

You can, if you click the icon, still hide the huge screen part.
now you will see this little icon:

Saturday, December 12, 2015

Windows 2012 R2 Update KB2982006: The update is not applicable to your computer

Once you try installing the Skype for Business prerequisite Windows 2012 R2 Update you receive the error:
The update is not applicable to your computer.

This issue is actually not an issue, it only indicates, you haven't install the windows server Roles and Features yet.

The Update address an issue in IIS. Therefore install the windows prerequisites first. 

As you can see, the hotfix is now applied proper.

Friday, December 4, 2015

Trun off beep tone while muted - Skype for Business Client

How to turn off Skype for Business Mute Beep

I was asked how to turn off the stress tune while you headset microphone is muted.

First you need to know, this is NOT a Skype for Business Client feature.
This is only happend when you use a JABRA headset.

There is only one possible solution.
Jabra offers the PC SUITE.

Download PC Suite and start the installation

1. Go to the Jabra Control Center
2. Make sure your device is highlighted
3. On the "Headset" tab, make sure you are in Advanced View
4. Uncheck "Enable mute reminder tone"
5. Click Apply.

Bad news are:
Not every Jabra headset supports this or even the comfort noise setting.
So please test your headset before you buy them.

Wednesday, November 25, 2015

Shared Line Appearance (SLA) in Skype for Business (with busy on busy)

Very often we as MVP are asked about the Busy-On-Busy feature missing Skype for Business.

The native feature for every single device, user or other client is not yet available.
And I can't make any announcement until today if this is planned or not.

But what I can introduce is the Share Line Appearance, yes here Busy-On-Busy is available. Making S4B more look like an old fashion PBX :)

What it the Share Line Appearance.
This is a new feature introduced with the actual firmware from Polycom VVX and last Skype for Business Update November 2015.

Shared Line Appearance (SLA) enables you to configure a group of multiple devices that can each answer calls to a shared phone number (extension).
(SLA it is not supported for Skype for Business clients on computers, mobile phones, or other devices):

What does this mean to us. Well we can use busy on busy only within the VVX configured groups. But not yet between devices and client, or between soft clients.

The supported device are:
  • Polycom VVX300 with firmware update 5.4.1
  • Polycom VVX400 with firmware update 5.4.1
  • Polycom VVX500 with firmware update 5.4.1
  • Polycom VVX600 with firmware update 5.4.1
A rouge description can be found here:

The most interesting features could this:
  • Busy on Busy – excess calls are automatically rejected with a busy signal.
  • Call Forward Busy – excess calls are routed to an alternative number that's configured for the workgroup.
  • Voicemail on Busy - excess calls are automatically forwarded to Voicemail.

  • Installation:

    It needs to be installed as an Server Application based on the Pool Servers and SBA/SBS.

    New-CsServerApplication -Identity 'Service:Registrar:%FQDN%/SharedLineAppearance' -Uri  -Critical $false -Enabled $true -Priority (Get-CsServerApplication -Identity 'Service:Registrar:%FQDN%/UserServices').Priority
    Stop-CsWindowsService RTCSRV
    Start-CsWindowsService RTCSRV

    where %FQDN% is the fully qualified domain name of the pool or server.  

    Create and configure a SLA GROUP:

    First we need to create a group and assign members, as well as set the MaxNumber of Call, which will trigger the busy single once the call count is exceeded.

    Set-CsSlaConfiguration -Identity SLA_OFFICE1 -MaxNumberOfCalls 4 -BusyOption BusyOnBusy
    Add-CsSlaDelegates -Identity SLA-OFFICE1-Delegate 

    Configure an SLA BUSY GROUP:

    if no busy signal is required, instead you can forward the call.

    Set-CsSlaConfiguration -Identity SLA_OFFICE1 -BusyOption Forward -Target tel:+49891234567

    Configure an SLA MISS CALLED OPTION:

    you can also decide what actually will be done if a call isn't answered:
    you can either FORWARD, set a busy signal BUSYSIGNAL, or DISCONNECT the caller.

    Set-CsSlaConfiguration -Identity SLAGroup1 -MissedCallOption Forward -MissedCallForwardTarget

    Summary of the feature list (MSFT):

    • All delegates in the group can answer inbound calls to the same shared number. The calls can be PSTN-based or SIP-based.
    • Delegates can hold and pick up calls.
    • Delegates can transfer calls to a number outside of the SLA group.
    • Delegates can see how many calls are currently on the shared number, and view the status of each of those calls.
    • You can configure a maximum number of concurrent calls for the shared number. You can also set how you want additional calls to be handled after this maximum is reached. Excess calls can be rejected with a busy signal, forwarded to an alternate number, or forwarded to voice mail.
    • You can configure how you want missed calls (calls not picked up after a certain time) to be handled. If you enable voice mail for the group identity, missed calls automatically go to voice mail. If you do not have voice mail enabled for the group identity (shared number), you can choose for missed calls to be rejected with a busy signal, forwarded to an alternate number, or disconnected.

    Wednesday, November 4, 2015

    File Share Perfomance for Skype for Business (slow conference join, slow address book)

    Once more first.
    Really make always sure your environment is patched and up to date.

    Mainly if you have a slow Join Conference user experience. Validate your DFS or File Server.

    Just what we experienced during certain Skype for Business Updated, as well as support cases is:
    - Migration is slow
    - Join Conferencing experience is slow
    - Address Book generation is slow
    and more

    This is, if the Fileshare is not fast enough. What does this mean:
    You should ensure the IOPS as well as the network throughput is sufficient and not the bottleneck in your environment.
    Do a measurement on the file servers, see what is happen if DFS replication is kicked in, check if this is share file server, whats happen if other app's access the shares and monitor the IOPS/ bandwidth.
    Just this is not all, also just perfmon for CPU load, and Memory especially paging.

    If you experience slow conference joins, it will be the issues, mostly.
    (Sure the local SQL server also consumes performance on the Skype for Business Frontend Server)