ふと、Microsoft Teams の PowerShell を使ってみようかなと思ったところ、いつの間にかバージョン 2.0.0 がリリースされていました。

PowerShell Gallery | MicrosoftTeams 2.0.0
https://www.powershellgallery.com/packages/MicrosoftTeams/2.0.0

どこが変わったんだろうと情報を調べてみます。

リリースノートを確認

まずはリリースノートを確認してみましょう。

Microsoft Teams PowerShell のリリース ノート – Microsoft Teams | Microsoft Docs
https://docs.microsoft.com/ja-jp/MicrosoftTeams/teams-powershell-release-notes

認証や認可が MSAL になった

認証や認可の仕組みとして MSAL が利用されるようになったみたいです。普通に使う場合にはあまり意識することはないかもしれませんが、新しい仕組みに変わったということですね。

New-CsOnlineSession が廃止された

Microsoft Teams の PowerShell にはいつ頃からか Skype for Business の PowerShell が統合されてきていました。Skype for Business に接続するためにはおなじみのコマンド New-CsOnlineSession があったわけですが、これが廃止されて Connect-MicrosoftTeams に統合されたようです。

Get-Team のパフォーマンス向上

おそらく使っていて一番うれしいのはこれですね。Get-Team のパフォーマンスが向上したようです。テナント内のチームを列挙する場合などには、コマンドを実行してから結果を返ってくるまでの待ち時間が発生するのですが、こうした動作のパフォーマンスが改善したのだと思います。

さっそくインストール

新しく Microsoft Teams の PowerShell をインストールするには、PowerShell を管理者として実行し次のコマンドを実行します。

Install-Module -Name MicrosoftTeams

僕の場合は以前に 1.1.6 をインストールしていたので次のような警告が出ました。

ここは指示にしたがって -Force パラメーターを付けて実行します。

Install-Module -Name MicrosoftTeams -Force

これでインストールは終わりです。念のため一度 PowerShell を閉じて開き直しましょう。

検証: Get-Team のパフォーマンスは向上したのか

というわけで、個人的に一番気になる Get-Team のパフォーマンスを確認してみます。こうしたコマンドやスクリプトの実行時間を確認するには、Measure-Command を利用すると良さそうです。

Measure-Command {Get-Team}

実行時間はテナント内のチーム数にもよりますが、僕の環境では 6.45 分ほどでした。これは遅い!

続いて 2.0.0 をインストールして同様に試してみると…

なんと驚異の 1.6 分!勝負になりません。新しい PowerShell モジュールのパフォーマンス向上は本物です!!

さいごに

というわけで、Microsoft Teams の PowerShell にバージョン 2.0.0 がリリースされましたが、Get-Team のパフォーマンス向上のためだけでも試す価値アリ!!でした。