Lync 2013 – Force the Lync client to always ‘show User Picture’ – video guide

Good Morning

This blog post and video guide describes how to force the Lync 2013 client to always show the end users Lync picture even after the user might have changed the setting not to show the picture.


To but a little bit of background around this, as with Lync 2010, Lync 2013 does not have the ability to block or stop a user from deselecting the option of showing their Lync picture.  This picture element is something I’m asked many times while working with customers.

I know this is something which we all would like as a option but as of today and as far as I’m aware this isn’t something close to Microsoft’s heart in fixing or providing a solution.

Also to confirm there isn’t any policies you can assign OR and registry setting to can associate to block the user changing their setting. So what solution and where is this setting stored….. Well its not in the xds database and actually its started within the front ends rtclocal database.

So to confirm before you go any further in the blog, I’m pretty certain that this solution will be one thats unsupported from Microsoft and also one that as we are going to change the rtclocal will be seen as a ‘borderline’ hack. Also i would like to point out I’ve ran this within my lab without issue for sometime, however i would suggest you test it within your lab area before you embark on using it in your production environment. <remember I hold no responsibility> 🙂

Ok no the small print is out of the way, what is the fix.. ?? Within the rtclocal there is a table called publishedstaticinstance which has a field that holds a massive binary value. As part of the challenge is to convert the binary into something thats readable and something we can update


Under the covers what this binary code states is DisplayADPhoto true/false.

So as part of the update we change for the status and update accordingly when the status is false.

As this is running on rtclocal, the way the guide runs this is via a scheduled task running a .ps1 powershell command. Also the SQL only checks the last 15 minutes of changes to reduce locks and database processing. Also the scheduled task I’ve created runs every 15 minutes so with the two you will never be out of sync with what a user is doing. (you could run this script more regular than every 15 minutes but given the requirement i think 15 is a good medium to use).

As for the SQL command some thanks go out to the tech net community as understanding the converts within the SQL was a slight challenge.

PS1. Script

function Enable-UserPhotos ($Domain, $OffSet) {(Get-CsPool (Get-CsComputer “$(hostname).$Domain”).Pool).Computers | % {Invoke-Sqlcmd -Query “update rtc.dbo.PublishedStaticInstance Set Data = CONVERT(image,convert(varbinary(4000),REPLACE(convert(varchar(4000),convert(varbinary(4000),Data)),'<displayADPhoto>false</displayADPhoto>’,'<displayADPhoto>true</displayADPhoto>’))) where [LastPubTime] >= DATEADD(mi,-$($OffSet),getdate()) AND convert(varchar(4000),convert(varbinary(4000),Data)) like ‘%<displayADPhoto>false</displayADPhoto>%’;” -ServerInstance “$($_)\RTCLOCAL”}
} Enable-UserPhotos -Domain ‘your domain name here’ -OffSet 15


Remember the script is changing the rtclocal database on the fronted and this will be seen as not supported by microsoft.!

Video guide below.


Iain Smith

Lync 2013 Client – November Patch Update KB2825630

Morning All

Over the weekend Microsoft realised a new patch for the Microsoft Lync 2013 client for windows. Although this isn’t seen as a major update there are several features within the patch which are of interest.

In this blog post we will take a look at what they are, and how to enable/add the features.

So firstly you can find information about the patch here

and you can also download the update files from that link. The update as usual comes in two flavours 32 bit and 64 bit.

To note there are a a few pre-reqesuitcs that need to be taken care of before you start. These are other updates which requires to be present on the machine your updating.

MSO (KB2727096)

32 bit  Download the 32-bit MSO update package now.

64 bit  Download the 64-bit MSO update package now.

MSORES (KB2817624)

32 bit  Download the 32-bit MSORES update package now.

64 bit  Download the 64-bit MSORES update package now.

IDCRL (KB2817626)

32 bit  Download the 32-bit IDCRL update package now.

64 bit  Download the 64-bit IDCRL update package now.

For more information about how to download these packages, click the following article number to view the article from the Microsoft Knowledge Base:

  • 2727096 Description of the Office 2013 update: August 13, 2013
  • 2817624 Description of the Office 2013 update: September 10, 2013
  • 2817626 Description of the Office 2013 update: September 10, 2013

So now onto the Lync 2013 client update and what that brings. (As per the Microsoft knowledge base article.)

  • 2907820 Inconsistent format and duplicate telephone numbers are displayed in a contact card in Lync 2013
  • 2898888 Lync 2013 crashes when an RCC-enabled user signs in
  • 2898886 “Presence unknown” status for a contact in a federated environment or a different front-end pool is displayed in Lync 2013
  • 2898887 User cannot call another user by clicking a telephone number hyperlink in a contact card in Lync 2013
  • 2883716 Presence status isn’t updated based on Exchange calendar in Lync 2013
  • 2880161 You can’t drag a contact from Lync 2013 to another application
  • 2880163 Proxy authentication dialog box appears when you sign in to Lync 2013
  • 2880164 Instant message sent from Lync Web App displays wrong symbols in Lync 2013
  • 2880167 Can’t sign in to Lync 2013 when a user logs on to a computer by using an account from a different AD forest
  • 2882812 A proxy authentication dialog box appears when you upload a PowerPoint presentation in Lync 2013
  • 2882813 Can’t sign in to Lync 2013 on a computer that is running Windows 7
  • 2882814 Extended character is displayed incorrectly in a disclaimer in Lync 2013
  • 2854650 You cannot start a collaboration application that is integrated with Lync 2013

Lets take a look at a few of these in more detail.

“Presence unknown” status for a contact in a federated environment or a different front-end pool is displayed in Lync 2013″ This issue was introduced with the October 2013 update patching. What was seen by the end user was no presence connectivity between Lync and Exchange meaning that when a user had a meeting scheduled within outlook their presence didn’t mirror this within Lync. I personally have a client who also runs a contact centre where they rely on the Lync presence being correct at all times.

–  “The ability to add your Lync picture via an external webpage (Just like you could do with Lync 2010)”

Back by popular demand is the option to add a picture to Lync 2013 which uses a external webpage as the repository. This allows for external federated clients to see your picture as well. To enable this you will need to get your Lync administrator to enable this via Powershell. (PS Below)

$PolicyEntry=New-CsClientPolicyEntry -Name EnablePresencePhotoOptions -Value true $currentClientPolicy=Get-CsClientPolicy -Identity Global $currentClientPolicy.PolicyEntry.Add($PolicyEntry) Set-CsClientPolicy -Instance $currentClientPolicy

X webpicture

***Credit this blogger of the PS which is needed. See more at:

“Ability to record video now in HD format”

From the users Lync client options they now have the ability to select to record the video stream in full 720p or 1080p HD quality if they wish.

X 1080p



Lync 2013 – August Lync client Update .1504

Hello All

Yesterday Microsoft released a new Lync client update as part of the windows update. (its also available via a download here. there doesn’t seem to be much of information about the update apart from in also has the other patches within it..

The issue this patch is fixing is

– After you wake up the computer from hibernation mode, Lync 2013 becomes very slow and unusable.

Ive been running the update for a day now with no issues.


Iain Smith