‘Sup PSHomies,
Microsoft Teams has released the long anticipated Teams module! And with that a great blog to get you started.
Microsoft Teams is Microsoft’s version of Slack (Ok, I oversimplified that… I know). I’ve been following MSTeams development with Graph Explorer for some time now (Something you should definitely look into).
So I followed the blog’s instructions and everything works as expected!
The cmdlets support the pipeline. (Get-Command -Name <cmdlet>).Parameterset will get you an overview of what’s supported and/or mandatory. Generallyspeaking, GroupId is mandatory and accepted from the pipeline.
Here’s some code to help test drive the cmdlets.
#region Connect | |
Connect-MicrosoftTeams | |
#endregion | |
#region MSTeams cmdlets | |
#Get all cmdlets | |
Get-Command -Module *Teams* | |
#Only interested in Get-*? | |
Get-Command -Module *Teams* -Name Get* | |
#Find out what mandatory and/or accepts ValueFrom* for Get-TeamUser | |
(Get-Command -Name Get-TeamUser).ParameterSets | |
#endregion | |
#region Test drive cmdlets | |
#Get Team Displays all Teams (Ofcourse it does) | |
Get-Team | |
#Get Team Channels. GroupId ValueFromPipelineByPropertyName = True | |
Get-Team | Get-TeamChannel | |
#Group TeamChannels by Teams | |
Get-Team | | |
ForEach-Object{ | |
$result = Get-TeamChannel -GroupId $_.GroupId | |
[PSCustomObject]@{ | |
Team = $_.DisplayName | |
TeamChannel = $result | |
} | |
} -OutVariable TeamChannels | |
#Get Team Users. GroupId ValueFromPipelineByPropertyName = True | |
Get-Team | Get-TeamUser | |
#Get TeamUsers | |
Get-Team | | |
ForEach-Object{ | |
$result = Get-TeamUser -GroupId $_.GroupId | |
[PSCustomObject]@{ | |
Team = $_.DisplayName | |
Users = $result | |
} | |
} -OutVariable TeamUsers | |
#Get TeamMemberSettings | |
Get-Team | | |
ForEach-Object{ | |
$result = Get-TeamMemberSettings -GroupId $_.GroupId | |
[PSCustomObject]@{ | |
Team = $_.DisplayName | |
TeamMemberSettings = $result | |
} | |
} -OutVariable TeamMemberSettings | |
#endregion |
So one thing I was hoping for, was to have a cmdlet to post to TeamChannels. For now posting can be done using Graph beta support for teams. Looking forward to having cmdlets for posting as well (fingers crossed!). Before the cmdlets you needed to do some pre-configuration in order to post using Graph, so the cmdlets definitely makes that step easier!
Well that’s it in a nutshell, happy Testing
Hope it’s worth something to you,
Ttyl,
Urv
Mircosoft Teams is Mircosoft’s version of Slack
Do you need a one-liner to replace Mircosoft with Microsoft?
LikeLiked by 1 person
Thanks! I shouldn’t blog after working 14 hours… 😉
LikeLike
Pingback: Microsoft Teams MessageCards | pshirwin
Just a note that Get-Team only shows you the teams you’re a member of, regardless of your admin privileges (if any). There appears to not be a way to list ALL teams regardless of membership.
LikeLike