今回はExchange Onlineの会議室(リソースメールボックス)の予約表の詳細情報を表示する方法の検証です。

会議室(リソースメールボックス)を予約した場合、初期値では「予定あり」としか表示されません。
※こんな感じです。
30-初期値例


これだと「誰が」・「どんな目的」で利用するのか他の人がわからないので、不便なケースが多くあります。
それを
31-設定例
こんな感じに表示出来るようにしていくのが今回の検証ゴールとなります。


設定はすべてPowershellからしか実施出来ないので注意が必要です!!
設定する項目は主に2つです。

1. 「既定」のアクセス許可を「参照者」に変更する 「Set-MailboxFolderPermission」

2. (予定)詳細表示する項目を変更する 「Set-CalendarProcessing」

3. 一括変更コマンド例


※以前 (Exchange Online)会議室等のリソースメールボックスを一括で作成するPowershellコマンドを検証してみた
というのも投稿してますので、合わせてご参考までに



1. 「既定」のアクセス許可を「参照者」に変更する 「Set-MailboxFolderPermission」

始めにPowershellでExchange Onlineへ接続します。
接続後に主に使用するコマンドは「Set-MailboxFolderPermission」となります。

<コマンド使用例>
#対象のメールボックスのタイムゾーンを「日本」へ変更
Set-MailboxRegionalConfiguration -Identity "test-ousetsu-a@mitsushima.work" -DateFormat "yyyy/MM/dd" -Language "ja-JP" -TimeFormat "H:mm" -TimeZone "Tokyo Standard Time" -LocalizeDefaultFolderName


#リソースメールボックスの予定表の「既定」アクセス許可を「参照」へ変更
Set-MailboxFolderPermission  -Identity "test-ousetsu-a@mitsushima.work:\予定表" -User "既定" -AccessRights Reviewer

(注)
「Set-MailboxFolderPermission」実行前に対象のメールボックスのタイムゾーンを「日本」へ変更しておかないとコマンドがエラーとなります。

-Identity」で変更対象のリソースメールボックスを指定しています。
アクセス許可変更時には「"リソースメールボックスアドレス:\予定表"」となりますのでご注意ください。



2. (予定)詳細表示する項目を変更する 「Set-CalendarProcessing」

次に詳細表示する項目を変更していきます。
項目としては大きく4つです。
※表でまとめるとこんな感じです。
項目説明初期値
DeleteSubjectスケジュールの題名を表示するか否かTRUE
(表示しない)
DeleteCommentsスケジュール予約時の本文を表示するか否かTRUE
(表示しない)
DeleteAttachmentsスケジュールに添付したファイルを表示するか否かTRUE
(添付表示しない)
AddOrganizerToSubjectスケジュールの題名に予約者名を合わせて表示するか否かTRUE
(予約者名を表示する)

上3つに関しては名前にある通り「Delete〜」なので、初期値「TRUE」=「消去(表示しない)」という形になります。
AddOrganizerToSubject」については「初期値」=「付与(表示する)」という形となります。
その為、対象リソースメールボックスへ「参照」権限を付与しただけだとミーティング予約者の名前のみ表示されます。
32-参照初期値例

なぜこのような動きとなるかというと、リソースメールボックスの予定は
スケジュール(招待)された予定をコピーし、設定に基づいて情報の付与・削除が行われた予定
が公開されるからです!!
少しややこしいですね(^_^;)

ということで検証で色々な設定を実施し、表示がどのように変化するのかをみていきます!
今回は例として、3つの会議室と2つの備品を用いて検証してみました。
会議室/備品名既定のアクセス許可DeleteSubjectDeleteCommentsDeleteAttachmentsAddOrganizerToSubject
TESTミーティングルーム01参照TRUETRUETRUETRUE
TEST会議室01参照FALSEFALSETRUETRUE
TEST応接室A参照FALSEFALSEFALSEFALSE
TEST持ち出しPC初期値(参照権限なし)TRUETRUETRUETRUE
TEST自動車A初期値(参照権限なし)FALSEFALSEFALSEFALSE


会議室に関してはすべてアクセス許可を「参照」権限に変更し、備品に関しては初期値のままです。
その上でそれぞれ詳細項目の表示を変更するとどうなるかを確認してみました。

<検証結果>
11-予定表設定状態


(予約者から見たスケジュール)
20-予約者側からの表示

(他の人から見たスケジュール)
22-他の人からの表示(解説付き)

23-詳細

24-詳細(解説あり)


それぞれ指定した設定が反映されていることが確認出来ます。
この中で「TEST自動車A」について、全て詳細表示するように設定していますが、そもそもの参照権限がない為に「予定あり」と表示されていることがわかります。

個人的には「開催者」として予約した人が表示されるので「AddOrganizerToSubject」は「FALSE」で良いと感じました。
※件名が長くて見づらいと感じたので・・・(^_^;)

その為個人的なオススメは
アクセス許可DeleteSubjectDeleteCommentsDeleteAttachmentsAddOrganizerToSubject
参照FALSEFALSETRUEFALSE
ですね!
⇒「DeleteAttachments」(添付ファイル)については、参加者へはそれぞれ自分の予定から確認することが出来ますので、組織内全体に表示されていなくとも問題ないと考えるからです。


最後に注意点としては、設定変更前の予定表の表示は変更されません。
あくまで設定変更した後にスケジュールされた予定について詳細が表示されます。
この辺りはスケジュール(招待)された予定をコピーして作成される動作をする為です。




3. 一括変更コマンド例

最後に今回設定するにあたって、リソースメールボックス全体へ一括変更する設定をご紹介します。

<コマンド使用例>
#全リソースメールボックスを取得する
$AllMailBoxInfo = Get-Mailbox | Where-Object { ($_.RecipientTypeDetails -eq "RoomMailbox") -or ($_.RecipientTypeDetails -eq "EquipmentMailbox")}

#全リソースメールボックスの中でタイムゾーンが未設定のものを一括でタイムゾーン(日本)に設定
foreach($MailBoxInfo in $AllMailBoxInfo){
    
    #既定の証拠開示用メールボックスでないことを確認
    If($MailBoxInfo.Name -notlike "DiscoverySearchMailbox*"){
        $MailBox = Get-MailboxRegionalConfiguration -Identity $MailBoxInfo.Identity

        #タイムゾーンが未設定のものを一括設定
        If([String]::IsNullOrEmpty($MailBox.TimeZone)) {
            [String]$strOutput = $MailBoxInfo.Identity + "のタイムゾーンを設定します."
            Write-Output $strOutput
            #まずはタイムゾーンを設定するユーザーに誤りがないかを確認の上実行した方が良いです.
            Set-MailboxRegionalConfiguration –Identity $MailBoxInfo.Identity -DateFormat "yyyy/MM/dd" -Language "ja-JP" -TimeFormat "H:mm" -TimeZone "Tokyo Standard Time" -LocalizeDefaultFolderName
        }
    }
}

#全リソースメールボックスの言語/タイムゾーンの設定の確認
foreach($MailBoxInfo in $AllMailBoxInfo){
    Get-MailboxRegionalConfiguration -Identity $MailBoxInfo.Identity
}

#全リソースメールボックスの予定表「既定」を参照権限にすべて変更
foreach($MailBoxInfo in $AllMailBoxInfo){
    $MailAddress = $MailBoxInfo.PrimarySmtpAddress
    $MailBoxName = $MailBoxInfo.Name
    Write-Host "「${MailBoxName}」の予定表のアクセス権限を「参照」に変更します."
    Set-MailboxFolderPermission  -Identity "${MailAddress}:\予定表" -User "既定" -AccessRights Reviewer
}

#全リソースメールボックスの予定表の権限をすべて確認
foreach($MailBoxInfo in $AllMailBoxInfo){
    $MailAddress = $MailBoxInfo.PrimarySmtpAddress
    $MailBoxName = $MailBoxInfo.Name
    Write-Host "「${MailBoxName}」の予定表のアクセス権限を確認します."
    Get-MailboxFolderPermission  -Identity "${MailAddress}:\予定表"
    Write-Host "`r`n"
}

#全リソースメールボックスの予定表詳細表示をすべて変更
foreach($MailBoxInfo in $AllMailBoxInfo){
    $MailAddress = $MailBoxInfo.PrimarySmtpAddress
    $MailBoxName = $MailBoxInfo.Name
    Write-Host "「${MailBoxName}」の予定表詳細表示を変更します."
    Set-CalendarProcessing -Identity $MailAddress -DeleteSubject $false -DeleteComments $false -DeleteAttachments $true -AddOrganizerToSubject $false
}

#全リソースメールボックスの予定表詳細表示の確認
foreach($MailBoxInfo in $AllMailBoxInfo){
    $MailAddress = $MailBoxInfo.PrimarySmtpAddress
    $MailBoxName = $MailBoxInfo.Name
    Write-Host "「${MailBoxName}」の予定表の表示を確認します."
    Get-CalendarProcessing -Identity $MailAddress | ft Identity,AutomateProcessing,DeleteSubject,DeleteComments,DeleteAttachments,AddOrganizerToSubject
}


予定表詳細表示については、太赤字のところをカスタマイズ可能です。
例は個人的なオススメとなっています(^o^)



今日の検証もこんなところで終わりたいと思いますっ( ´ー`)フゥー...
スポンサードリンク