MicrosoftTeams

TeamsPowerShellを使用してすべてのチャネルを取得する

チャネルの使用状況や設定を一括変更する際の前準備として情報収集する際に役立ててほしい。

検証環境について

動作確認した検証環境は以下の通り。

OS:Microsoft Windows 11 Enterprise
OSbuildバージョン:10.0.22621
PowerShellのバージョン:7.4.0

TeamsPowershellのモジュール名とバージョン
MicrosoftTeams:7.0.0.0

サインインアカウントの権限はグローバル管理者。

使用するコマンド

Get-Team

使用例

Get-Team

取得できる情報例

GroupId                              DisplayName  Visibility  Archived  MailNickName  Description
-------                              -----------  ----------  --------  ------------  -----------
0123abcd-0123-4567-890a-bcd123456789 全体連絡      Public      False     all           ***********
17abc669-a2a8-432d-8b9f-4fc792ebb7b0 情報共有      Public      False     info          ***********

Get-TeamChannel

使用例

Get-TeamChannel -GroupId 0123abcd-0123-4567-890a-bcd123456789

取得できる情報例

Id                   DisplayName     Description   MembershipType
--                   -----------     -----------   --------------
19:****@thread.tacv2 01.チャネル      ********      Standard
19:****@thread.tacv2 02.チャネル      ********      Standard

すべてのチャネルを取得する

#実行日時を取得する
$yyyyMMddFFFFF = Get-Date -Format "yyyyMMdd_FFFFF"

#CSVの保存先 windowsOSの場合、デスクトップに保存する
$csvSavePath = "$env:USERPROFILE\Desktop"

#CSVのファイル名
$csvFileName = "Teams_AllChanelList_${yyyyMMddFFFFF}.csv"

#取得した結果を保存する配列
$result = @()


#TeamsPowerShellに接続する
Connect-MicrosoftTeams

#すべてのチームを取得する
$teamList= Get-Team

#取得したチームの数だけ繰り返す
foreach($team in $teamList){

    #特定チームのすべてのチャネルを取得する
    $channelList = Get-TeamChannel -GroupId $team.GroupId

    #取得したチャネルの数だけ繰り返す
    foreach($channel in $channelList){
        #取得した情報を変数に格納する
        $result +=[PSCustomObject]@{
            TeamName = $team.DisplayName
            GroupId = $team.GroupId
            ChannelName = $channel.DisplayName
            MembershipType = $channel.MembershipType
            ChannelId = $channel.Id
        }
    }
}

#取得した情報を並び替えした後、CSVファイルとして保存する
$result | `
    Sort-Object TeamName,MembershipType,ChannelName | `
    Export-Csv -Encoding UTF8 -NoTypeInformation -Path "${csvSavePath}\${csvFileName}"

#TeamsPowerShellから切断する
Disconnect-MicrosoftTeams

問い合わせフォーム

リンク切れのご報告や、記載内容に不備がありましたら、お手数をおかけしますが
以下お問い合わせフォームからご報告をお願い致します。
コマンドの仕様確認やエラー内容の確認、対処方法については、ご契約されているMicrosoftかCSPへお問い合わせください。
※いただきました内容は確認させていただきますが、必ずしも回答をお約束するものではございません。

    GraphPowerShellからMicrosoft365グループを一括作成する前のページ

    ExchangeOnlineでメールが検疫された際にユーザーに通知メールが送信されるよう設定する次のページ

    関連記事

    1. MicrosoftTeams

      GraphPowerShellからTeamsのチームを一括作成する

      New-MgTeamを使用してcsvファイルからチームを一括作成する方…

    2. MicrosoftTeams

      TeamsPowerShellを使用して全てチームのユーザー一覧を一括取得する

      各チームに所属しているメンバーの一覧をCSVファイルとして取…

    3. MicrosoftTeams

      GraphPowershellを使用して使用されていないチームを一括でアーカイブ化する

      一定期間特定のアクティビティのないチームを、一括でアーカイブ…

    最近の記事

    PAGE TOP