Wednesday, October 15, 2014

Working with Lync Online Conferencing Policy

Conferencing Policies are not a new topic for Lync Administrators and I am writing this post today with reference to my recent experience with Lync Online which is quite different than On premises and share few updates that will assist you when you come across such similar requirement in mere future.


When it comes to On premises Lync Environment you have major control on everything and you can mold the configuration according to you needs, customize polices that suites your business requirement and perform updates on the fly as needed over time. But when it comes to Lync Online you have limited control on this behavior and need to align your requirement with what is available rather than what is required in most of the scenarios in comparison with On premises.

Lets get in to our topic, Lync Conferencing policies play a vital role on an individual Lync access deciding what the user can do with his Lync access during an Online meeting and provides you a flexible way of managing required access granted to a set of users as desired. To know more on this, begin by reading the below TechNet post.

Conferencing policies in Lync Server 2013

Now lets begin our discussion, I have a business requirement where I am planning to disable App\Desktop Sharing feature in the Lync client for all my Users expect few VIP users hosted with Lync Online as a part of Office 365 Enterprise plan.

Performing this is quite easy in a traditional Lync On premises environment where I can create a customized Conferencing policy and apply this to respective users in the environment, refer the below Nexthop article explaining this in detail.

An In-Depth Guide to Conferencing Policy Settings

In the above article select the EnableAppDesktopSharing topic to know more on the desired configuration for my requirement.

When it comes to Lync Online we wont be able to make such changes as with Lync On premises environment. We cannot create any customized Lync Conferencing policies nor we can edit the existing policies by design.

As updated in the below TechNet article we cannot create customized policies with Lync Online and we need to utilize the pre-created policies and decide which one suites our requirement and assign that to our users.

Using Windows PowerShell to Manage Lync Online

First we need to connect to Lync Online PowerShell to get this report generated and perform all our tasks, refer my earlier blog post below to know how to connect to Lync Online and the  available cmdlets for our usage.

Windows PowerShell Module for Lync Online Available now !

So in total we have 224 different conferencing policies available with Lync Online and not all of these policies can be applied to a user and we need to use the "–ApplicableTo" parameter specifying the username to find out the policies that can be applied to the user as shown below


We can very well export the policies to a text file and then we need to do some manual Excel work to sort the report generated and do some digging over each options to decide the one that suites our requirement.


In our scenario, I want the EnableAppDesktopSharing to be None which disables the App/Desktop sharing and out of the list I selected the BposSIMPOnlyNoRec as the best candidate which suites my requirement. By default with Lync Online when a new user is provisioned for Lync the default Conferencing policy applied will be "BposSAllModality" which makes this App/Desktop sharing possible as the parameter is set to Desktop instead of None.



Its not possible for us to change the default policy assignment when the account is provisioned, instead we have access to modify this Conferencing policy assignment from one to another using Grant-CsConferencingPolicy cmd let.


So with the above steps we were able to change the Policy as desired for a single user, As I said earlier I am planning to do this for my entire Organization excluding few VIP users.  I wrote a small PowerShell script that will get this done and did a small tweak performed before executing the script.

First I will update the Conferencing Policy of all the VIP users to something Other than "BposSAllModality" policy that contains similar configuration equivalent to this policy without causing any impact to their experience,  for which I am utilizing  policy BposSAllModalityMinVideoBW and performed the change successfully, Next I will execute the script.


Script:

Get-CsOnlineUser | Where-Object {($_.ConferencingPolicy -ne "BposSIMPOnlyNoRec") -and ($_.ConferencingPolicy -ne "BposSAllModalityMinVideoBW")} | Select-Object UserPrincipalName | ForEach-Object{Grant-CsConferencingPolicy -PolicyName Tag:BposSIMPOnlyNoRec -Identity $_.UserPrincipalName}

Once this script is executed, this will modify all the users assigned with the default policy excluding the VIP users set with the other Policy and also skip users who are already assigned with this new policy and apply it to the rest of the users in the tenant. This completes my current requirement. You can safely ignore the warning it triggers during the execution.

Below screenshots shows the difference once the new policy is assigned to the user.


Also I want this task to be repetitive as users are provisioned for Lync Online everyday and by design we cannot change the default conferencing policy assignment while provisioning as discussed earlier, to achieve this I will schedule this script to run as a Scheduled task everyday and complete my requirement.

A monthly report can be generated to validate the Conferencing policy assignment status to confirm how things are working and take action if any discrepancy found on time.


Hope this article is helpful for readers to know the limitations in Lync Online with regard to Conferencing policies and provides step by step instructions to change the policy as desired.

No comments:

Post a Comment