SDS やその他の方法を使用して API または PowerShell を使用して Microsoft Class Teams を 作成する IT 管理者の場合、クラスの対応する Microsoft 365 グループに正しく表示されていても、一部のユーザーがクラス Teams に正しく表示されない可能性があります。 Microsoft Entra IDはテナント内のクラス 名簿の所有者であり、すべてのクラス (Microsoft 365 グループ)、教師 (グループ所有者)、および学生 (グループ メンバー) の一覧を保持します。 Teams は、パフォーマンス上の理由から、Microsoft Entra IDのキャッシュを同期して格納します。 プロビジョニング中、API と SDS はMicrosoft Entra IDに正しく書き込まれますが、Teams のキャッシュが常にタイムリーに更新されるとは限らないため、まったく更新されない場合があります。 これは、ユーザーが Teams に見つからないように見える原因となっているキャッシュ内の不足データです。 Microsoft はこれらの問題を認識しており、Microsoft Entra IDと Teams キャッシュの間で実行されるパイプラインの修正に取り組んでいます。
その間、Microsoft は、これらの問題が発生したユーザーを支援する 2 つのスクリプトを公開しました。 スクリプトは、Microsoft Entra IDに格納されているデータを使用して Teams キャッシュを更新します。
アクセス許可を付与する
アクセス許可の種類 | 最小特権アクセス許可 | より高い特権のアクセス許可 |
---|---|---|
委任 (職場または学校のアカウント) | Directory.ReadWrite.All | サポートされていません |
委任 (個人用 Microsoft アカウント) | サポート対象外 | サポート対象外 |
アプリケーション | Directory.ReadWrite.All | 使用不可 |
Add-GroupOwners-To-Teams.ps1
このスクリプトは、Microsoft Entra IDの Microsoft 365 グループのすべての所有者をチェックし、それらが Teams キャッシュにも書き込まれるようにします。 このスクリプトは、チーム所有者に対して実行することも、すべてのクラス Teams (SDS または MSFT Graph エンドポイントを介して作成) に対して実行することもできます。 このスクリプトを実行すると、チームの所有者が Teams キャッシュに正しく反映され、すべての所有者がクラス Teams にアクセスできるようになります。 すべてのクラスに対してスクリプトを実行すると、完了するまでに長い時間がかかる場合があります。
スクリプトを実行するための準備
スクリプトを実行するには、まず MS Graph PowerShell モジュールをダウンロードしてインストールし、GitHub からスクリプトをダウンロードし、スクリプトを実行できるように PowerShell クライアントの場所を設定する必要があります。 次の手順に従います。
GitHub にあるスクリプトをダウンロードして保存 します。
a. ここで緑色の [コード] ボタンを選択し、[zip 形式でダウンロード] を選択します。
b. zip ファイルのダウンロードで、O365-EDUTools-master > Teams スクリプトに移動します。
c. スクリプトをコピーしてローカルの c:\temp ディレクトリに貼り付けます。
管理者として PowerShell を起動します。
*注 - PowerShell ISE では機能しません
次のコマンドを実行します。
Set-Location c:\temp
- 次のコマンドを使用して、最新の MS Graph モジュールをインストールします。
Install-Module -Name Microsoft.Graph.Authentication -MinimumVersion 0.9.1 -Force
1 人の教師に対してスクリプトを実行する
セットアップが完了したら、1 人の教師に対してスクリプトを実行できます。 資格情報の入力を求められたら、管理者アカウントを入力します。
- スクリプトを実行するには、次のコマンドを実行します。 実行する前に、スクリプトを実行する教師の UPN で EducatorUPN 値を更新します。
.\Add-GroupOwners-To-Teams.ps1 -EducatorUPN john.smith@school.edu
- メッセージが表示されたら、スクリプトを実行することを確認します。 [一度実行] に「R」と入力します。
*注 - 次の 4 つの手順を完了するには、120 秒しかありません。
指定した URL を Web ブラウザー (https://microsoft.com/devicelogin) にコピーします。
指定したコードを入力して、認証要求を完了します。
ダイアログ ボックスが表示されたら、資格情報を入力します。
セッションが接続されていることを確認します。
- スクリプトが正常に完了したことを確認します。
すべての教師とクラス所有者に対してスクリプトを実行する
セットアップが完了したら、すべての教師とクラスに対して以下のスクリプトを実行できます。
- スクリプトを実行するには、次のコマンドを実行します。
.\Add-GroupOwners-To-Teams.ps1
- メッセージが表示されたら、スクリプトを実行することを確認します。 [一度実行] に「R」と入力します。
*注 - 次の 4 つの手順を完了するには、120 秒しかありません。
指定した URL を Web ブラウザー (https://microsoft.com/devicelogin) にコピーします。
指定したコードを入力して、認証要求を完了します。
ダイアログ ボックスが表示されたら、資格情報を入力します。
セッションが接続されていることを確認します。
- スクリプトが正常に完了したことを確認します。
Sync-GroupMembership-To-Team.ps1
このスクリプトにより、クラス チームのすべての所有者とメンバー (教師と学生) がチーム キャッシュに正しく反映されます。 チームがアクティブ化されていない場合は、Teams キャッシュ内の教師のみが更新されます。 チームがアクティブ化されている場合、すべてのユーザー (教師と学生) がチェックされ、Microsoft Entra IDから Teams キャッシュに更新されます。 このスクリプトは 1 つのチームで実行されます。これは、SIS_ID、Email、GroupID、またはメール ニックネームで識別できます。
スクリプトを実行するための準備
スクリプトを実行するには、まず MS Graph PowerShell モジュールをダウンロードしてインストールし、GitHub からスクリプトをダウンロードし、スクリプトを実行できるように PowerShell クライアントの場所を設定する必要があります。 次の手順に従います。
GitHub にあるスクリプトをダウンロードして保存 します。
a. ここで緑色の [コード] ボタンを選択し、[zip 形式でダウンロード] を選択します。
b. zip ファイルのダウンロードで、O365-EDUTools-master > Teams スクリプトに移動します
c. スクリプトをコピーしてローカルの c:\temp ディレクトリに貼り付けます。
管理者として PowerShell を起動する
*注 - PowerShell ISE では機能しません
- 次のコマンドを実行します。
Set-Location c:\temp
- 次のコマンドを使用して、最新の MS Graph モジュールをインストールします。
Install-Module -Name Microsoft.Graph.Authentication -MinimumVersion 0.9.1 -Force
クラス SIS ID を使用してスクリプトを実行する
- スクリプトを実行するには、次のコマンドを実行します。 実行する前に、スクリプトを実行するクラスの SIS ID で sisId 値を更新します。
.\Sync-GroupMembership-To-Team.ps1 -sisId “008200123”
- メッセージが表示されたら、スクリプトを実行することを確認します。 [一度実行] に「R」と入力します。
注 - 次の 4 つの手順を完了するには、120 秒しかありません。
指定した URL を Web ブラウザー (https://microsoft.com/devicelogin) にコピーします。
指定したコードを入力して、認証要求を完了します。
ダイアログ ボックスが表示されたら、資格情報を入力します。
セッションが接続されていることを確認します。
- スクリプトが正常に完了したことを確認します。
クラス Email アドレスを使用してスクリプトを実行する
- スクリプトを実行するには、次のコマンドを実行します。 実行する前に、スクリプトを実行するクラスの Email アドレスで emailAddress 値を更新します。
.\Sync-GroupMembership-To-Team.ps1 -emailAddress Section_008200123@school.edu
- メッセージが表示されたら、スクリプトを実行することを確認します。 [一度実行] に「R」と入力します。
*注 - 次の 4 つの手順を完了するには、120 秒しかありません。
指定した URL を Web ブラウザー (https://microsoft.com/devicelogin) にコピーします。
指定したコードを入力して、認証要求を完了します。
ダイアログ ボックスが表示されたら、資格情報を入力します。
セッションが接続されていることを確認します。
- スクリプトが正常に完了したことを確認します。
クラス グループ ID を使用してスクリプトを実行する
- スクリプトを実行するには、次のコマンドを実行します。 実行する前に、スクリプトを実行するクラスのグループ ID で groupId 値を更新します。
.\Sync-GroupMembership-To-Team.ps1 -groupId “e77144f7-a42c-4124-856e-bf6312a5ed2f”
- メッセージが表示されたら、スクリプトを実行することを確認します。 [一度実行] に「R」と入力します。
*注 - 次の 4 つの手順を完了するには、120 秒しかありません。
指定した URL を Web ブラウザー (https://microsoft.com/devicelogin) にコピーします。
指定したコードを入力して、認証要求を完了します。
ダイアログ ボックスが表示されたら、資格情報を入力します。
セッションが接続されていることを確認します。
- スクリプトが正常に完了したことを確認します。
クラス メール ニックネームを使用してスクリプトを実行する
- スクリプトを実行するには、次のコマンドを実行します。 実行する前に、スクリプトを実行するクラスの mailNickname で mailNickname 値を更新します。
.\Sync-GroupMembership-To-Team.ps1 -mailNickname “Section_008200123”
- メッセージが表示されたら、スクリプトを実行することを確認します。 [一度実行] に「R」と入力します。
*注 - 次の 4 つの手順を完了するには、120 秒しかありません。
指定した URL を Web ブラウザー (https://microsoft.com/devicelogin) にコピーします。
指定したコードを入力して、認証要求を完了します。
ダイアログ ボックスが表示されたら、資格情報を入力します。
セッションが接続されていることを確認します。
- スクリプトが正常に完了したことを確認します。
FAQ
この記事で説明するスクリプトとプロセスについてよく寄せられる質問を次に示します。
クラス チームまたは教師に対してスクリプトを実行した場合、アクティブ化された Teams とアクティブ化されていない Teams の両方が修正されますか?
はい。スクリプトは、クラスのアクティブ化の前または後に、両方の状態の Teams の所有者を修正します。
チームのアクティブ化の前にスクリプトを実行した場合、アクティブ化後にスクリプトをもう一度実行する必要がありますか?
スクリプトは、クラス チームでのアクティブ化とは無関係に実行されます。 チームのキャッシュは、Microsoft Entra IDマスター値で更新されます。 アクティブ化チームはチームのロックを解除し、クラスの学生 (メンバー) がMicrosoft Entra IDから Teams キャッシュに同期して、クラス Teams を表示してアクセスできるようにします。 スクリプトは、ディレクトリ間の所有者とメンバーの相違を修正し、教師によるチームのアクティブ化の前、実行中、または後に実行できます。 クラスがさまざまな状態にあり、悪影響を与えずに複数回実行できます。
スクリプトを実行すると、教師の前にクラス チームがアクティブ化されますか?
いいえ、それはしません。
同じ教師、クラス、またはテナントに対してスクリプトを再実行できますか?
はい。スクリプトは、Teams キャッシュの更新が正しく、Microsoft Entra IDに格納されている名簿と一致するように、必要な回数だけ再実行できます。