Verifying Users Enabled for CVI

March 13, 2019 by · Leave a Comment 

This brief article includes a few tips on how to verify which Office 365 user account have been enabled to use a partner-provided Cloud Video Interop (CVI) solution, like the Polycom RealConnect Service.

When initially configuring an Office 365 tenant for CVI one of the final steps is to enable user accounts for the service.  The steps to do so though are different between Skype for Business and Microsoft Teams.

Note that in order to perform the PowerShell commands shown in this article one or more PowerShell Online modules will need to be setup on the workstation, if not already configured.  One potentially confusing concept in this article to pay extra attention to is that in order to check the Teams configuration the Skype for Business Online PowerShell Module is used (this module contains both Skype and Teams cmdlets), yet to check the Skype configuration the Azure Active Directory (v1) module is used.  This is because Teams uses a simple user setting via a policy while Skype leverages Office 365 add-on licenses.

Microsoft Teams

To enable the service for users on their own scheduled Microsoft Teams meetings the configuration is straightforward.  A simple PowerShell cmdlet would have been used to enable either individual users or the entire tenant globally.

  • Open Windows PowerShell and connect to the Skype for Business Online PowerShell module using the following cmdlets, but replacing the highlighted portion with the username of an administrative account in the target Office 365 tenant.  Enter the account password when prompted.

Import-Module SkypeOnlineConnector
$skype = New-CsOnlineSession -UserName "jeff@msteams.net"
Import-PSSession $skype

image

Verify Service Configuration

Get-CsVideoInteropServiceProvider

image

Verify User Configuration

The preferred methodology for initially enabling users with RealConnect for Teams is to grant a policy to specific user accounts versus enabling the entire tenant wholesale.  This approach is more common with initial testing and is often used with a small amount of select accounts.

The Get-CsTeamsVideoInteropServicePolicy cmdlet can then be used to identify if the preferred provider has been enabled globally for all users or not.

  • As the service must be turned on in a tenant this can be confirmed by validating that the ProviderName parameter on the global policy is assigned to the default setting of DefaultProvider.

Get-CsTeamsVideoInteropServicePolicy

image

Note that the DefaultProvider value in the Global policy above is the ProviderName for the ServiceProviderDisabled option.

  • Alternatively if the cmdlet results return one of the provider names (e.g. Polycom) then this indicates that the service has been enabled for every user in the organization, at the global level.

Get-CsTeamsVideoInteropServicePolicy

image

Note that the DefaultProvider value in the Global policy above is the ProviderName for the Polycom option.  In this case the environment has previously been configured to enable RealConnect for Teams with all user’s scheduled Teams meetings.

But for environments still using the default disabled policy setting then individual user accounts would need to have been enabled.  In order to identify these account the Get-CsOnlineUser cmdlet results can filtered to output only accounts which have the TeamsVideoInteropServicePolicy parameter set to the desired value. 

  • Enter the following command to list only users which are enabled for the Polycom RealConnect Service for Microsoft Teams.

Get-CsOnlineUser -Filter {TeamsVideoInteropServicePolicy -eq "PolycomServiceProviderEnabled"} | Select-Object DisplayName, UserPrincipalName, TeamsVideoInteropServicePolicy

image

In this example the Polycom service is being used, so the value to search for is ‘PolycomServiceProviderEnabled‘.  Currently other possible parameter values are ‘BlueJeansServiceProviderEnabled‘, ‘PexipServiceProviderEnabled‘, or ‘ServiceProviderDisabled‘.

  • Alternately, this cmdlet can be used to list all accounts in the tenant regardless of the policy parameter value.

Get-CsOnlineUser | Select-Object DisplayName, UserPrincipalName, TeamsVideoInteropServicePolicy

image

In the event that the TeamsVideoInteropServicePolicy has been previously set to a specific provider globally, then the individual user’s policy setting will operate in the standard policy relationship.  This means that any users with no value currently on their parameter will use the Global policy setting, but if the user’s parameter is set to a different value then the user-specific value will take precedence over a different, globally assigned value.

CVI User Status TeamsVideoInteropServicePolicy
Tenant User
Disabled ServiceProviderDisabled null (or) ServiceProviderDisabled
Enabled ServiceProviderDisabled <PartnerName>ServiceProviderEnabled
Enabled <PartnerName>ServiceProviderEnabled null (or) <PartnerName>ServiceProviderEnabled
Disabled <PartnerName>ServiceProviderEnabled ServiceProviderDisabled

In the event that the tenant is globally enabled yet it is desired to return to the default configuration to instead manage user enablement individually then this is a simple procedure.

  • Execute the following cmdlet to return the global policy the ServiceProviderDisabled setting.

Grant-CsTeamsVideoInteropServicePolicy -PolicyName ServiceProviderDisabled

Skype for Business

Unlike Microsoft Teams there is no option to simply globally enable the service on all users in a tenant for Skype meetings.  User configuration in Skype for Business is handled by assigning an Office 365 add-on license entitled "Skype for Business Video Interop for Skype for Business".

image

Because this solution is user-license based then enough licenses must be provided in the tenant and they must all be manually assigned to existing user accounts, as well as added to new user accounts as they are created in the environment.

License entitlement is performed automatically through the Cloud Solutions Provider relationship with the partner and one license will automatically be added to the tenant for every existing qualifying user license that exists in the tenant (e.g. Business Essentials, Enterprise E5, etc).  For example, the tenant used in this article currently contains 20 Enterprise E1 licenses and 4 Enterprise E3 licenses, hence the total of 24 Video Interop licenses.

image

Given that Microsoft licenses are the components which enable the service for users then it is trivial to list all users in the tenant via PowerShell which are assigned a specific license.

  • Open Windows PowerShell and connect to the Azure Active Directory PowerShell module using the Connect-MsolService cmdlet.  When prompted enter the credentials of an administrative account for the Office 365 tenant.

Connect-MsolService

image

  • Enter the following command to parse all user accounts and list only those with an assigned license containing the string ‘Video’.

Get-MsolUser | Where-Object {($_.licenses).AccountSkuId -match "Video"} |ft UserPrincipalName,DisplayName,Licenses

image

The output above lists any user accounts currently assigned a VIDEO_INTEROP license.

About Jeff Schertz
Site Administrator

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!