Loading
BLOG 開発者ブログ

2021年12月10日

Exchange OnlineとOutlookで社内リソース予約を管理する

会議室や備品といった社内リソースの予約について様々な管理方法がある中で今回はExchange OnlineとOutlookを利用したリソース管理の方法を解説します。
社内のメールサーバーにExchange Onlineを、メールクライアントとしてOutlookを利用している方はぜひ参考にしていただければと思います。

こんにちは。
エンタープライズビジネスグループのmaruoka.nです。
この記事は アイソルート Advent Calendar 2021 10日目の記事です。
メールサーバーでExchange Onlineを利用し、メールクライアントでOutlookを利用している場合、予定表機能を利用して社内リソースの予約管理を実装することができます。
今回は架空の要件例をもとに社内リソースの予約管理の内容についてまとめます。

目次

 

 

社内リソースの予約管理をOutlookで行うメリット

(持論ですが)社内リソースの予約管理をOutlookで行うメリットは3点あると考えます。

 
1.利用中のメールサーバーとメールクライアントで実装可能
 予約管理用の追加サービス等が不要で現在利用中のサービスに一工夫加えるだけで社内リソースの予約管理も可能となります。
 
2.いつでもどこでも予約が可能
 Exchange Onlineはクラウドベースのメールサーバーとなります。
 この特徴を生かし、社用PCのみならずスマートフォンなどからOutlookへのアクセスもできます。
(社外から社内リソースへのアクセス可否に関しては各社ルールがあると思いますのでそのルールには従ってください。)
 また、テレワークも多い昨今社内のリソースを社内からでないと予約ができないという状況は何かと不便が生じます。
 逆に、会議室や備品の予約が必要と分かった時点で手元からすぐ予約ができれば、予約忘れの防止や競合時の再検討に対する
 時間の猶予といったメリットが生まれます。
 
3.各リソースの空き情報が手元のOutlookで確認可能
 Exchange Onlineでは各リソースごとにメールボックスを作成します。
 そのため、各リソースのメールボックスに紐づく予定表を自身のOutlook予定表に取り込むことも可能です。

実装方法

[要件]
社内の会議室の予約情報をOutlookで管理したい。
予約管理の詳細として以下を求めている。
①各ユーザーが自身の予定に登録するのと併せて会議室の予約を可能とする。
②予約を試みた会議室に対し既に先約がある場合、予約をできないようにする。
③会議室の予定表には予定を登録した人の名前と登録時の件名を表示する。

0.事前準備
実装する前に以下の環境が整っていることを確認します。 
・PowerShellでExchange Onlineへ接続していること
(参考リンク:Exchange Online PowerShell に接続する | Microsoft Docs
・各会議室のメールボックスが存在していること
(参考リンク:リソース メールボックスを管理Exchange Online | Microsoft Docs

1.リソースの予定表アクセス権を設定する
リソースメールボックスを作成した場合、既定から変更しない限り[AvailabilityOnly]というアクセス権が付与されています。
・リソースの予定表アクセス権確認コマンド
Get-MailboxFolderPermission -Identity "リソースメールボックスのアドレス:\Calendar"
※コマンド実行時エラーが発生した場合は[\Calendar]の箇所を[\予定表]に変更し再実行を試みてください。 

[コマンド実行例]

既定で付与されているアクセス権[AvailabilityOnly]を[LimitedDetails]に変更します。

・リソースの予定表アクセス権変更コマンド
Set-MailboxFolderPermission -Identity "リソースメールボックスのアドレス:\Calendar" -User 既定 -AccessRights LimitedDetails

[コマンド実行例]

2.リソース予約内容の詳細を変更する
「1.リソースの予定表アクセス権を設定する」を完了した時点でリソースの予定表では「予定の登録者」が表示される設定となります。

第三者が同じ会議室(Apple会議室)の予定表を閲覧した場合

ここからさらに、第三者が会議室予定表を閲覧した場合、「登録時の件名」も確認可能となるよう設定します。  

・リソース予約内容の詳細設定コマンド

Set-CalendarProcessing -Identity "リソースメールボックスのアドレス" -DeleteSubject $False

[コマンド実行例]

[Get-CalendarProcessingの主要パラメータの説明]

-DeleteSubject

予定表に予約内容を表示する際、件名の表示可否を設定できます。
既定値は[True]のため、件名が削除された状態で表示されます。
※今回は本パラメータをFalseに設定することで、予定表に予約時の件名を表示するようにします。

-AddOrganizerToSubject

予定表に予約内容を表示する際、予定登録者の表示可否を設定できます。
既定値は[True]のため、予定登録者が表示されます。

-DeleteComments

定表に予約内容を表示する際、予定の本文表示可否を設定できます。
既定値は[True]のため、本文が削除された状態で表示されます。

詳細設定後の表示画面(予定登録者の画面)

詳細設定後の表示画面(第三者がApple会議室を表示したときの画面)

画面右(緑色の予定表)が当該会議室の予定表になりますが、予定の登録者と予定の件名を確認することができます。 

3.リソース予定表の自動応答設定
Exchange Onlineには、リソースメールボックス内の設定に[自動応答]があります。
・自動応答設定場所(管理センターからの設定)
Exchange 管理センター > 受信者-リソース > 該当の会議室をクリック > 設定の管理 > 「会議出席依頼を自動的に承諾する」

今回は要件②に「予約を試みた会議室/備品に対し既に先約がある場合、予約をできないようにする。」とあるため、本機能を利用し、「先約がある場合は会議出席依頼を辞退する」構成とします。

「会議出席依頼を自動的に承諾する」をオンにすることで、会議室に対する予約に重複がない場合[承諾]のレスポンスが返却され、
会議室に対する予約に重複がある場合[辞退]のレスポンスが返却されます。
そのため本設定をオンにするだけで要件②を満たすことができます。

[承諾]のレスポンス例

[辞退]のレスポンス例

実際に予約をしてみる

ユーザー(田中太郎)の予定表から、Apple会議室に12/10(金)14:00~週次定例会の予定を登録する。
①田中太郎さんのOutlook予定表 – [新しい予定]をクリック

②予定登録画面から[場所]をクリック

③アドレス帳から予約したい会議室→[会議室]ボタン→[OK]の順にクリック

④[場所]と[必須]に予約したい会議室が登録されていることを確認し、件名や日時等を入力し、送信をクリック

⑤Apple会議室から[承諾]メールが返ってくることを確認

⑥田中太郎の予定表、Apple会議室の予定表ともに④の予定が登録されていることを確認

 

⑦同一組織内の別ユーザー(鈴木花子)がApple会議室の予定を閲覧した場合に④の予定の件名と登録者が表示されることを確認

 

おわりに

Exchange OnlineとOutlookの予定表を工夫し、社内リソースの予約管理も行う方法を解説しました。
今回は会議室を限定した検証でしたが、各地に拠点があり会議室や備品を拠点ごとに分けたい場合は
「アドレスリスト」と「アドレス帳ポリシー」を作成することで拠点ごとの会議室や備品をアドレス帳から
容易に検索することが可能となります。
会議室検索についてはまたの機会に記載できればと思います。