はじめに
会議室の管理と一言で言っても、単純なことではありません。手書きのスケジュール、電子メールでのやりとり、独自に作成した管理システムと、各組織でさまざまな方法が試されています。しかし、現代のビジネス環境では効率的かつスムーズな会議室管理が求められています。
そこで注目されるのが、Microsoft 365(M365)の会議室予約・管理機能です。本記事では、M365を活用し、特にOutlook(Exchange Online)で会議室を効率的に管理するステップバイステップのガイドをお届けします。初めてM365を導入する組織はもちろん、既存の会議室管理システムからの移行を検討している組織にも有用な情報を提供できるでしょう。
手間がかかる繰り返しの設定作業を省き、楽に便利に会議室管理を行いましょう~👌
手順
会議室管理をし始めるにあたり必要な手順は以下のとおり。
- Exchange管理センターで会議室リソースの登録をする
- 会議室リスト(配布リスト)を作成する
- 会議室リストに会議室リソースを登録する
- 会議室検索用の情報を登録する
- 会議室管理・運用のための各種設定をしていく
一括作業用のCSVを用意
会議室が数室であっても、繰り返し設定作業が必要なため、一括作業用のCSVを用意しておくのがおススメです。 下記のサンプルデータをもとに自社の会議室をリスト化したCSVデータがある前提で話を進めていきます。オプションではありますが、定員や階数も会議室別に入力しておきましょう。
下記のページにも記載があるように、会議室リソースには建物名やフロアなど、詳細を登録するフィールドが複数ありますが、会議室名に重要な要素をいれることを検討してください。ユーザーが会議予定を入力する際に、詳細を簡単に確認できるようにするためです。
例)東京オフィス101会議室(定員24名)Teams Rooms対応
https://learn.microsoft.com/ja-jp/exchange/recipients-in-exchange-online/manage-resource-mailboxes
Name,Alias,PrimarySmtpAddress,ResourceCapacity,Floor
テスト作成会議室(定員30名),test-room,test-room@<your-domain>.onmicrosoft.com,30,8
登録済みの会議室リソースの一覧を出力する場合
すでに数個の会議室リソースが登録されている場合は以下のPowerShellで一覧を出力可能です。
Get-Mailbox -RecipientTypeDetails RoomMailbox | Select-Object DisplayName, Name, Alias, PrimarySmtpAddress | Export-Csv -Path "C:\RoomMailboxes.csv" -NoTypeInformation -Encoding UTF8
PowerShell Exchangeモジュールを使用できるようにする
以下ドキュメントを参考にPowerShellの設定をしていきます。
手順 1: Exchange Online PowerShell モジュールを読み込む
Import-Module ExchangeOnlineManagement
手順 2: 接続して認証する
構文
Connect-ExchangeOnline -UserPrincipalName <UPN> [-ExchangeEnvironmentName <Value>] [-ShowBanner:$false] [-DelegatedOrganization <String>] [-SkipLoadingFormatData]
UPNがメールアドレスならば、オプションはひとまずおいといて、以下のように書けばOKです。
Connect-ExchangeOnline -UserPrincipalName hogehoge@hogehoge.co.jp
Exchange管理センターで会議室リソースの登録をする
UIから行う(非推奨)
会議室を個別登録する場合は、Exchange管理センターから「会議室リソースを追加する」をクリックして行っていきます。
一括登録をする
ひとつずつUI経由で登録を行うと手間がかかるので、PowerShellを利用して一括登録を行います。ファイルのパスはご自身のファイル置き場所に変更してください。
Import-Csv -Path C:\temp\meeting-rooms.csv -Encoding UTF8 | foreach {New-Mailbox -Name $_.Name -Alias $_.Alias -ResourceCapacity $_.ResourceCapacity -Room} | Export-Csv -Path C:\temp\room_result.csv
上記コードを実行すると会議室リソースがExchangeに登録されます。
会議室リソースの言語、日時設定
会議室ごとの言語設定、日時設定をしておきます。
Import-Csv -Path C:\temp\meeting-rooms.csv -Encoding UTF8 | foreach {Set-MailboxRegionalConfiguration -Identity $_.Alias -DateFormat "yyyy/MM/dd" -TimeFormat "H:mm" -TimeZone "Tokyo Standard Time" -LocalizeDefaultFolderName:$True -Language "ja-JP"}
会議室リスト(配布リスト)を作成する
会議室が登録されるだけでは、Outlookの会議室予約時にでてくる、「会議室の検索を使用して参照する」から会議室を検索することができません。この機能を使用するために会議室リストを作成します。
会議室リストは会議室のグループです。建物単位で登録していきましょう。
会議室リストの一覧CSVを作成する
会議室リストも一括登録したいので、配布リストの名前とアドレスを事前に決めておきましょう。
Name,PrimarySmtpAddress
東京オフィス,tokyo-office@hogehoge.onmicrosoft.com
横浜オフィス,yokohama-office@@hogehoge.onmicrosoft.com
大阪オフィス,osaka-office@hogehoge.onmicrosoft.com
会議室リストを一括作成する
Import-Csv -Path C:\temp\meeting-rooms-list.csv -Encoding UTF8 | foreach {New-DistributionGroup -Name $_.Name -RoomList -PrimarySmtpAddress $_.PrimarySmtpAddress}
会議室リストに会議室リソースを登録する
会議室を作成し、会議室リストも作成したので、会議室をそれぞれ会議室リストに登録していきます。
建物別に会議室を登録していく
会議室リストに会議室リソースを登録するためには、以下のようにPowerShellを書きます。
Add-DistributionGroupMember -Identity "東京オフィス" -Member test-room@<your-domain>.onmicrosoft.com
ただ、こちらも1室ずつ登録していくのは骨が折れるので、下記のように会議室名(Name属性)にビル名などでフィルターをかけてリストを作成し、それを一括で登録することを考えましょう。こういった作業をするためにも、会議室の名称に一貫性を持つことは大事ですね。
Get-Mailbox -Filter "Name -like '東京オフィス*'" | foreach {Add-DistributionGroupMember -Identity "東京オフィス" -Member $_.PrimarySmtpAddress}
会議室検索用の情報を登録する
会議室リストに会議室リソースを登録すると、「会議室の検索」機能を使用することができます。「会議室の検索」機能は、
- 建物(会議室リスト)
- 定員
- フロア
- 機能
の4項目で絞り込み検索ができるため、定員、フロア、機能をそれぞれ登録していきます。
会議室別に定員を登録する
PowerShell で会議室メールボックスに「定員」を登録する際は、下記コマンドを実行します。冒頭に作成した会議室一覧のCSVに入力したResourceCapacity を使用して設定します。
Import-Csv -Path C:\temp\meeting-rooms.csv -Encoding UTF8 | foreach {Set-Mailbox -Identity $_.Alias -ResourceCapacity $_.ResourceCapacity}
会議室別に階数を登録する
PowerShell で会議室メールボックスに「階数」を登録する際は、下記コマンドを実行します。冒頭に作成した会議室一覧のCSVに入力したFloor を使用して設定します。
Import-Csv -Path C:\temp\meeting-rooms.csv -Encoding UTF8 | foreach {Set-Mailbox -Identity $_.Alias -floor 10 $_.Floor}
会議室別にタグを登録する
会議室にタグを登録していきます。タグは会議室に置いてある備品類で検索する際に使用するものです。例えば、Zoom RoomsやTeams Rooms、プロジェクターが置いてある部屋はそれで検索できるようにしておくのがよいでしょう。個別に登録していってもいいですし、CSVにTag列を作成して一括登録することももちろん可能です。
上書き保存されるので、登録時には、必要なものをまとめて登録しましょう。
Set-Place -Identity test-room@<your-domain>.onmicrosoft.com -Tag "Zoom Rooms"
既定で選択項目のあるビデオやディプレイ、音声については、
- -VideoDeviceName
- -DisplayDeviceName
- -AudioDeviceName
で追加することができます。
Set-Place -Identity test-room@<your-domain>.onmicrosoft.com -VideoDeviceName "DTEN"
車いす対応(バリアフリー)の会議室を登録する
バリアフリーは検索結果画面で確認できる情報になりますので、可能な限り登録しておいた方が利用者にとっての体験がいいと思います。
Set-Place -Identity test-room@<your-domain>.onmicrosoft.com -IsWheelChairAccessible $true
会議室管理・運用のための各種設定をしていく
会議室の登録が終わったところで、今度は運用業務に必要になりそうな設定を見ていきます。
一般ユーザーからの会議室リソースの見え方を変更
一般ユーザーが会議室リソースを直接参照したときの見え方も決めておきましょう。
既定はAvailabilityOnlyとなっていて、下図のように「予定あり」表示となります。
会議室リソースのアクセス権にはもう1種類、LimitedDetailsがあり、こちらに変更すると、会議室の件名がみられるようになります。
変更するためのコードは以下。会議室リソースの具体的なカレンダーメールボックスを指定する必要があるため、-Identity
にはエイリアスの後ろに:\予定表
をつけて指定します。
Set-MailboxFolderPermission -Identity test-room:\予定表 -User 既定 -AccessRights LimitedDetails
どちらの場合でも、フルアクセス権のあるユーザーからはタイトルや予約者を確認することはできます。
何日先まで予約できるかを設定する
既定値では180日先までユーザーは予約をすることが可能です。
運用上、予約可能な日数を変更したい場合は以下のように設定します。
サンプルコードでは60日先まで予約できます。
Set-CalendarProcessing -Identity test-room@<your-domain>.onmicrosoft.com -BookingWindowInDays 60
これに違反した会議室を取ろうとした場合、ユーザーには理由付きの辞退メールが届きます。「〇月〇日より前からのみ予約できます」 と明示されているのがいい感じですね。
定期的な予定を入れさせない
定期的な打ち合わせをユーザーに許可してしまうと、不要な予約が乱立してしまう可能性もあります。以下のコードを実行すると、定期的な予定作成をブロックすることが可能です。
Set-CalendarProcessing -Identity test-room@<your-domain>.onmicrosoft.com -AllowRecurringMeetings $False
定期的な予定を入れようとした場合、ユーザーには要求辞退のメールが理由付きで届きます。
予約時間の長さを制限する
会議室を最長何時間まで予約できるかを決めることができます。既定値は24時間。指定は分単位で行うため、4時間にセットしたい場合は240と入力します。
Set-CalendarProcessing -Identity test-room@<your-domain>.onmicrosoft.com --MaximumDurationInMinutes 240
4時間以上の会議を予約しようとすると、ユーザーには要求辞退のメールが理由付きで届きます。
会議室の予定表に会議の件名を表示する
デフォルトの設定では、-AddOrganizerToSubject
がtrue
になっているため、会議の主催者名が会議タイトルに追加されます。
動きとしては、以下のようになります。
件名 テスト会議
主催者 太郎
↓
件名 太郎テスト会議
また、-DeleteSubject
というプロパティが既定でtrue
となっており、会議予約のタイトルを削除します。ですので、既定のままでは、件名が削除されたうえで、開催者の名前が追加されるので、結果的に会議室リソースの件名に登録されるのは開催者名のみになっています。
件名には件名のみを表示したい場合は、上記2つのオプションをfalse
にする必要があります。
Import-Csv -Path C:\temp\meeting-rooms.csv -Encoding UTF8 | foreach {Set-CalendarProcessing -Identity $_.Alias -AddOrganizerToSubject $False -DeleteSubject $False}
この設定後に確認すると、件名がそのまま残っているのがわかります。
メールTipの実装
カレンダー上で会議室を予約しようと「場所」に入れた際に、会議室ごとに設定したメッセージを画面上部に表示することができます。 予約前に確認できるメッセージになるので、予約にあたっての注意事項はこちらでいれるのがよいでしょう。
Set-Mailbox -Identity test-room@<your-domain>.onmicrosoft.com -MailTip "文字列"
返信メールへの追加コメントを設定する。
Outlookで会議室を予約すると、既定の動作では主催者に会議室リソースより自動で返答メールが届きます。そのメールの緑枠で囲った部分にコメントを入れることができます。
-AddAdditionalResponse
を$true
にしたうえで、-AdditionalResponse
のあとに追加したいコメントをいれていきます。
Set-CalendarProcessing -Identity test-room@<your-domain>.onmicrosoft.com -AddAdditionalResponse $true -AdditionalResponse 次の予約者が時間通り入室できるよう、予約終了時間の5分前に退出するようご協力をお願いします。
非公開設定の扱いを設定する
運用Tips
会議室の管理担当者にフルアクセスを与える
会議室の管理担当者は予約時間や予約可能な日付を無視して予約を行いたいですよね。セキュリティグループや配布グループを使用して、アクセス権を設定してあげれば、一般ユーザーではできない予約行為も会議室リソースに直接アクセスをして実行することができます。
Import-Csv -Path C:\temp\meeting-rooms.csv -Encoding UTF8 | foreach {Add-MailboxPermission -Identity $_.PrimarySmtpAddress -User <セキュリティグループなど> -AccessRights FullAccess}
指定のグループからのみ予約可能な会議室を作成する。
役員専用の会議室、そのフロアで勤務している人専用の会議室など、社員全員が予約できると運用上問題がある場合もあります。その場合は以下のようにセキュリティグループや配布グループを指定してあげます。
-
-BookInPolicy
パラメーターは、会議出席依頼を自動的に承認される会議室リソースに送信できるユーザーまたはグループを指定します。 -
-AllBookInPolicy
パラメーターは、すべてのユーザーから会議室リソースへのポリシー内要求を自動的に承認するかどうかを指定します。
Set-CalendarProcessing -Identity 東京オフィス101会議室 -AutomateProcessing AutoAccept -BookInPolicy <グループメールアドレス> -AllBookInPolicy $false
DisplayName
とName
会議室リソースは、DisplayName
とName
という別々の項目を持っています。Exchange管理センターからリソースを作成すると、そのときに指定した名前が両方にセットされます。しかし、その後表示名(DisplayName
)を変えても、Name
は変更されません。
Teams Rooms機材によっては、機材に表示される名前はName
属性を利用している場合があるため、UIでは名前を変えたのに、機材の表示名は変わらないということが起こります。
(参考)備品リソースの作成
作成時(New-Mailbox)に-Equipment
をつける。
基本的にはその他の動作は会議室リソースと同じです。
New-Mailbox -Name $_.Name -Alias $_.Alias -Equipment
さいごに
この情報が役立ったらいいね、ストック、SNSへシェアをお願いします👍
質問やコメントがあればコメント欄へどうぞ。
参考記事
PowerShellのインストール関連
PowerShellの主なコマンドページ
New-Mailbox
Set-Mailbox
Set-CalendarProcessing
Set-MailboxFolderPermission
Set-Place
Add-MailboxPermission
参考にしたブログ