Skip to content

Latest commit

 

History

History
184 lines (141 loc) · 5.43 KB

Get-TeamsUserVoiceConfig.md

File metadata and controls

184 lines (141 loc) · 5.43 KB
external help file Module Name online version schema
TeamsFunctions-help.xml
TeamsFunctions
2.0.0

Get-TeamsUserVoiceConfig

SYNOPSIS

Displays Voice Configuration Parameters for one or more Users

SYNTAX

Get-TeamsUserVoiceConfig [-UserPrincipalName] <String[]> [-DiagnosticLevel <Int32>] [-SkipLicenseCheck]
 [-ReturnObjectIfNotFound] [-WriteErrorLog] [<CommonParameters>]

DESCRIPTION

Displays Voice Configuration Parameters with different Diagnostic Levels ranging from basic Voice Configuration up to Policies, Account Status & DirSync Information

EXAMPLES

EXAMPLE 1

Get-TeamsUserVoiceConfig -UserPrincipalName John@domain.com

Shows Voice Configuration for John with a concise view of Parameters

EXAMPLE 2

Get-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -DiagnosticLevel 2

Shows Voice Configuration for John with a extended list of Parameters (see NOTES)

EXAMPLE 3

"John@domain.com" | Get-TeamsUserVoiceConfig -SkipLicenseCheck

Shows Voice Configuration for John with a concise view of Parameters and skips validation of Licensing for this User.

EXAMPLE 4

Get-CsOnlineUser | Where-Object UsageLocation -eq "BE" | Get-TeamsUserVoiceConfig

Shows Voice Configuration for all CsOnlineUsers with a UsageLocation set to Belgium. Returns concise view of Parameters For best results, please filter the Users first and add Diagnostic Levels at your discretion

EXAMPLE 5

Get-TeamsUserVoiceConfig "NonExistentUser@domain.com" -WriteErrorLog -ReturnObjectIfNotFound -DiagnosticLevel 3 | Export-Csv "C:\Temp\Get-TeamsUVC.csv" -Append

Assuming the user does not exist, will write an error log to C:\Temp and returns an empty object with Diagnostic Level 3 The Output is written to a CSV file containing all parsed objects, whether found or not.

PARAMETERS

-UserPrincipalName

Required. UserPrincipalName (UPN) of the User

Type: String[]
Parameter Sets: (All)
Aliases: ObjectId, Identity

Required: True
Position: 1
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: False

-DiagnosticLevel

Optional. Value from 0 to 4. Higher values will display more parameters If not provided (and not suppressed with SkipLicenseCheck), will change the output of LicensesAssigned to ProductNames only See NOTES below for details.

Type: Int32
Parameter Sets: (All)
Aliases: DiagLevel, Level, DL

Required: False
Position: Named
Default value: 0
Accept pipeline input: False
Accept wildcard characters: False

-SkipLicenseCheck

Optional. Will not perform queries against User Licensing to improve performance

Type: SwitchParameter
Parameter Sets: (All)
Aliases: SkipLicense, SkipLic

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-ReturnObjectIfNotFound

Optional. Returns an empty object for when no CsOnlineUser Object nor AzureAdUser Object can be found. This is useful for bulk-operations exporting this information to CSV

Type: SwitchParameter
Parameter Sets: (All)
Aliases: ReturnEmptyObject

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

-WriteErrorLog

Optional. If Errors are encountered, writes log to C:\Temp

Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

System.String

OUTPUTS

System.Object

NOTES

DiagnosticLevel details: 1 Basic diagnostics for Hybrid Configuration or when moving users from On-prem Skype 2 Extended diagnostics displaying additional Voice-related Policies 3 Basic troubleshooting parameters from AzureAD like AccountEnabled, etc. 4 Extended troubleshooting parameters from AzureAD like LastDirSyncTime Parameters are additive, meaning with each DiagnosticLevel more information is displayed

This script takes a select set of Parameters from AzureAD, Teams & Licensing. For a full parameterset, please run:

  • for AzureAD: "Find-AzureAdUser $UserPrincipalName | FL"
  • for Licensing: "Get-AzureAdUserLicense $UserPrincipalName"
  • for Teams: "Get-CsOnlineUser $UserPrincipalName"

Exporting PowerShell Objects that contain Nested Objects as CSV results in this parameter being shown as "System.Object[]". Using any diagnostic level higher than 3 adds Parameter LicenseObject allowing to drill-down into Licensing Omitting it allows for visible data when exporting as a CSV.

RELATED LINKS

https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/Get-TeamsUserVoiceConfig.md

https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/about_VoiceConfiguration.md

https://github.com/DEberhardt/TeamsFunctions/tree/main/docs/