external help file | Module Name | online version | schema |
---|---|---|---|
TeamsFunctions-help.xml |
TeamsFunctions |
2.0.0 |
Displays Voice Configuration Parameters for one or more Users
Get-TeamsUserVoiceConfig [-UserPrincipalName] <String[]> [-DiagnosticLevel <Int32>] [-SkipLicenseCheck]
[-ReturnObjectIfNotFound] [-WriteErrorLog] [<CommonParameters>]
Displays Voice Configuration Parameters with different Diagnostic Levels ranging from basic Voice Configuration up to Policies, Account Status & DirSync Information
Get-TeamsUserVoiceConfig -UserPrincipalName John@domain.com
Shows Voice Configuration for John with a concise view of Parameters
Get-TeamsUserVoiceConfig -UserPrincipalName John@domain.com -DiagnosticLevel 2
Shows Voice Configuration for John with a extended list of Parameters (see NOTES)
"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.
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
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.
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
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
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
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
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
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
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.
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/