PowerShell module for Teamsを試してみた。(そして今一歩だと感じた)
最近よくTeamsを触っております。
そんな中でTeams用のPowerShellも色々と試して、ほかのOffice 365系のPowerShellとは大分性格の違うやつだったので、備忘録も兼ねて書こうと思います。
個人的な結論としては今後に期待!という感じだったので、そのあたりも記載します。
なお、このPowerShellは2017/11/24時点でバージョンが0.9.0で、ベータ版のような扱いみたいなので、今後変更される可能性は多々あることをあらかじめご注意ください。
とりあえず使ってみる
1.モジュールのインストール
まず、Teams用のPowerShellを使うためには必要なモジュールをインストールする必要があります。以下のページからインストールしてください。基本的にはSave-Moduleでモジュールの保存、Install-Moduleでモジュールのインストールです。
2.コマンドを叩く
さてコマンドを叩いてみましょう。
まずは以下のコマンドにてTeamsに接続します。
Connect-MicrosoftTeams
無事接続ができました。次は試しにチームの一覧を取得する以下のコマンドを叩きましょう。ちなみにこのテナントには20個程度のチームがあります。
Get-Team
なぜか20個程度あるはずのチームが2つしか取得できませんでした。
ここで少しはまりました。私はこのコマンドはてっきりテナント内のチームを取得するものだと思っていたのですが、実際はPowerShellの実行ユーザーが所有しているチームの一覧を取得するものだったようです。
そもそもTeams用のPowerShellは、他のサービスとは少し考え方が違うようです。
他のOffice 365のPowerShell(Exchange Online,SharePoint Online等)のコンセプトとしては、管理目的で利用するという側面が強かったように感じますが、Teamsの場合少し違っていて、PowerShellの実行ユーザーが画面で操作できることと同様のことをコマンドで利用可能、というもののようです。
チームを取得したり設定したりするコマンドの場合、実行ユーザーが所有しているチームが対象となりますし、チームを作成するコマンドの場合、実行ユーザーが所有者としてチームを作成するという動作となるようです。
また、PowerShellのコマンド自体管理者でなくとも実行できてしまうようです。
ちなみに実行ユーザーはTeamsを利用可能である必要がありますので、Teamsのライセンスが必要です。
簡単に他のPowerShellとの違いを書くと以下のようになります。
Exchnge OnlineやSharePoint Online, MsolServiceなどのPowerShell
管理者にて実行するもの。テナント全体にかかわる設定を実施可能
TeamsのPowerShell
ユーザーでも実行可能。チームやチャネルの作成を実行可能。作成されたチームは実行ユーザーに紐づく。管理者が他のユーザー用のチームを用意したり、テナント全体の設定を変更できるといったものではなさそう。
といった感じで、まずそもそものコンセプトが違いますね。
PowerShellは管理目的で使うことが多いので正直う~んというのが率直な感想です。
所感など気づき
上記のようなことからもう一歩というところですね。以下気づいたことを簡単に書きます。
「管理者」としての機能
先ほども書きましたがやはりPowerShellは管理目的で使うというのが一般的な使い方だと思います。テナント内のチームを取得したり、テナントごとの設定を変更したりといった利用方法ができなければPowerShellの利用シーンが少し考えづらいなあと思います。今後テナントの管理という観点で実装されることは非常に期待したいと思います。
画面でできることでよく使う機能は実装してほしい
せめて画面でできることは出来て欲しいものです。そういった観点ですと、既存のOffice 365グループに紐づくチームを作成するといったことはこのコマンドでは出来ないようでした。このあたりも今後に期待する機能です。
まとめ
まとめとしてはやはり今後に期待したい、ということです。まだベータ版なので、正式リリースには期待したいと思います。
ちなみにGraphAPIでもTeamsは管理できるようなので、機会があればこちらも試してみようと思います。
ではまた次回。