Counting Enterprise Voice enabled users on a specific pool in Lync

Here’s some Friday Powershell fun for you. Today I needed to retrieve a count of voice enabled users in a Lync environment for reporting purposes. Obviously I turned to a bit of crafty cmdlet action, and sought to see what I could put together using Get-CsUser.

Getting just a number

After some quick searching, I found Chris Norman‘s helpful post on Counting Enterprise Voice Enabled Users in Lync. His Powershell example got me half of the way there, and gave me the syntax to just retrieve a number of users rather than an endless list of users and their details.

So taking Chris’ example of  (Get-CsUser -OnLyncServer -Filter {EnterpriseVoiceEnabled -eq $true}).count (don’t forget the brackets on each end), I was able to put together the first part of what I needed. I then needed to narrow this down to a particular pool because there were lots of Front End pools in this environment and we only wanted to get the number of EV enabled users from one local pool.

Narrowing down to a specific Front End Pool

I needed to specify additional filters in the cmdlet but couldn’t remember how (my mind is probably thinking more about a beer after work on a Friday afternoon). Some more searching lead me to my own post on How to retrieve all users with a specific country code in Lync where I already had an example of how to specify additional filters.

Using Chris’ cmdlet, I added -and RegistrarPool -eq “PoolFQDN” to the end and voila, I had my user count.

So the full cmdlet I used looks like this:

(Get-CsUser -OnLyncServer (Update – Pat Richard informs me that this switch isn’t necessary because the Pool FQDN is specified) -Filter {EnterpriseVoiceEnabled -eq $true -and RegistrarPool -eq “PoolFQDN”}).count

e.g. (Get-CsUser -Filter {EnterpriseVoiceEnabled -eq $true -and RegistrarPool -eq “”}).count

Using this cmdlet, I was able to retrieve just a count of EV users on one pool. No long formatted list/table of SIP addresses, OUs etc that Get-CsUser usually retrieves, or an inflated number from every pool in the environment.

Quick and simple. Hope this helps you out at some point as well.

MUCUG London April 2013 Review

Last Thursday night we ran our Q2 2013 MUCUGL event at the Polycom EBC in London. We had a great turnout with a full house and some special guests from both Polycom and Microsoft.

Scott Brown, Worldwide Director for Lync Enterprise Voice from Microsoft dropped in to share his thoughts on Lync and Skype and to answer questions from the audience. His enthusiasm for Lync was overtly obvious, and I think it’s great when senior management are up for getting involved in the community like that. Secondly, Vasudevan Krishnamurthy, Polycom’s product manager for Lync voice products joined us during the break via video to answer questions everyone had on the CX and VVX phones. The Lync features that Vasu previewed in the upcoming release of the VVX firmware is really a testament to their investment in the platform.

I presented first up on Lync Mobility Architecture, and you can check our my slides below on Slideshare.

For Adam and Tom’s slides, check out the write up on the MUCUGL site. At the end of the night we gathered everyone’s evaluation forms and gave away a new Polycom VVX 600 phone to a lucky audience member. Afterwards, we all headed down to the pub for further lively discussion about UC.
Thanks to everyone that came along and we look forward to seeing you at the next event on 25th July.

Lync Conference Expiration and Deactivation Explained

I came across this recently when I had to conduct a bit of a deep dive into how Lync conferences behave when they effectively reach “end of life”. In the first instance, I managed to find this about conference expiration in Office 365:

• For a one-time scheduled meeting, the expiry time is the scheduled end time plus 14 days.

• For a recurring scheduled meeting with an end date, the expiry time is the scheduled end time of the last meeting occurrence plus 14 days.

• For an ad hoc IM or A/V conference, the expiry time is 8 hours.

• For a recurring scheduled meeting without a specified end date, the expiry time is 6 months after the last meeting activation.

To clarify, meeting activation is whenever a conference is accessed by a participant.

These settings apply to Lync on-premises also, but I wanted to know if they could be modified. I knew I’d seen something mentioned about modifying when conferences end, and Brian Ricks reminded me of Set-CsUserServicesConfiguration. With this cmdlet, we can set a parameter -DeactivationGracePeriod that allows us to set the maximum amount of time that a meeting can remain active. However, this was only half of the story.

Deactivation and expiration are related, but different.

Deactivation is when the server will forcefully shut down a meeting. It’s like a server-driven version of the exit-and-end-meeting presenter command. However, you can immediately reactivate a deactivated meeting. This is just a brake on runaway meetings, so if someone locks their workstation and goes on vacation while signed into a meeting the meeting will eventually end. It’s meant to be an “infinity” value. You set it just higher than you expect a real meeting to last.

Expiration is when the server deletes the meeting, its contents, and coordinates (i.e. the link won’t work anymore). Expiration can’t happen while a meeting is activated, and there are grace periods based on the meeting type and scheduled end date. The grace periods are to give time to download meeting data (like uploaded handouts or whiteboards) before it’s deleted.

So, conference deactivation is when Lync will end an active meeting so it doesn’t sit there and take up server resources unnecessarily. It’s controlled using the cmdlet I mentioned above (Set-CsUserServicesConfiguration). Conference expiration however is hard-coded behaviour based on the type of conference that’s been initiated and means the absolute end of a meeting. This means the meeting URL and conference ID cease to work and all meeting content is deleted.

Interesting stuff to know. Credit to CJ Vermette from Microsoft for explaining this and clarifying how the two behaviours are different.

Lync Phone Edition April 2013 Cumulative Update Released

The April 2013 cumulative update for Lync Phone Edition (LPE) has been made available by Microsoft, fixing a number of bugs in the software:

  • Exchange UM-disabled user cannot check call logs on an Aries or Tanjay telephone that is running Lync Phone Edition.
  • Message waiting indicator light on an Aries telephone that is running Lync Phone Edition doesn’t turn off after a user plays all unopened voice mail.
  • “Music on hold” feature doesn’t work for Lync Phone Edition for an Aries telephone when an audio file is configured.
  • Lync Phone Edition endpoints configured with hot desk Common Area Phone (CAP) accounts may hang intermittently when LPE automatically signs out the logged in user after the configured period of inactivity.

This handy table shows which phones this update applies to, the updated version number, the KB article for each and a download link.

 Product  Version



Lync Phone Edition for Aastra 6721ip and Aastra 6725ip 4.0.7577 4387



Lync Phone Edition for HP 4110 and HP 4120 4.0.7577 4387



Lync Phone Edition for Polycom CX500, Polycom CX600 and Polycom CX3000 4.0.7577 4387



Lync Phone Edition for Polycom CX700 and LG-Nortel IP Phone 8540 4.0.7577 4387



Note that there is no differentiation between Lync 2010 and Lync 2013 Phone Edition – the software is just “Lync Phone Edition” now and works on both Lync 2010 and Lync 2013.

Lync Conference 2013 Recordings Now Freely Available

If you didn’t get an opportunity (like me) to attend the inaugural Lync Conference in San Diego in February and thought you missed out, fear not.

Screen Shot 2012-10-02 at 01.00.26

You’ll be pleased to hear that PowerPoint presentations and screen capture videos from every session are now available free to download. Now you’ve got no excuse not to learn about all the awesome new HA/DR, conferencing, persistent chat features and more in Lync 2013.

Lync 2013 for Windows Phone 8 – A First Look

It’s here! The Lync 2013 mobile client has finally arrived first on Windows Phone 8! This morning (UK time) we finally saw it go live in the store, ready to finally bring Lync audio and video to your mobile.

WP8 icon

I’ve prepared this complete run-through that demonstrates the massive improvements in functionality in this hugely anticipated client.  Continue reading

MUCUG London presents the Lync 2013 Mobility Story at UC Expo 2013

UC Expo is on again this year on the 5th and 6th of March at Olympia in London. It’s the premier UC event in the UK/EMEA regions for vendors and end-user customers to come together and see the latest developments in the industry along with lots of informative seminars.

I’ve attended the last 3 years (including manning our Modality stand in 2011 and presenting on Lync 2010 mobility last year) and really enjoy meeting new people, catching up with old ones and learning about the new and exciting tech coming out.


This year Tom, Adam and I have again teamed up with UC Expo to present our own little MUCUGL seminar on Lync, except this time we’re excited to talk about the new fully featured Lync 2013 mobility story. We’ll be talking about and demoing the new clients, and will show you the underlying architecture involved and how to deploy it.

When: 6th March, 1:10 PM – 1:40 PM

Where: Flexibility and Mobility Theatre

For more info and to add our seminar to your MYVISIT planner, check out the seminar page on the UC Expo site here.

Look forward to seeing you there!

Lync Server 2013 February 2013 Cumulative Update Released

In the follow up to the February 2013 updates for Lync 2013 (the client), Microsoft has today released the first Cumulative Update for the server side of the product.

This update is huge, because it delivers important post-RTM features:

  • Group Call Pickup. A much requested feature that allows users to pickup the ringing phones of other users. This is a feature a lot of PBXs provide today.
  • Location-Based Routing. This allows an administrator to force outbound PSTN calls for particular users out particular PSTN gateways. This is mostly a VoIP regulatory feature for particular geographies, but a good explanation of this from the conference is posted here.
  • The big one – Lync 2013 Mobility! The new Lync 2013 mobile clients require this CU to be able to work (once they’re publicly available).

You just need the LyncServerUpdateInstaller.exe to update each Lync Server 2013 server. Remember to do the backend database update! 

Note: If you have an Enterprise Edition pool deployed with mirrored backend servers, be aware that you need to break and recreate the mirror relationship as part of installing the database update.

You can download the update here and view the corresponding KB article explaining what’s fixed also. Happy patching!

More Updated Tools

In addition, Microsoft have also delivered:

All in all, it’s a huge day for Lync coming off the announcements at the conference last week. Can’t wait for the new mobile clients to come!

Lync 2013 February 2013 Cumulative Update Released

February brings the first cumulative update for Lync 2013 since release. This update includes the following improvements on the RTM code:

  • Enables users to hide offline contacts in the contact list.
  • Enables users to receive buddy invites from untrusted networks.
    Note This option is available under Alerts in Lync Options.
  • Improves the support for high dots per inch (DPI) displays, for Microsoft Narrator, and for other accessibility features.
  • Fixes bugs that are related to Location sharing and settings.
  • Fixes bugs that are related to Tabbed Conversations.
  • Enables participants to join online meetings by dialing out to their telephone number if online meetings are scheduled by a non-audio-enabled Lync 2013 user.
  • Improves the handling of devices that have both a front-facing and rear-facing camera.
  • Improves the user experience when you join a Lync meeting in a Lync Room System-enabled room.

KB article detailing more info and download links here.

Note that you must install two files for this to be applied – the Lyncloc and Msores packages. This patch is only for the Lync 2013 client. Lync Server 2013 updates are not yet available.

By the way, I hope everyone has an awesome time at the Lync Conference in San Diego next week. I unfortunately won’t be able to attend, so have a beer for me. 🙂