
これにより、他のメンバーが登録した予定やリソース(会議室・設備)予約に対し、詳細情報の確認や代理編集などを実施できるようになります。
- 操作環境:
- OS:Windows 11
- Webブラウザー:Edge
- PowerShell:ISE
- 使用プラン:Microsoft 365 Business Premium(試用版)
- PowerShell:Exchange Online PowerShell V3
- Exchange Online PowerShell 初回利用設定
- Outlook予定表 デフォルトのアクセス制御確認
- 他メンバー登録予定 詳細参照許可設定
- 他メンバー予約リソース 詳細参照許可設定
- 不在メンバー登録予定 他メンバーの編集許可設定
- 予定登録時Web会議のデフォルトオフ/オン設定変更(参考)
- おわりに
Exchange Online PowerShell 初回利用設定
Exchange Onlineの設定の多くは、Microsoft Exchange管理センターや各メンバーのOutlookの設定画面から実施できます。しかし、メンバーが多くコマンドで一括更新したい場合や、画面から設定できない一部項目を変更したい場合もあります。このような時にExchange Online用のPowerShellによるコマンド実行で設定を行います。
タスクバーで[Windows PowerShell]を検索し、[ISEを管理者として実行する]を選択します。

Exchange Online PowerShellを初めて使う場合、以下コマンドにより初期設定を行います。コマンド実行時にダイアログが表示されたら、[はい]を選択します。
- 実行ポリシーの設定:
Set-ExecutionPolicy RemoteSigned
- モジュールのインストール:
Install-Module -Name ExchangeOnlineManagement
- バージョン確認(任意):
Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
- モジュールの読み込み:
Import-Module ExchangeOnlineManagement

以下コマンドにより、Exchange Onlineへの接続と切断を実行できます。二回目以降は接続コマンドから開始します。
- Exchangeへの接続:
*使用アカウントでサインイン済でない場合、多要素認証を要求されます
Connect-ExchangeOnline -UserPrincipalName system.admin@xxxxxx.com
- Exchangeからの切断(終了時):
Disconnect-ExchangeOnline

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

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

他メンバー登録予定 詳細参照許可設定
この例では、予定表のアクセス制御の設定を以下の通りとします。
- 従業員(User Aaaさん、User Bbbさん):従業員・ビジネスパートナーの予定の詳細を閲覧可能(この工程で設定変更する)
- ビジネスパートナー(System Adminさん):他の従業員・ビジネスパートナーの予定が入っていることだけわかる(デフォルト設定)
設定変更の前に、従業員をまとめる[メールが有効なセキュリティ]グループが必要ですので、まずこれを作成します(Microsoft365グループ等は使用できません)。
WebブラウザーにてMicrosoft Exchange管理センターにアクセスし、左メニューの[受信者>グループ]を選択し、[メールが有効なセキュリティ]タブを選択し、[グループの追加]を選択します。

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

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

ここからPowerShellで設定を行います。工程1で紹介したExchange Onlineへの接続を実行した後、以下コマンドを実行します。
- 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:\予定表"

同様に、User BbbさんとSystem Adminさんの予定表に対する従業員グループの詳細閲覧の権限も追加します。
Outlookの画面で確認します。これはビジネスパートナーであるSystem Adminさんの画面です。設定前(工程2参照)の状態から見え方は変わりません。

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

他メンバー予約リソース 詳細参照許可設定
組織内の会議室や共用備品は、リソースとして登録しておくと、Outlook予定表で予約管理ができます。
Microsoft Exchange管理センターにアクセスし、左メニューの[受信者>リソース]を選択し、[会議室リソースを追加する]または[備品用リソースを追加する]から作成できます。

ここからPowerShellで設定を行います。実は工程3と同じコマンドで設定できます。
- 会議室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"

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

不在メンバー登録予定 他メンバーの編集許可設定
運用していると、突然の休暇や退職等で不在になったメンバーが登録した予定を、他メンバーが編集したいケースが発生することがあります。また、経営者の予定を秘書が代理人として登録管理するケースもありそうです。ここでは他メンバーが編集できるようにする設定方法を紹介します。
非公開の予定に対する扱いによって設定が変わります。
- 編集権限付与(非公開予定にはアクセスできない)
- 代理人設定(非公開予定も含めアクセスできる。委託されたユーザーの承諾が必要)

編集権限付与
まず、User Aaaさんの登録した予定を、User Bbbさんが非公開予定を除いて編集できるようPowerShellで設定します。
- 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:\予定表"

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

代理人設定
次に、User Aaaさんの登録した予定を、User Bbbさんが非公開予定を含めて編集できるようPowerShellで設定します。
- 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:\予定表"

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

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

予定登録時Web会議のデフォルトオフ/オン設定変更(参考)
Outlook予定表のアクセス制御と全く関係ありませんが、予定表関連で一つ紹介します。
予定登録時にWeb会議のオプションがデフォルトでオンになり、意図せず会議リンクが参加者に送られることがあります。各自のOutlookの設定画面でデフォルトのオフ/オンを調整できますが、PowerShellで組織全体またはメンバー単位でも設定できます。

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

メンバー単位でWeb会議のオプションをデフォルトオフにするには、 PowerShellで以下コマンドを実行します。
- メンバー単位でWeb会議のオプションをデフォルトでオフにする:
Set-MailboxCalendarConfiguration -Identity user.aaa@xxxxxx.com -OnlineMeetingsByDefaultEnabled $false

おわりに
組織における予定表のアクセス制御は、色々と気を遣うところです。
システム管理者側でPowerShellにより設定できるのはありがたいのですが、私がPowerShellを頻繁には使用しないこともあり、触る度に環境が変わっているようで毎回戸惑います。
個人的な備忘録を兼ねてのご紹介となりました。