Teamsチーム情報のエクスポート方法 | メンバーと所有者を含む情報出力コマンドガイド

PowerShell

社内のチームを整理するのに全チームのメンバーや所有者情報が知りたいな。

PowerShellコマンドで取得できるよ。
ぼくはチュールの生産者情報が知りたいにゃ。

やりたい事

組織内にある全Teamsチームについて、以下の情報をcsvにエクスポートしたい。
・チーム名
・プライベートチーム / パブリックチーム
・所有者数
・所有者の表示名
・所有者メールアドレス
・メンバー数
・メンバーの表示名
・メンバーのメールアドレス

今回は、”所有者やメンバーが複数名いる場合は同じセル内に出力してほしい”との要望でした。

ちなみに現在あるチームはこちらの4つ☟

コマンド

実行するには”Teams管理者権限”が必要です。
サインインを求められるので、Teams管理者権限があるアカウントでサインインします。
欲しい情報に合わせてオブジェクトを書き替えます。
エクスポート先のパスは任意で。

#Microsoft Teams に接続
Connect-MicrosoftTeams

#チームの情報を取得
$teams = @()
Get-Team | ForEach-Object {
    $obj = New-Object object
    $users = Get-TeamUser -GroupId $_.GroupId
    $owners = $users | Where-Object { $_.Role -like "owner" }
 $members = $users | Where-Object { $_.Role -like "member" }    

     $OrgUnit
    $obj | Add-Member -NotePropertyMembers @{
    "GroupId"       = $_.GroupId;
        "DisplayName"   = $_.DisplayName;
        "Visibility"    = $_.Visibility;
        "Archived"      = $_.Archived;
      "Members"       = $members.count;
        "MemberID"      = $members.User -join "`r`n";
        "MemberName"    = $members.Name -join "`r`n";
        "Owners"        = $owners.count;
        "OwnerID"       = $owners.User -join "`r`n";
        "OwnerName"     = $owners.Name -join "`r`n";
          }  

    $teams += ($obj | Select-Object DisplayName,Visibility,Owners,OwnerId,OwnerName,Members,MemberID,MemberName) }
$teams | Export-Csv -Path (Join-Path "C:\temp" ("TeamOwnersAndMembers" + (Get-Date -Format "yyyyMMddHHmm") + ".csv")) -NoTypeInformation -Encoding UTF8 

実行結果

取得結果はこちら☟
出力される列の順番=オブジェクトを書いた順番になってます。
所有者が複数名の場合も問題なく取得できました。

コメント

タイトルとURLをコピーしました