代理人の設定や非公開の予定を表示する権限を PowerShell で確認する方法

いままでは代理人の設定や非公開の予定を表示するかどうかについては、Outlook や EWS でないと確認ができませんでした。これが Exchange Online の PowerShell でできるように、しれっと機能が強化されています。ただし予定表フォルダー限定です。

例えば EXO の OWA で以下のように代理人と非公開の予定を表示する設定を行ったとします。

そして以下のようにコマンドを実行します。ユーザー名やフォルダー名は適宜読み替えてください。

Get-MailboxFolderPermission exouser02:\予定表

すると以下のように SharingPermissionFlags に Delegate と CanViewPrivateItems という値が含まれており、代理人であり、非公開の予定を表示する権限があることが分かるようになっています。AccessRights については Editor になります。

この機能のおかげで、非公開の予定を表示する権限を持っているユーザーの一覧も簡単に取得できるようになります。例えば以下のように実行すれば、指定したユーザーの予定表フォルダーの、非公開の予定を表示できるユーザーの一覧が取得できます。ちなみに SharingPermissionFlags は見た目は string の配列ですが現在の実装ではただの string です。

Get-MailboxFolderPermission exouser02:\予定表 | ?{$_.SharingPermissionFlags -ne $null -and $_.SharingPermissionflags.Contains("CanViewPrivateItems")}