Tag Archives: lync 2010

Updated Tool: Lync Common Area Phone Management (GUI)

If you haven’t seen it or played with it, there’s a free tool available to you that I’ve developed that will help manage Lync Common Area Phones with a GUI interface.  There is nothing to install, it’s a pure PowerShell script you can run.  Read more about that here if you haven’t seen it: http://www.lyncfix.com/?p=715

What’s new is that it’s been updated again due to a request by a user.

Marcel writes:

“Hi Anthony, thank you for this great tool. It is very helpful doing maintenance on the common area phones.
I have a few questions/suggestions:
– You cannot select multiple cap’s to make changes. For example: I want to assign a new Pin Policy on 100 phones. I have to do it one by one now. Can you make it possible to select multiple phones?
– The company I work for has one the largest and complex installations. When I start this tool I see all (3300+ phones on 100+ pools). Is it possible that you add a feature to select the correct pool?”

Introducing Version 1.2!  These capabilities have now been added.  As you can see in the screenshot below, there is a Filter dropdown that allows you to filter by pool, or all pools.  The ability to select multiple phones and set the pin, make changes, or remove them is now available as well.  If you wanted to grab a selection of phones from pool1 and move them to pool2 with a new voice policy and dial plan, just select the phones on the left, change the relevant dropdowns, and click the “Save Changes” button.  Fields that do not have values selected will not change when the “Save Changes” button is pressed.   This way, you can modify only one or a few settings at a time.


If you have any thoughts, comments, bug reports, or feature requests, the Q/A section in the TechNet gallery is the best place, but I’m also watching here as well.

As with any free tool you find on the Internet, use at your own risk!

To download the program, please find it here in the TechNet Gallery: http://gallery.technet.microsoft.com/lync/Lync-2013-Common-Area-57bc4ff1

If you like it, please give it 5 stars over at the TechNet Gallery.  If not, please drop me a line before you rate it and give me a chance at fixing whatever bug you may have found.   I might also be able to add a feature you’d like to see!

Thanks again and let me know what you think!

TL;DR Just Tell Me How to Edit Lync IVR from PowerShell

The previous article was a bit of a walkthrough on creating and modifying a Lync Interactive Response Group from the Lync Management Shell.  However, the meat of that and the reason it was written was really focused around how to modify an existing group.  The method to accomplish this isn’t clear at all if you’re just starting out and reading through TechNet.  As promised, here’s the short version for those who already know their way around.

To modify a workflow, we first need to pull it into a variable like so:

$workflow = Get-CsRgsWorkflow -Name “Our IVR”

To review settings, we can drill down into the object a bit at a time.  For example, we can see what the DefaultAction of the workflow is by typing $workflow.DefaultAction.  We see that the action is TransferToQuestion and there’s a Question attribute.  So now we can drill into the question attribute by typing $workflow.DefaultAction.Question.  We can also see there’s an AnswerList attribute, which is an array of answers.  We can access that array directly by specifying $workflow.DefaultAction.Question.AnswerList.


You’ll notice that the AnswerList is a variable, and we can access it as such.  To get at a specific answer we can use $workflow.DefaultAction.Question.AnswerList[2] the same way we’d access any array in PowerShell.


We can add responses by $workflow.DefaultAction.Question.AnswerList.Add($YourNewAction).  This allows us to drill down deeper into the new answer the same way.  In the example below, you can see me getting at an answerlist that is an option from a previous answer.


To remove an answer, you’d use AnswerList.Remove() and specify which answer in the array you’d like to remove as seen here: $workflow.DefaultAction.Question.AnswerList.Remove($workflow.DefaultAction.Question.AnswerList[1]).

So far, we’ve only modified our $workflow variable, to write our changes back, we only need to type: Set-CsRgsWorkflow $workflow and we’re done!

Thanks for reading!

Lync Quick Tip: Disable Pre-Population of Contacts

You may have noticed when enabling a fresh Lync 2010 or Lync 2013 user, upon first login they already have some contacts in their favorites or frequent contacts.  Sometimes these contacts are odd and show up as a phone or mobile number.  Where do they come from and how do you get rid of them?

Well, it’s actually been around and is a feature introduced in Lync 2010.  From the article: http://technet.microsoft.com/en-us/library/gg398159.aspx we read:

“The Frequent Contacts group shows the 10 contacts a user most frequently has conversations with (not necessarily the most recent). Lync pre-populates the group with the user’s team members. Users can pin their favorite or important contacts to the top of their Frequent Contacts group.”

In Lync 2013 of course, Frequent Contacts was renamed to Favorites.    These team members can be found in the Organization tab of the Active Directory User:


So, how do we turn this off?   Well, we can remove the direct reports in AD, but it’s probably there for a reason (we don’t want to go head to head with whomever in HR may have published them).  Enter the AutoInitiateContacts  parameter within the privacy configuration.  We can set this with the Set-CSPrivacyConfiguration command: http://technet.microsoft.com/en-us/library/gg398484.aspx.  From the article: “If True, Lync will automatically add your manager and your direct reports to your Contacts list. The default value is True.”

To disable this for all of your privacy configurations, run the following command:

Get-CSPrivacyConfiguration | Set-CSPrivacyConfiguration -AutoInitiateContacts $False

To set it for a specific site, you’ll want to run the Set-CSPrivacyConfiguration with the identity parameter pointing to your site if you have this configured.