IT Hands-on Lab

小規模組織向けIT環境の構築・運用に役立つ情報を、ハンズオン形式で紹介しています。

【Exchange Online】予定表アクセス制御(EXO PowerShell)

Microsoft 365 Exchange Online 予定表 アクセス制御

法人向けMicrosoft 365のメールサービス「Exchange Online」の一機能である予定表に関して、アクセス制御の方法を紹介します。
これにより、他のメンバーが登録した予定やリソース(会議室・設備)予約に対し、詳細情報の確認や代理編集などを実施できるようになります。
  • 操作環境:
    • OS:Windows 11
    • Webブラウザー:Edge
    • PowerShell:ISE
  • 使用プラン:Microsoft 365 Business Premium(試用版)
  • PowerShell:Exchange Online PowerShell V3

 

 

Exchange Online PowerShell 初回利用設定

Exchange Onlineの設定の多くは、Microsoft Exchange管理センターや各メンバーのOutlookの設定画面から実施できます。しかし、メンバーが多くコマンドで一括更新したい場合や、画面から設定できない一部項目を変更したい場合もあります。このような時にExchange Online用のPowerShellによるコマンド実行で設定を行います。

 

タスクバーで[Windows PowerShell]を検索し、[ISEを管理者として実行する]を選択します。

図表1-1 PowerShell起動

図表1-1 PowerShell起動

 

Exchange Online PowerShellを初めて使う場合、以下コマンドにより初期設定を行います。コマンド実行時にダイアログが表示されたら、[はい]を選択します。

  • 実行ポリシーの設定:
Set-ExecutionPolicy RemoteSigned
  • モジュールのインストール:
Install-Module -Name ExchangeOnlineManagement
  • バージョン確認(任意):
Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
  • モジュールの読み込み:
Import-Module ExchangeOnlineManagement

図表1-2 Exchange Online PowerShellの初回利用設定

図表1-2 Exchange Online PowerShellの初回利用設定

 

以下コマンドにより、Exchange Onlineへの接続と切断を実行できます。二回目以降は接続コマンドから開始します。

  • Exchangeへの接続:
    *使用アカウントでサインイン済でない場合、多要素認証を要求されます
Connect-ExchangeOnline -UserPrincipalName system.admin@xxxxxx.com
  • Exchangeからの切断(終了時):
Disconnect-ExchangeOnline

図表1-3 Exchange Online PowerShellへの接続と切断

図表1-3 Exchange Online PowerShellへの接続と切断

 

Outlook予定表 デフォルトのアクセス制御確認

Outlook予定表のデフォルトのアクセス制御は、自分が登録者か出席者になっている予定やリソース予約以外は、詳細が分からないようになっています。
組織内メンバー間の予定の詳細が分からないと不便な場合、設定変更が必要です。

図表2-1 Outlook予定表の確認(デフォルトのアクセス制御)

図表2-1 Outlook予定表の確認(デフォルトのアクセス制御)

 

画面イメージのように、各自がOutlookの設定画面で自身の予定のアクセス権を変更することもできます。
しかし、適切な設定が行われず、情報漏洩に繋がる懸念もあります。
この後、システム管理者側でPowerShellによる一括変更の方法を紹介します。

図表2-2 Outlook予定表のアクセス制御の変更

図表2-2 Outlook予定表のアクセス制御の変更

 

他メンバー登録予定 詳細参照許可設定

この例では、予定表のアクセス制御の設定を以下の通りとします。

  • 従業員(User Aaaさん、User Bbbさん):従業員・ビジネスパートナーの予定の詳細を閲覧可能(この工程で設定変更する)
  • ビジネスパートナー(System Adminさん):他の従業員・ビジネスパートナーの予定が入っていることだけわかる(デフォルト設定)

 

設定変更の前に、従業員をまとめる[メールが有効なセキュリティ]グループが必要ですので、まずこれを作成します(Microsoft365グループ等は使用できません)。
WebブラウザーにてMicrosoft Exchange管理センターにアクセスし、左メニューの[受信者>グループ]を選択し、[メールが有効なセキュリティ]タブを選択し、[グループの追加]を選択します。

図表3-1 Exchange管理センターでの従業員グループ追加へ

図表3-1 Exchange管理センターでの従業員グループ追加へ

 

グループの種類は必ず[メールが有効なセキュリティ]を選択します。
グループ名を適宜入力して登録を進めます。

図表3-2 従業員グループ追加設定(種類選択,名前)

図表3-2 従業員グループ追加設定(種類選択,名前)

 

所有者はシステム管理者、メンバーは各従業員を設定します。
なお、所有者にだけ設定したユーザーは、そのグループの設定自体は行えますが、メンバーとしての扱いは受けません(そのグループに属していることにはなりません)
この例では、システム管理者は従業員ではなくビジネスパートナーのため、メンバーに含めないようにしています。

図表3-3 従業員グループ追加設定(所有者,メンバー)

図表3-3 従業員グループ追加設定(所有者,メンバー)

 

ここからPowerShellで設定を行います。工程1で紹介したExchange Onlineへの接続を実行した後、以下コマンドを実行します。

*コマンド内の"予定表"でエラーが出る場合は、"Calendar"に変更して試します
  • User Aaaさんの予定表に対し従業員グループall_employeeが詳細閲覧できる権限を追加:
Add-MailboxFolderPermission -Identity "user.aaa@xxxxxx.com:\予定表" -User all_employee@xxxxxx.com -AccessRights Reviewer
  • User Aaaさんの予定表に対するアクセス権を確認:
Get-MailboxFolderPermission -Identity "user.aaa@xxxxxx.com:\予定表"

図表3-4 PowerShellによる従業員グループの詳細閲覧権限付与

図表3-4 PowerShellによる従業員グループの詳細閲覧権限付与

同様に、User BbbさんとSystem Adminさんの予定表に対する従業員グループの詳細閲覧の権限も追加します。

 

Outlookの画面で確認します。これはビジネスパートナーであるSystem Adminさんの画面です。設定前(工程2参照)の状態から見え方は変わりません。

図表3-5 Outlook予定表の確認(従業員でないメンバーの画面の見え方)

図表3-5 Outlook予定表の確認(従業員でないメンバーの画面の見え方)

 

これは従業員であるUser Bbbさんの画面です。他の従業員・ビジネスパートナーの予定の詳細が閲覧できるようになっています。
しかし、リソース予約の詳細が閲覧できません(しかもUser Bbbさん自身が登録したリソース予約にもかかわらず)。次の工程でこの設定を見直します。

図表3-6 Outlook予定表の確認(従業員メンバーの画面の見え方)

図表3-6 Outlook予定表の確認(従業員メンバーの画面の見え方)

 

他メンバー予約リソース 詳細参照許可設定

組織内の会議室や共用備品は、リソースとして登録しておくと、Outlook予定表で予約管理ができます。

Microsoft Exchange管理センターにアクセスし、左メニューの[受信者>リソース]を選択し、[会議室リソースを追加する]または[備品用リソースを追加する]から作成できます。

図表4-1 Exchange管理センターでのリソース追加

図表4-1 Exchange管理センターでのリソース追加

 

ここからPowerShellで設定を行います。実は工程3と同じコマンドで設定できます。

*コマンド内の"Calendar"でエラーが出る場合は、"予定表"に変更して試します
  • 会議室Aの予定表に対し従業員グループall_employeeが詳細閲覧できる権限を追加:
Add-MailboxFolderPermission -Identity "mtg-room-a@xxxxxx.com:\Calendar" -User all_employee@xxxxxx.com[従業員グループのUPN] -AccessRights Reviewer
  • 会議室Aの予定表に対するアクセス権を確認:
Get-MailboxFolderPermission -Identity "mtg-room-a@xxxxxx.com:\Calendar"

図表4-2 PowerShellによる従業員グループの詳細閲覧権限付与

図表4-2 PowerShellによる従業員グループの詳細閲覧権限付与

 

Outlookの画面で確認します。これは従業員であるUser Bbbさんの画面です。リソース予約の詳細が閲覧できるようになりました。

図表4-3 Outlook予定表の確認(リソースの見え方)

図表4-3 Outlook予定表の確認(リソースの見え方)

 

不在メンバー登録予定 他メンバーの編集許可設定

運用していると、突然の休暇や退職等で不在になったメンバーが登録した予定を、他メンバーが編集したいケースが発生することがあります。また、経営者の予定を秘書が代理人として登録管理するケースもありそうです。ここでは他メンバーが編集できるようにする設定方法を紹介します。

 

非公開の予定に対する扱いによって設定が変わります。

  • 編集権限付与(非公開予定にはアクセスできない)
  • 代理人設定(非公開予定も含めアクセスできる。委託されたユーザーの承諾が必要)

図表5-1 Outlook予定表の確認(非公開予定)

図表5-1 Outlook予定表の確認(非公開予定)

 

編集権限付与

まず、User Aaaさんの登録した予定を、User Bbbさんが非公開予定を除いて編集できるようPowerShellで設定します。

*コマンド内の"予定表"でエラーが出る場合は、"Calendar"に変更して試します
  • User Aaaさんの予定表に対しUser Bbbさんが編集できる権限を追加:
Add-MailboxFolderPermission -Identity "user.aaa@xxxxxx.com:\予定表" -User user.bbb@xxxxxx.com -AccessRights Editor
  • User Aaaさんの予定表に対するアクセス権を確認:
Get-MailboxFolderPermission -Identity "user.aaa@xxxxxx.com:\予定表"

図表5-2 PowerShellによる他メンバーの編集権限付与

図表5-2 PowerShellによる他メンバーの編集権限付与

 

User Aaaさんが登録した公開されている予定について、User Bbbさんが編集できました。

図表5-3 Outlook予定表の確認(他メンバーによる編集)

図表5-3 Outlook予定表の確認(他メンバーによる編集)

 

代理人設定

次に、User Aaaさんの登録した予定を、User Bbbさんが非公開予定を含めて編集できるようPowerShellで設定します。

*コマンド内の"予定表"でエラーが出る場合は、"Calendar"に変更して試します
  • User Aaaさんの予定表に対しUser Bbbさんが非公開予定を含めて編集できる権限に変更:
Set-MailboxFolderPermission -Identity "user.aaa@xxxxxx.com:\予定表" -User user.bbb@xxxxxx.com -AccessRights Editor -SharingPermissionFlags Delegate,CanViewPrivateItems
  • User Aaaさんの予定表に対するアクセス権を確認:
Get-MailboxFolderPermission -Identity "user.aaa@xxxxxx.com:\予定表"

図表5-4 PowerShellによる他メンバーの代理人権限付与

図表5-4 PowerShellによる他メンバーの代理人権限付与

 

User Bbbさんのメールボックスに、代理人承諾のメールが届きますので、[承諾]を選択します。
さらに[予定表を表示]を選択します。

図表5-5 代理人承諾メール

図表5-5 代理人承諾メール

 

User Bbbさんの予定表が表示されると、User Aaaさんが登録した非公開予定にアクセスでき、編集できるようになりました。

図表5-6 Outlook予定表の確認(他メンバーによる代理人としての編集)

図表5-6 Outlook予定表の確認(他メンバーによる代理人としての編集)

 

予定登録時Web会議のデフォルトオフ/オン設定変更(参考)

Outlook予定表のアクセス制御と全く関係ありませんが、予定表関連で一つ紹介します。

 

予定登録時にWeb会議のオプションがデフォルトでオンになり、意図せず会議リンクが参加者に送られることがあります。各自のOutlookの設定画面でデフォルトのオフ/オンを調整できますが、PowerShellで組織全体またはメンバー単位でも設定できます。

図表6-1 Outlook予定登録時のWeb会議のオプションのデフォルト値

図表6-1 Outlook予定登録時のWeb会議のオプションのデフォルト値

 

組織全体でWeb会議のオプションをデフォルトでオフにするには、PowerShellで以下コマンドを実行します。

  • 組織のカスタマイズを有効化(初回のみ):
Enable-OrganizationCustomization
  • 組織全体でWeb会議のオプションをデフォルトでオフにする:
Set-OrganizationConfig -OnlineMeetingsByDefaultEnabled $false
  • 組織全体のWeb会議のオプションのデフォルト設定を確認する:
Get-OrganizationConfig | select OnlineMeetingsByDefaultEnabled

図表6-2 PowerShellによるWeb会議オプションのデフォルト値変更(組織全体)

図表6-2 PowerShellによるWeb会議オプションのデフォルト値変更(組織全体)

 

メンバー単位でWeb会議のオプションをデフォルトオフにするには、 PowerShellで以下コマンドを実行します。

*各自がOutlookの設定画面でこの項目を変更した場合、各自の設定の方が優先され、組織全体の設定は反映されません
  • メンバー単位でWeb会議のオプションをデフォルトでオフにする:
Set-MailboxCalendarConfiguration -Identity user.aaa@xxxxxx.com -OnlineMeetingsByDefaultEnabled $false

図表6-3 PowerShellによるWeb会議オプションのデフォルト値変更(メンバー単位)

図表6-3 PowerShellによるWeb会議オプションのデフォルト値変更(メンバー単位)

 

おわりに

組織における予定表のアクセス制御は、色々と気を遣うところです。

 

システム管理者側でPowerShellにより設定できるのはありがたいのですが、私がPowerShellを頻繁には使用しないこともあり、触る度に環境が変わっているようで毎回戸惑います。
個人的な備忘録を兼ねてのご紹介となりました。