6
6

More than 3 years have passed since last update.

Microsoft Teams でチームにメンバーを一括登録する

Last updated at Posted at 2020-05-11

参考

方法

PowerShell で Microsoft Teams の cmdlet から操作して追加します。

注意

以下の手順で私の環境では動いていますが、 Set-ExecutionPolicy はセキュリティ上あまりよろしくない操作かもしれません。識者の意見求む

手順

1. PowerShell ISE を管理者権限で起動

  • 検索バーで powershell と入力 → PowerShell ISEを右クリック、管理者実行
  • 普通の PowerShell でなく PowerShell ISE でないと権限のエラーが出た気がします。

2. Teams に接続

Install-Module -Name MicrosoftTeams
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Connect-MicrosoftTeams

→ MS のダイアログが現れるのでサインイン

3. チームのID を調べる

Teams アプリで、対象チームのURLを「リンクの取得」で調べる。

https://teams.microsoft.com/l/team/…/conversations?groupId=b70145bc-f04b-44a6-9192-8816f3cab935&tenantId=テナントID

のようになっているので、groupId を抜き出す。

Azure Active Directory Admin Center
https://aad.portal.azure.com/#blade/Microsoft_AAD_IAM/GroupsManagementMenuBlade/AllGroups

にサインインし、チーム名を検索して調べる。ID は b70145bc-f04b-44a6-9192-8816f3cab935 のような文字列。

4. 追加するアカウントのメールアドレス一覧のCSVファイルを作る

CSV ファイルといっても1列しかないファイル。次のステップのワンライナーで Teams に流し込む。

email
foo@example.com
bar@example.com
baz@example.com
...

最初の行は email, 次の行からは改行区切りでメールアドレスを並べる

5. 上記の PowerShell ISE で以下を実行する

Import-Csv -Path "CSVファイルのフルパス" | foreach{ Write-Output $_.email; Add-TeamUser -GroupId グループのID -user $_.email; Write-Output "Done"; Start-Sleep 10 }

グループのID は上で調べたグループIDの文字列 ("b70145bc-f04b-44a6-9192-8816f3cab935" 等)。

このワンライナーは Add-TeamUser でチームにメンバーを1人ずつ追加する。概ね即時反映されるようだ。
追加のたびに10秒ウェイトを入れている。

私の環境ではウェイトがないと追加に失敗する(*)ことがあったので入れている。もっと短くても良いかもしれない。

(*) 具体的には、ADのグループには反映されるが Teams には反映されないメンバーができてしまった(この状態で半日ほど待ってみたが改善せず、上記 Admin Center で削除して再実行しなければならなかった)。

6
6
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6