Teams プライベートチャネルのメンバーシップを報告する

Teams プライベートチャネルのメンバーシップを報告する

PowerShell でチームのプライベート チャネルとそのメンバーを検索する

先週、私は Get-AssociatedTeam コマンドレットを使用して、Microsoft Teamsのメンバーシップ レポートを作成します。このレポートには、共有チャネルの直接メンバーシップを含め、各ユーザーが所属するすべてのチームが一覧表示されます。何人かの人々は、コマンドレットを使用してメンバーシップに関するレポートを生成できるかどうかを尋ねるために連絡を取った チームのプライベート チャネル.答えはノーです。これは、プライベート チャネルのメンバーになるには、ユーザーが最初にホスト チームのメンバーである必要があるためです。ホスト チームは、 Get-AssociatedTeamしたがって、チームはとにかくユーザーに対して報告されます。

ただし、通常、問題を攻撃する別の方法があります。この場合、 Get-TeamAllChannel コマンドレットは、マイクロソフトが PowerShell モジュールの V4.6 でリリースした新しいコマンドレットのMicrosoft Teamsです。

プライベートチャンネルの検索

必要なコードの多くが含まれていたため (コードを再利用することを誇りに思うことはありません)、テナント内のすべてのチームのすべてのチャネルを報告するために記述したスクリプトを次のように修正しました。

  • 各チームにプライベートチャンネルがないか確認します。
  • プライベートチャネルが存在する場合は、 Get-TeamChannelUser 各チャネルの所有者とメンバーを検索するコマンドレット。
  • チャンネルのメンバーと所有者の詳細を書き出します。
  • データを報告します。

チームで見つかったプライベートチャネルを処理し、その所有者とメンバーの詳細を取得するメインループを次に示します。

$ChannelsList = [System.Collections.Generic.List[Object]]::new()
[int]$i = 0
ForEach ($Team in $Teams) {
   $i++
   Write-Host ("Processing {0} ({1}/{2})" -f $Team.DisplayName, $i, $Teams.Count)
   [array]$Channels = Get-TeamAllChannel -GroupId $Team.Id -MembershipType "Private"
   ForEach ($Channel in $Channels) {
     Write-Host ("Found private channel {0} in team {1}" -f $Channel.DisplayName, $Team.DisplayName)
     [array]$ChannelMembers = Get-TeamChannelUser -GroupId $Team.Id -DisplayName $Channel.DisplayName
     ForEach ($Member in $ChannelMembers) {
       $ChannelLine = [PSCustomObject][Ordered]@{ # Write out details of the private channel and its members
          Team                = $Team.DisplayName
          Channel             = $Channel.DisplayName
          Description         = $Channel.Description
          Member              = $Member.Name
          MemberUPN           = $Member.User
          Role                = $Member.Role
          HostTeam            = $Channel.HostTeamId
          Id                  = $Channel.Id }
       $ChannelsList.Add($ChannelLine) } 
  } #End Foreach Member
} # End ForEach Team

図 1 は、PowerShell の一覧にあるテナントからのデータの一部を示しています。このリストは、 アウトグリッドビュー コマンドレット。

Teams 共有チャネルのメンバーシップの詳細
図 1: Teams 共有チャネルのメンバーシップの詳細

Teams は、所有者とメンバーの最小限のデータを報告します。部門、オフィス、役職などのユーザーに関する追加情報を含める場合は、Azure AD でユーザーを検索して情報を取得する必要があります。

プライベート チャネルの使用法について

さらに良いことに、リストを調べて、プライベート チャネルを持つチームの数、プライベート チャネルを持つチームとその所有者など、テナントでのプライベート チャネルの使用状況に関する基本情報を計算できます (図 2)。

Teams のプライベートチャネルの基本的な詳細
図 2: Teams のプライベート チャネルの基本的な詳細

必要なデータを生成したら、適切な出力レポートを CSV、HTML、Excel、または PDF 形式で作成できます。

あなたはダウンロードすることができます GitHub からの完全なスクリプト.

プライベートチャンネル

かどうかはわかりません チームのプライベート チャネル マイクロソフトがIgnite 2019カンファレンスで新しい機能を明らかにしたときに期待した影響をもたらしました。ただし、プライベート チャネルが気に入っているのは、各プライベート チャネルが持つ専用の SharePoint Online サイトでドキュメントを共有するなど、定義された一連のユーザーと情報を共有する効果的な方法だと思うからです。確かに、アプリのサポートは共有チャネルに限定されていますが、通常のチーム コラボレーションよりも少しプライベートにするためにディスカッションが必要な場合に、アプリの使用を避ける理由にはなりません。


このような洞察は簡単には得られません。テクノロジーを知り、舞台裏の見方を理解する必要があります。の知識と経験から利益を得る Office 365 for IT プロフェッショナル Office 365とより広いMicrosoft 365エコシステムをカバーする最高の電子書籍を購読することでチーム。

未分類

Posted by admin