Teams チームに紐づく Microsoft 365 グループ予定表を表示させる
この記事について
本記事では、Teams チーム経由で作成した Microsoft 365 グループ予定表を ExchangePowerShell で表示させる方法について記載しています。
Microsoft 365 グループ は、社内外のユーザー間での共同作業に使用することができ、メンバーは会話用のグループメール、および、共有ワークスペース、ファイル、カレンダー、ストリーム、Planner などを利用することができるようになります。
Microsoft 365 グループは、Teams チームや SharePoint サイトを作成した際、チームやサイトに紐づいたものが裏側で自動作成されます。しかし、Teams チーム作成によって作成された Microsoft 365 グループについては、グループ予定表機能が既定で非表示化された状態で作成される仕様があるため、管理者側で設定を変更する必要があります。
Teams チームに紐づく Microsoft 365 グループ予定表を有効化する
ExchangePowerShell のインストール
グループ予定表を有効化するには、ExchangePowerShell を使用する必要があります。インストールしていない方は、PowerShell Gallery からインストールを実施してください。
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.5
なお、Docker Compose でインストールしたい方は、以下を参考にしてください。
ただし、Docker コンテナー上で ExchangePowerShell を実行する場合、後述の Set-UnifiedGroup
コマンドが実行できないため、代わりにサービスプリンシパルなどを使用したコマンド実行が必要になります。
(Get-UnifiedGroup
は実行可能です)
Exchange Online に接続し Microsoft 365 グループの状態を確認
Exchange Online に接続し、対象の Microsoft 365 グループの状態を確認します。
Connect-ExchangeOnline
今回は、検証用に 検証 - グループ予定表有効化
という Microsoft 365 グループを Teams から作成しましたので、これを参照することにします。
また、この時点で Outlook を起動しても、作成した Teams チーム (Microsoft 365 グループ) に紐づくグループ予定表は表示されないことを確認しておきます。
Get-UnifirdGroup
コマンドを実行し、対象の Microsoft 365 グループが存在することを確認します。
Get-UnifiedGroup -Identity "{対象の Microsoft 365 グループ名}" | select DisplayName,ResourceProvisioningOptions,Language,HiddenFromExchangeClientsEnabled
実行結果としては、以下のようなものが表示されるはずです。
Get-UnifiedGroup -Identity "検証 - グループ予定表有効化" | select DisplayName,ResourceProvisioningOptions,Language,HiddenFromExchangeClientsEnabled
DisplayName ResourceProvisioningOptions Language HiddenFromExchangeClientsEnabled
----------- --------------------------- -------- --------------------------------
検証 - グループ予定表有効化 {Team} en-US True
コマンドを実行して確認できるように、Teams から作成した Microsoft 365 グループについては、 HiddenFromExchangeClientsEnabled
が True になっており、グループ予定表が非表示化されています。このため、Teams から作成した Microsoft 365 グループについては、デフォルトだと Outlook などでグループ予定表が利用できない状態となっています。
なお、Teams 経由で作成された Microsoft 365 グループの一覧についても、 Get-UnifiedGroup
で取得することが可能です。必要に応じて、実行をしてみてください。
Get-UnifiedGroup -Filter {ResourceProvisioningOptions -eq "Team"}
グループ予定表を有効化
Set-UnifiedGroup
コマンドにて、 HiddenFromExchangeClientsEnabled
を false にします。
Set-UnifiedGroup -Identity "{対象の Microsoft 365 グループ名}" -HiddenFromExchangeClientsEnabled:$false
なお、先述の通り、無人スクリプト
や Docker Compose 環境
などでスクリプトを実行しようとしている場合は、Set-UnifiedGroup コマンドが無効化されています。そのため、無人スクリプト環境や Docker Compose 環境で本設定を有効化したい場合は ExchangePowerShell ではなく、Microsoft Graph を利用するようにしてください。
グループ予定表の確認
コマンドを実行した後、Outlook を起動すると、グループ予定表が表示されるようになっているのを確認できると思います。
ExchangePowerShell 上でも、 HiddenFromExchangeClientsEnabled
が False になっているのを確認できるはずです。
Get-UnifiedGroup -Identity "検証 - グループ予定表有効化" | select DisplayName,ResourceProvisioningOptions,Language,HiddenFromExchangeClientsEnabled
DisplayName ResourceProvisioningOptions Language HiddenFromExchangeClientsEnabled
----------- --------------------------- -------- --------------------------------
検証 - グループ予定表有効化 {Team} en-US False
なぜ Teams 経由で Microsoft 365 グループを作成すると機能が無効化されるのか
Microsoft Docs に原因についての記載があります。
OutlookまたはSharePointでMicrosoft 365 グループを作成すると、グループ メールボックスがOutlookに表示されます。Teamsでチームを作成すると、グループ メールボックスは既定で非表示になります。Set-UnifiedGroup コマンドレットと HiddenFromExchangeClientsEnabled パラメーターを使用して、メールボックスを表示できます。
Teams で作成した時だけ仕様が異なるのは最悪なので、この仕様は早く直し、他で Microsoft 365 グループを作成した時と同じ動作をするようにしてほしいものです。
Discussion