UCLobby Teams PowerShell Module

The module is available in the PowerShell Gallery:
PowerShell Gallery – UCLobbyTeams

Source code available in GitHub:
GitHub – UCLobbyTeams

Get-UcEntraObjectsOwnedByUser

Syntax

Get-UcObjectsOwnedByUser
-User
-Type

Description

This function returns the list of Entra Objects associated with the specified user.
Contributors: Jimmy Vincent and David Paulino

Requirements

  • EntraAuth PowerShell Module (Install-Module EntraAuth)
    or
    Microsoft Graph Auth PowerShell Module (Install-Module Microsoft.Graph.Authentication)
  • Microsoft Graph Permissions:
    • User.Read.All
    • Or
      • Directory.Read.All

Parameters

  • User – Specifies the user UPN or User Object ID.
  • Type – Filter by Object Type:
    • Application
    • ServicePrincipal
    • TokenLifetimePolicy
    • SecurityGroup
    • DistributionGroup
    • Microsoft365Group
    • Team
    • Yammer

Example

Get-UcObjectsOwnedByUser -User user@uclobby.com

Get-UcTeamsWithSingleOwner

Syntax

Get-UcTeamsWithSingleOwner

Description

This function returns a list of Teams that only have a single owner.

Requirements

Microsoft Teams PowerShell Module (Install-Module MicrosoftTeams)

Example

Get-UcTeamsWithSingleOwner

Get-UcTeamUsersEmail

Syntax

Get-UcTeamUsersEmail
[-TeamName]
[-Role]
[<CommonParameters>]

Description

This function returns a list of users email address that are part of a Team.

Requirements

Microsoft Teams PowerShell Module (Install-Module MicrosoftTeams)

Parameters

  • TeamName – Specifies Team Name.
  • Role – Specifies which roles to filter:
    • Owner
    • User
    • Guest

Example

Get-UcTeamUsersEmail
Get-UcTeamUsersEmail -TeamName "Test Team"
Get-UcTeamUsersEmail -Role Owner

Get-UcTeamsVersion

Syntax

Get-UcTeamsVersion
[-Path]
[-Computer]
[-Credential]

Description

The Get-UcTeamsVersion returns the installed Microsoft Teams desktop version for each user profile.

Parameters

  • Path- Get Teams Version from previously downloaded log files
  • Computer – Specify the computer we want to collect the version from. Requires Admin Shares to be enabled.
  • Credential – Credential to be used to connect to the remote computer

Blog post: Teams: Check client version using PowerShell

Example

Get-UcTeamsVersion
Get-UcTeamsVersion -Path C:\Downloads\
Get-UcTeamsVersion -Computer workstation -Credential (Get-Credential)

Get-UcTeamsDevice

Syntax

Get-UcTeamsDevice
[-TACDeviceID]
[-Filter]
[-Detailed]
[-ExportCSV]
[-OutputPath]
[-UseTAC]

Description

This function fetch Teams Devices provisioned in a M365 Tenant using MS Graph.

Contributors: David Paulino, Silvio Schanz, Gonçalo Sepúlveda, Bryan Kendrick, Daniel Jelinek and Traci Herr.

Requirements

  • EntraAuth PowerShell Module (Install-Module EntraAuth)
    or
    Microsoft Graph Auth PowerShell Module (Install-Module Microsoft.Graph.Authentication)
    Note: UseTAC parameter requires EntraAuth PowerShell Module.
  • Microsoft Graph Permissions:
    • TeamworkDevice.Read.All
    • User.Read.All

Parameters

  • TACDeviceID – Allows specifying a single Teams Device using the Device ID used by TAC.
  • Filter
    •     Phone – Teams Native Phones
    •     MTR – Microsoft Teams Rooms running Windows or Android
    •     MTRW – Microsoft Teams Room Running Windows
    •     MTRA – Microsoft Teams Room Running Android
    •     SurfaceHub – Surface Hub
    •     Display – Microsoft Teams Displays
    •     Panel – Microsoft Teams Panels
  • Detailed – When present it will get detailed information from Teams Devices
  • ExportCSV – When present will export the detailed results to a CSV file. By default, will save the file under the current user downloads, unless we specify the OutputPath.
  • OutputPath – Allows to specify the path where we want to save the results.
  • UseTAC – When present it will use the Teams Admin Center API to get the Teams Devices information.

Example

#Using Microsoft Graph
Get-UcTeamsDevice
Get-UcTeamsDevice -Filter MTR
Get-UcTeamsDevice -Detailed
Get-UcTeamsDevice -ExportCSV
Get-UcTeamsDevice -ExportCSV -OutputPath C:\Reports
#Using TAC API
Connect-UcTeamsDeviceTAC
Get-UcTeamsDevice -UseTAC

Update-UcTeamsDevice

Syntax

Update-UcTeamsDevice
[-UpdateType]
[-DeviceType]
[-DeviceID]
[-SoftwareVersion]
[-InputCSV]
[-Subnet]
[-OutputPath]
[-ReportOnly]
[<CommonParameters>]

Description

This allows Teams administrators to send update commands to multiple Teams Android Devices using MS Graph API.

Contributors Eileen Beato, David Paulino and Bryan Kendrick.

Requirements

  • EntraAuth PowerShell Module (Install-Module EntraAuth)
    or
    Microsoft Graph Auth PowerShell Module (Install-Module Microsoft.Graph.Authentication)
  • Microsoft Graph Permissions:
    • TeamworkDevice.ReadWrite.All

Parameters

  • UpdateType
    • Firmware
    • TeamsApp
  • DeviceType
    • Phone – Teams Native Phones
    • MTRA – Microsoft Teams Room Running Android
    • Display – Microsoft Teams Displays
    • Panel – Microsoft Teams Panels
  • DeviceID – Specify the Teams Admin Center Device ID that we want to update.
  • SoftwareVersion – Allow to specify which version we want to update.
  • InputCSV – When present will use this file as Input, we only need a column with Device Id. It supports files exported from Teams Admin Center (TAC).
  • Subnet – Only available when using InputCSV and requires a “IP Address” column, it allows to only send updates to Teams Android devices within a subnet. Format examples: 10.0.0.0/8, 192.168.0.0/24
  • OutputPath – Allows to specify the path where we want to save the output.
  • ReportOnly – Will read Teams Device Android versions info and generate a report.

Example

Update-UcTeamsDevice
Update-UcTeamsDevice -ReportOnly
Update-UcTeamsDevice -InputCSV C:\UCLobby\DevicesList.csv -Subnet 10.10.0.0/16

Get-UcTeamsDeviceConfigurationProfile

Syntax

Get-UcTeamsDeviceConfigurationProfile
[-Filter]

Description

This function fetch Teams Devices Configuration Profiles using the TAC API.

Requirements

EntraAuth PowerShell Module (Install-Module EntraAuth)

Parameters

  •     Filter
    • Phone – Teams Native Phones
    • MTR – Microsoft Teams Rooms running Android
    • Display – Microsoft Teams Displays
    • Panel – Microsoft Teams Panels

Examples

Get-UcTeamsDeviceConfigurationProfile
Get-UcTeamsDeviceConfigurationProfile -Filter MTR

Set-UcTeamsDeviceConfigurationProfile

Syntax

Set-UcTeamsDeviceConfigurationProfile
-TACDeviceID
-ConfigID

Description

This function will use TAC API to assign a Configuration Profile by sending the Config Update command to the specified device(s).

Requirements

EntraAuth PowerShell Module (Install-Module EntraAuth)

Parameters

  • TACDeviceID – Teams Device ID from Teams Admin Center.
  • ConfigID – Teams Device Configuration Profile ID.

Examples

Set-UcTeamsDeviceConfigurationProfile -TACDeviceID "00000000-0000-0000-0000-000000000000" -ConfigID "00000000-0000-0000-0000-000000000000

Test-UcTeamsOnlyDNSRequirements

Syntax

Test-UcTeamsOnlyDNSRequirements
[-Domain]

Description

This function will check if the DNS entries that were previously required.

If we specify the Domain the cmdlet will query all domains associated to the tenant that domain belongs and check one by one.

If the Domain parameter is not specified, it will use the Get-CsSipDomain. This requires that you already connected using Microsoft Teams PowerShell module using Connect-MicrosoftTeams.

Blog Post: Test-UcTeamsOnlyDNSRequirements

Examples

Test-UcTeamsOnlyDNSRequirements
Test-UcTeamsOnlyDNSRequirements -Domain uclobby.com

Test-UcTeamsDevicesConditionalAccessPolicy

Syntax

Test-UcTeamsDevicesConditionalAccessPolicy
[-PolicyID]
[-UserUPN]
[-DeviceType]
[-Detailed]
[-All]
[-IncludeSupported]
[-ExportCSV]
[-OutputPath]

Description

This function will validate each setting in a Conditional Access Policy to make sure they are in line with the supported settings:

Teams Android Devices – Supported Conditional Access policies

Contributors: Traci Herr, David Paulino, Gonçalo Sepúlveda and Miguel Ferreira

More info:
UCMESS: How to Check Conditional Access Policies unsupported settings for the Teams Android Devices

Requirements

  • Microsoft Graph Auth PowerShell Module (Install-Module Microsoft.Graph.Authentication)
  • Microsoft Graph Permissions:
    • Policy.Read.All

Parameters

  • PolicyID – Specifies a Policy ID that will be checked if is supported by Microsoft Teams Devices.
  • UserUPN – Specifies a UserUPN that we want to check for applied Conditional Access policies.
  • DeviceType – Type of Teams Device:
    • MTRWindows – Microsoft Teams Room Running Windows
    • MTRAndroidAndPanel – Microsoft Teams Room Running Android and Panels
    • PhoneAndDisplay – Microsoft Teams Phone and Displays
  • Detailed – When present it will get detailed configuration information from Conditional Access policy.
  • All – When present it check all Conditional Access policies independently if they are assigned to a User(s)/Group(s).
  • IncludeSupported – Displays results for all settings in each Conditional Access Policy.
  • ExportCSV – When present will export the detailed results to a CSV file. By default, will save the file under the current user downloads, unless we specify the OutputPath.
  • OutputPath – Allows to specify the path where we want to save the results.

Example

Test-UcTeamsDevicesConditionalAccessPolicy
Test-UcTeamsDevicesConditionalAccessPolicy -Detailed

Test-UcTeamsDevicesEnrollmentProfile

Syntax

Test-UcTeamsDevicesEnrollmentProfile
[-UserUPN]
[-PlatformType]
[-Detailed]
[-ExportCSV]
[-OutputPath]
[<CommonParameters>]

Description

This function will validate Intune Enrollment Profile that are supported by Microsoft Teams Android Devices

Contributors: David Paulino, Gonçalo Sepúlveda and Eileen Beato

Requirements

  • Microsoft Graph Auth PowerShell Module (Install-Module Microsoft.Graph.Authentication)
  • Microsoft Graph Permissions:
    • DeviceManagementServiceConfig.Read.All
    • DeviceManagementConfiguration.Read.All
    • Directory.Read.All

Parameters

  • UserUPN – Specifies a UserUPN that we want to check for a user enrollment profiles.
  • PlatformType
    • AndroidDeviceAdministrator
    • AOSP
  • Detailed – Displays test results for unsupported settings in each Intune Enrollment profile.
  • ExportCSV – When present will export the detailed results to a CSV file. By default, will save the file under the current user downloads, unless we specify the OutputPath.
  • OutputPath – Allows to specify the path where we want to save the results.

Example

Test-UcTeamsDevicesEnrollmentProfile
Test-UcTeamsDevicesEnrollmentProfile -UserUPN david@uclobby.com
Test-UcTeamsDevicesEnrollmentProfile -Detailed

Test-UcTeamsDevicesCompliancePolicy

Syntax

Test-UcTeamsDevicesCompliancePolicy
[-PolicyID]
[-PolicyName]
[-UserUPN]
[-DeviceID]
[-Detailed]
[-All]
[-IncludeSupported]
[-ExportCSV]
[-OutputPath]

Description

This function will validate each setting in the Intune Compliance Policy to make sure they are in line with the supported settings:

Teams Android Devices – Supported Intune Compliance policies

Contributors: Traci Herr, David Paulino and Gonçalo Sepúlveda

UCMESS: Checking Intune Compliance Policies for unsupported settings

Requirements

  • Microsoft Graph Auth PowerShell Module (Install-Module Microsoft.Graph.Authentication)
  • Microsoft Graph Permissions:
    • DeviceManagementConfiguration.Read.All

Parameters

  • PolicyID – Specifies a Policy ID that will be checked if is supported by Microsoft Teams Devices.
  • PolicyName – Specifies a Policy Display Name that will be checked if is supported by Microsoft Teams Devices.
  • UserUPN – Specifies a UserUPN that we want to check for applied compliance policies.
  • DeviceID – Specifies DeviceID that we want to check for applied compliance policies.
  • Detailed – When present it will get detailed configuration information from Intune Compliance policy.
  • All – Will check all Intune Compliance policies independently if they are assigned to a User(s)/Group(s).
  • IncludeSupported – Displays results for all settings in each Intune Compliance Policy.
  • ExportCSV – When present will export the detailed results to a CSV file. By default, will save the file under the current user downloads, unless we specify the OutputPath.
  • OutputPath – Allows to specify the path where we want to save the results.

Example

Test-UcTeamsDevicesCompliancePolicy
Test-UcTeamsDevicesCompliancePolicy -Detailed

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.