Oh! 365 blog

主に SPO や Teams に関する情報を発信しています。

【Teams】Get-Team コマンドの挙動について

Get-Team コマンドは実行するユーザーに依存して得られる結果が異なります。リファレンスを見ると、特定のユーザーが属するすべてのチームや、組織 (テナント) 内のすべてのチームの取得をサポートしていることが記載されています。

docs.microsoft.com

This cmdlet supports retrieving teams with particular properties/information, including all teams that a specific user belongs to, all teams that have been archived, all teams with a specific display name, or all teams in the organization.

Microsoft 365 センターの役割である、Teams サービス管理者が Get-Team コマンドを引数無しで実行すると、テナント内のすべてのチームが返ります。一方、一般ユーザーが実行すると、自分が所属しているすべてのチームが取得されます。

  • Teams サービス管理者: 組織内のすべてのチーム
  • 一般ユーザー: 自分が所属しているすべてのチーム

Teams の PowerShell モジュールは、管理者の役割を与えられていない一般のユーザーであっても実行できるため、他のサービスをいつも触っていると混同してしまう可能性がありますので備忘録として残しておきます。

動作検証

動作を検証してみます。検証に使用した Teams PowerShell モジュールのバージョンは Ver 1.1.6 でした。
検証用に teamsadmin という名前でユーザーを作成し、[Teams サービス管理者] の役割を付与します。

f:id:keisuke-blog:20201231000848p:plain
Microsoft 365 管理センターで役割を付与します

検証に使用するテナントで何チーム存在するかを確認します。検証時は 526 チーム存在していました。

f:id:keisuke-blog:20201231000744p:plain
Teams 管理センターからみると 526 チーム存在している

Teams サービス管理者で Connect-MicrosoftTeams コマンドで Teams に接続後、Get-Team コマンドを実行し、返り値の数をカウントします。

f:id:keisuke-blog:20201231001334p:plain
Get-Team コマンドの返り値が Teams 管理センターの値と一致します

Teams 管理センターで確認したチーム数と一致することが確認できました。
ちなみに、Teams サービス管理者の資格情報でコマンドを実行する場合に、自分が所属しているチームだけを取得したい場合は -User パラメータに自身の UPN を指定します。teamsadmin を適当な 1 チームに所属させ、-User パラメータをつけて実行してみます。

Get-Team -User <ユーザーの UPN>

f:id:keisuke-blog:20201231001835p:plain
-User パラメータを使用すると指定したユーザーが所属しているチームだけが取得できる

一般ユーザーで同じように Get-Team コマンドを実行すると、デフォルトで自分が所属するチームだけが取得されます。

f:id:keisuke-blog:20201231002035p:plain

今回の投稿は以上です。