When we dig into new additions to Teams PowerShell we’ll discover plenty of new things. There’s a lot of information missing from the official docs.
Do we want to know, what's not in the official docs for Teams PowerShell module? Of course we do. Let's do some digging and learn more about the changes made during first two months of 2023.
ExtendedNotifications parameter appeared in emergency calling policies cmdlets. It's available for the entire set of cmdlets: Get-, Set-, and New-.
A new cmdlet to create emergency calling extended notification popped up, too. It's name is New-CsTeamsEmergencyCallingExtendedNotification. Although the release notes say:
Functionality remains the same as the previous implementation
There is no mention of the cmdlet or the new parameter in the cmdlet help pages (New-, Set-) nor in the Manage emergency calling policies in Microsoft Teams article.
The cmdlet and parameter were both added with the release of the 4.9.3 version.
The new cmdlet accepts the following parameters:
EmergencyDialString <string> - the only mandatory one
When we try to run it, it returns error:
New-CsTeamsEmergencyCallingExtendedNotification: Could not find the resource "XsdClassGeneratorStringsResources.resources" among the resources "" embedded in the assembly "Microsoft.Teams.Policy.Administration.Cmdlets.Providers.PolicyRp", nor among the resources in any satellite assemblies for the specified culture. Perhaps the resources were embedded with an incorrect name.
StreamingSourceAuthType and StreamingSourceUrl were added to Teams call hold policy.
These properties are currently returned by Get-CsTeamsCallHoldPolicy. The cmdlets for setting (New-CsTeamsCallHoldPolicy and Set-CsTeamsCallHoldPolicy) have these parameters, too.
For now, these parameters are described as reserved for internal Microsoft use and we can only guess whether that's something to be released for clients.
In my opinion, call hold streaming might be a useful service. Companies could use it to provide real-time marketing instead of boring music played on hold. Or they can play Last Christmas between September and December 😅.
There are also cmdlets supporting creation of the policy:
Currently, Get-CsTeamsMeetingBrandingPolicy shows the following properties:
This cmdlet returns more parameters. They are visible if you use the trick:
Get-CsTeamsMeetingBrandingPolicy | Select-Object *
The properties are:
The first four don't say much about their purpose. From what I found UpaSeparator was the parameter returned by Skype for Business Server's cmdlet Get-CsConferenceDirectory. What's its purpose on Teams? I have no idea.
There is one new cmdlet related to EnableNdiAssuranceSlate and it is New-CsTeamsNdiAssuranceSlate.
The parameters accepted by these cmdlets are:
IsDefault <bool> (optional)
What's interesting, there is no Set-CsTeamsNdiAssuranceSlate or Delete-CsTeamsNdiAssuranceSlate cmdlet available yet. There's no related documentation available.
We already had WelcomeMusicAudioFileId parameter for call queues. Now we also get text to speech option with WelcomeTextToSpeechPrompt. It's already available for both cmdlets: Set-CsCallQueue and New-CsCallQueue.
The application-based authentication for Teams PowerShell module got a new parameter: Certificate. If you want to have a look, Andres Bohren has an article showing how to use it: MicrosoftTeams PowerShell Module 4.9.3 released as GA.
I would say that we're getting more detailed release notes lately. It's not so easy to discover exciting features before they are announced. But as always - we found something. And we'll keep digging for more.