らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

PowerShell から Microsoft Teams のチーム・チャネル・メンバーを一覧表示する

Microsoft Teams (以下、Teams) のチーム一覧やメンバー一覧を取得する場合、PowerShell から実行すると簡単です。 PowerShell から設定や削除も可能なのですが、今回は参照 (Read) の方法だけ、メモしておきます。

モジュールのインストール

最初に MicrosoftTeams モジュールをインストールしておく必要があります。 PowerShell を開き、Install-Module MicrosoftTeams を実行してモジュールをインストールします。

Install-Module MicrosoftTeams

MicrosoftTeams モジュールで利用可能なコマンド

Get-Command -Module MicrosoftTeams を実行すると利用可能なコマンドの一覧を取得することが出来ます。 モジュールのバージョン 1.0.6 だと以下の結果になりました。

> Get-Command -Module MicrosoftTeams

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        Get-CsBatchPolicyAssignmentOperation               1.0.6      MicrosoftTeams
Function        Get-CsUserPolicyAssignment                         1.0.6      MicrosoftTeams
Function        New-CsBatchPolicyAssignmentOperation               1.0.6      MicrosoftTeams
Cmdlet          Add-TeamUser                                       1.0.6      MicrosoftTeams
Cmdlet          Connect-MicrosoftTeams                             1.0.6      MicrosoftTeams
Cmdlet          Disconnect-MicrosoftTeams                          1.0.6      MicrosoftTeams
Cmdlet          Get-CsPolicyPackage                                1.0.6      MicrosoftTeams
Cmdlet          Get-CsUserPolicyPackage                            1.0.6      MicrosoftTeams
Cmdlet          Get-CsUserPolicyPackageRecommendation              1.0.6      MicrosoftTeams
Cmdlet          Get-Team                                           1.0.6      MicrosoftTeams
Cmdlet          Get-TeamChannel                                    1.0.6      MicrosoftTeams
Cmdlet          Get-TeamsApp                                       1.0.6      MicrosoftTeams
Cmdlet          Get-TeamUser                                       1.0.6      MicrosoftTeams
Cmdlet          Grant-CsUserPolicyPackage                          1.0.6      MicrosoftTeams
Cmdlet          New-CsBatchPolicyPackageAssignmentOperation        1.0.6      MicrosoftTeams
Cmdlet          New-Team                                           1.0.6      MicrosoftTeams
Cmdlet          New-TeamChannel                                    1.0.6      MicrosoftTeams
Cmdlet          New-TeamsApp                                       1.0.6      MicrosoftTeams
Cmdlet          Remove-Team                                        1.0.6      MicrosoftTeams
Cmdlet          Remove-TeamChannel                                 1.0.6      MicrosoftTeams
Cmdlet          Remove-TeamsApp                                    1.0.6      MicrosoftTeams
Cmdlet          Remove-TeamUser                                    1.0.6      MicrosoftTeams
Cmdlet          Set-Team                                           1.0.6      MicrosoftTeams
Cmdlet          Set-TeamArchivedState                              1.0.6      MicrosoftTeams
Cmdlet          Set-TeamChannel                                    1.0.6      MicrosoftTeams
Cmdlet          Set-TeamsApp                                       1.0.6      MicrosoftTeams

Teams へ接続する

Teams に対して某かの操作を実行したい場合は、まず Teams へ接続する必要があります。 Connect-MicrosoftTeams を実行すると認証ウインドウがポップアップしますので、必要情報を入力して Teams へ接続します。

> Connect-MicrosoftTeams


Account      : foobar@example.com
Environment  : AzureCloud
Tenant       : 01234567-abcd-efgh-abcd-0123456789ab
TenantId     : 01234567-abcd-efgh-abcd-0123456789ab
TenantDomain : example.com

チーム一覧を取得する

チーム一覧を取得したい場合は Get-Team を実行します。 チーム数が多いと、完了までに暫く時間がかかるかも知れません。

> Get-Team

GroupId                              DisplayName        Visibility  Archived  MailNickName       Description
-------                              -----------        ----------  --------  ------------       -----------
01234567-abcd-efgh-abcd-0123456789ab Test-1             HiddenMe... False     nickname-1         Sample
76543210-abcd-efgh-abcd-0123456789ab Test-2             HiddenMe... False     nickname-2         Sample

指定したチームの情報を取得する

情報を取得したいチームが決まっており、そのチームの GroupId が分かっている場合は Get-Team -GroupId [GROUP-ID] で限定したチームの情報だけ、取得することが出来ます。

> Get-Team -GroupId 01234567-abcd-efgh-abcd-0123456789ab

GroupId                              DisplayName        Visibility  Archived  MailNickName       Description
-------                              -----------        ----------  --------  ------------       -----------
01234567-abcd-efgh-abcd-0123456789ab Test-1             HiddenMe... False     nickname-1         Sample

指定したチームのチャネル一覧を取得する

指定したチームのチャネル一覧を取得したい場合は Get-TeamChannel -GroupId [GROUP-ID] を実行します。

> Get-TeamChannel -GroupId 01234567-abcd-efgh-abcd-0123456789ab

Id                                               DisplayName      Description
--                                               -----------      -----------
01:11111111111111111111111111111111@thread.tacv2 General          General Purpose
01:22222222222222222222222222222222@thread.tacv2 QA
01:33333333333333333333333333333333@thread.tacv2 Test

チームのメンバー一覧を取得する

チームのメンバー一覧を取得するには Get-TeamUser -GroupId [GROUP-ID] を指定します。 GROUP-IDGet-Team の実行結果から確認することが出来ます。

Get-TeamUser -GroupId 01234567-abcd-efgh-abcd-0123456789ab

> Get-TeamUser -GroupId 599b724b-3bad-4c13-b943-fc39d761445c

UserId                               User                        Name                             Role
------                               ----                        ----                             ----
11111111-1111-1111-1111-111111111111 admin-1@example.com         Admin-1                          owner
22222222-2222-2222-2222-222222222222 admin-2@example.com         Admin-2                          owner
33333333-3333-3333-3333-333333333333 user-3@example.com          User-3                           member
44444444-4444-4444-4444-444444444444 user-4@example.com          User-4                           member

参考