Microsoft Teams の PowerShell コマンドレットにバージョン 1.0.0 が登場し、いよいよ一般提供開始(General Availability)となりました!

PowerShell Gallery | MicrosoftTeams 1.0.0
https://www.powershellgallery.com/packages/MicrosoftTeams/1.0.0
Microsoft Teams PowerShell Module General Availability
https://techcommunity.microsoft.com/t5/Microsoft-Teams-Blog/Microsoft-Teams-PowerShell-Module-General-Availability/ba-p/480934

これで、日ごろの運用においても PowerShell から色々と操作を行えるようになると思いますので、さっそく少し触ってみます。

コマンドレットのインストール

Microsoft Teams の PowerShell コマンドレットをインストールするには、まずは、PowerShell を「管理者として実行」で起動します。そして、次のコマンドを入力し実行します。

Install-Module -Name MicrosoftTeams

ここで、次のように PSGallery が信頼されていないリポジトリと表示される場合は、Y を入力してインストールを続行します。

インストールが正常に終了すると、何も表示されず入力待ちの状態に戻ります。

コマンドの一覧を確認する

インストールされた Microsoft Teams コマンドレットの一覧を確認してみましょう。そのためには次のようにコマンドを入力し実行します。

Get-Command -Module MicrosoftTeams

インストールされたコマンドレットの一覧が確認できます。

1.0.0 では、14 個ほどのコマンドレットが用意されているようです。

テナントに接続する

さっそく実行してみましょう。まずは、テナントに接続する必要がありますので、次のコマンドを入力し実行します。

Connect-MicrosoftTeams

すると、別ウインドウで Office 365 のサインイン画面が開くので、いつものようにアカウントやパスワードを入力してサインインします。二要素認証の場合でも、いつも通りサインインができます。

このとき、サインインするユーザーは、Office 365 の「全体管理者」または「Teams サービス管理者」である必要があるようです。

チームを取得する

まずは、基本的な操作となるチームの情報取得から試してみます。

すべてのチームを取得する

次のコマンドレットを入力し実行することで、テナント内に作成されたすべてのチームの一覧を取得できます。

Get-Team

このコマンドレットは、実行後に結果が表示されるまでに時間がかかることがあるので注意が必要です。チーム数によるのかもしれませんが、数分かかることがありますので、スグに表示されなくても気長に待ちます。また、以降の操作で GroupId を利用することもあるので、ここの値はチェックしておきましょう。

特定のチームを取得する

Get-Team は、GroupIdMailNickNameDisplayName または Visibility(プライベートかパブリックか)などでフィルターをかけてチームを取得することができます。チームを一意に識別できる GroupId などを利用することで、特定のチームのみを取得できます。

Get-Team -GroupId 728c5313-bdc0-4065-bec6-c9b1fc24635a | fl

パイプラインで fl を指定することで、取得できるチームの全情報が表示されます。チームに所属するメンバーの情報はここには入っていないので、別のコマンドレットで取得する必要があります。

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

次のようにコマンドレットを入力し実行することで、チームに含まれるユーザーの一覧を取得できます。

Get-TeamUser -GroupId 728c5313-bdc0-4065-bec6-c9b1fc24635a

すべての所有者(Owner)、メンバー(Member)、ゲスト(Guest)が表示されます。

チームを作成する

最後にチームを作成してみましょう。次のようにコマンドレットを入力し実行します。

New-Team -MailNickName ideaToString -DisplayName "idea.toString();" -Owner "mike@contoso.com"

この New-Team では、チームのメンバーを指定できないため、メンバーも含めてチームを作成したい場合には次のように実行すると良さそうです。

$team = New-Team -MailNickName ideaToString -DisplayName "idea.toString();" -Owner "mike@contoso.com"
Add-TeamUser -GroupId $team.GroupId -User "pole@contoso.com" -Role Owner
Add-TeamUser -GroupId $team.GroupId -User "kelly@contoso.com" -Role Member

例のように Add-TeamUserRole を指定することで、メンバーを所有者またはメンバーとして追加できます。

さいごに

Microsoft Teams は、運用しているとどうしてもチームの数が増えてきますから、こうした PowerShell で管理できるようになることは大歓迎ですね。これからも PowerShell で行うことができる操作が増えてくると嬉しいですね。

Microsoft Teams の PowerShell に関する公式ドキュメントはこちらです。

チーム PowerShell の概要
https://docs.microsoft.com/ja-jp/MicrosoftTeams/teams-powershell-overview

今日の時点では、日本語は機械翻訳になっていますので、右上の「英語で読む」から英語に表示を切り替えて読んだ方が良いかもしれません。