Microsoft Teams | Powershell による チームの一括作成


はじめに

本記事では、CSVファイルを使って Microsoft Teams のチームを一括作成する方法に関して解説いたします。

チーム登録用CSVファイルの準備

チーム登録用CSVファイルは、一行目にラベル、2行目以降にデータを入力します。

ClassName, Owner
量子力学I, [email protected]
量子力学Ⅱ, [email protected]
固体物理I,  [email protected]

Powershell で Microsoft Teams を操作するためのモジュールのインストール

Install-Module

PowerShell で Microsoft Teams を操作するには、Teams を操作するためのモジュールを事前にインストールしておく必要があります。モジュールをインストールするには

PS C:> Install-Module -name <モジュール名>

を実行すれば、指定したモジュールがインストールされます。Microsoft Teams を操作するためのモジュールは、MicrosoftTeams です。従って PowerShell を管理者権限で起動して、

PS C:> Install-Module -name MicrosoftTeams

とすれば、Microsoft Teams 用のモジュールがインストールされます。このコマンドレットでインストールされるのは、GAしている Ver.1.0.6 (2020年5月4日時点) です。Ver.1.0.6 では、チームのテンプレート(例えば for Education で利用できる、クラスやPCLなど)をオプションで指定することができません。チーム作成時に Template を指定したい場合には Preview 版をインストールしておく必要があります。

すでに MicrosoftTeams モジュールをインストールしてしまった方は以下のコマンドで MicrosoftTeams モジュールを削除してください。

PS C:> Uninstall-Module MicrosoftTeams

Preview版のインストール

Preview 版の MicrosoftTeams モジュールをインストールする場合には以下のコマンドを実行します。

PS C:> Register-PSRepository -Name PSTestGallery -SourceLocation https://www.poshtestgallery.com/api/v2
PS C:> Install-Module -Name MicrosoftTeams -Repository PSTestGallery -Force

インストールされたモジュールのバージョンを確認します。

PS C:> get-installedmodule

Version  Name              Repository        Description
-------  ----              ----------        -----------
1.0.22   MicrsoftTeams     PSTestZGallery    Microsoft Teams cmdlets preview module for Windows....

※Preview 版のリポジトリは以下のURLになります。
 https://www.poshtestgallery.com/packages/MicrosoftTeams

CSV ファイルに使ったチームの一括登録用スクリプトの作成

以下のスクリプトを作成します。クラスのチームを作成する場合には、-Template EDU_Class と指定します。

addteamsclass.ps1

Import-Csv -Path $Args[0] | foreach {New-Team -DisplayName $_.ClassName -Owner $_.Owner -Template EDU_Class } | Export-Csv -Path $Args[1] -Encoding UTF8

チームの作成

CSV ファイルを使用してチームを作成するには以下のコマンドレットを実行します。

# Microsoft Teams に接続します (全体管理者もしくは Teams 管理者でログインしてください)。
PS C:> Connect-MicrsoftTeams

# CSVファイルを使ってチームを作成します。
PS C:> addteamsclass.ps1 <Input file> <Output file>

上記のコマンドで 1,000個のチームを作成するのに、3時間33分50秒 かかりました。

クラスの有効化

作成されたチーム(クラス)は、有効化されていないため学生にはまだ表示されておりません。作成したチーム(クラス)にアクセスして、有効化してください。