見出し画像

MicrosoftTeamsクラスチームの所有者入れ替えをやってみた

 自分でもやっていてよくわからなかったですが、とある政令市でAzureADで認証し、グループ設定を基にTeamsのグループ分けを仕込んでおります。
 クラスチーム以外の普通のチームは動的ポリシーを組むことで、何ら問題なく作業できていますが、クラスチームは先生として挙動させるためには「所有者」にしなければならないことから、備忘録もかねて。

 このテキストは、あくまで自分自身の備忘録を示したものです。環境や権限によってうまくいかないこともありますので、ご容赦願います。

<やりたいことのまとめ>
 ①転入した教職員を、クラスチームに所有者として追加したい。
 ②転出した教職員を、クラスチームの所有者からも削除したい。
 ③児童生徒は動的ポリシーによって追加されるため、変更しない。
 ④なるべく早くリリースできるように頑張れる方法を探す。

1 Teamsのユーザ入れ替え →失敗

 Powershellから、追加は、「Add-TeamUser」でいける。削除は、「Remove-TeamChannelUser」で行けるとの情報を手に入れる。

Add-TeamUser -GroupId xxxxxx -User xxxx@xxxxxx -Role Owner

 <考察>
   動的ユーザのグループには、何やっても適用不可
   権限不足エラーが出てくるが、グループ設定を静的にすると成功…

2 グループのメンバー登録を動的→静的に →失敗

 Powershellから作業をして、1のように静的にすることでグループに追加できるのであれば、児童生徒の所属を「動的→静的」に変更し、最後に「動的」に戻せばいいのかと考えた。

ConvertDynamicGroupToStatic グループID
ConvertStaticGroupToDynamic グループID 動的ルール

 <考察>
   AzureADPreviewをマニュアル通りに展開しても、権限不足と。
   グローバル管理者にこれ以上何を求めるのか…あきらめる。

3 AzureADから所有者を追加してみる →成功

 PowershellでTeamsやOffice365を操作することを一度忘れ、初心に立ち返って「Add-AzureADGroupOwner」にて追加することを思いつく。
 各グループの「ObjectId」に加え、各ユーザの「RefObjectId」を取得。
  ※100グループ強、6000ユーザオーバのデータは重い。。

Add-AzureADGroupOwner -ObjectId グループID -RefObjectId 個人のAADのID

  にしても、ここで個人のAADのIDを必要とするとは思わなかった。
  ちなみに、削除をするときには、

Remove-AzureADGroupOwner -ObjectId "62438306-7c37-4638-a72d-0ee8d9217680" -OwnerId 個人のAADのID

  にしても(くどい)、追加と削除で因数が変わるとは…
  ええ、検証時にはまりましたよ。

4 エクセルで準備する

 Powershellに一件ずつ入れていくのは嫌なので、アカウント情報を組み合わせてPowershellに流し込めるコマンド一覧を作っていく。vlookup様が多用される。

5 Powershellで実行する

 6000人強のユーザと思いきや、複数校に配置される人員を忘れていたため、それの成形をする。ちょっと次に手を抜けるように仕掛けをして、気づけば18000アカウントくらいを5回に分けて実行。なお、すでに登録済みのAADのIDを3のコマンドで入れようとするとエラーを吐くけど、無視。
 ※PowerShellでAzureADに接続するとかは、説明割愛

6 グループへの反映を確認する

 反映までにはちょっと時間がかかるので、まったりと待つ。というか、5の実行状況はわりと時間がかかる。


この記事が気に入ったらサポートをしてみませんか?