Blog链接:​https://blog.51cto.com/13969817

我们在给用户做Microsoft 365 adoption的时候,都会给用户介绍Microsoft Teams中的Private Channel是私有频道,只有Teams中属于Private Channel的所有者或成员的用户才能访问该Channel,其他任何人,包括Guest,只要已经是Teams成员,都可以添加Private Channel的成员,否则将没有权限访问该Channel,也无法查看Channel里的会话和分享的文档等等。

如果你希望特定项目的一组人员之间的交流,而不需要创建额外的团队来管理,那么可以创建Private Channel,如下带小锁头的就代表是Private Channel。

本文,我将分享如何在所有团队中发现Private Channel,并使用PowerShell脚本将Private Channel导出到CSV文件中。

开始之前,请安装最新的Microsoft Teams PowerShell模块,并运行以下命令以连接到Teams模块:Connect-MicrosoftTeams

到目前为止,无法仅识别拥有Private Channel的团队。所以,我们需要使用get-TeamChannel cmdlet获取所有团队,以使用get-TteamChannel cmdlet检索Private Channel,并导出成CSV文件。

具体脚本如下所示:

$Result = @() #Result array
$AllTeams= Get-Team
$TotalTeams = $AllTeams.Count
$i = 0
ForEach ($Team in $AllTeams)
{
$i++
Write-Progress -Activity "Discover private channels in $($Team.Displayname)" -Status "$i out of $TotalTeams teams completed"
Try
{
$PrivateChannels = Get-TeamChannel -GroupId $Team.GroupId -MembershipType Private
ForEach ($Channel in $PrivateChannels)
{
$Result += New-Object PSObject -property $([ordered]@{
TeamName = $Team.DisplayName
ChannelName = $Channel.DisplayName
Description = $Channel.Description
GroupId = $Team.GroupId
ChannelId = $Channel.Id
})
}
}
Catch
{
Write-Host "Error occurred for $($Team.Displayname)" -f Yellow
Write-Host $_ -f Red
}
}
$Result | Export-CSV "C:\Temp\AllPrivateChannels.CSV" -NoTypeInformation -Encoding UTF8

谢谢大家的阅读