PowerShell 代理人から非公開のアイテムを参照させる Exchange Online(Outlook)

Microsoft

Outlookから「代理人の設定」と「非公開予定の表示」を変更するのではなく、PowerShell を利用して権限設定を変更する手順を解説します。

管理者の場合、ユーザー環境を利用して設定変更するのは苦痛でしかありません。「非公開予定の表示」をサーバーから設定を仕込んで設定変更が反映させる方法が見つからず困っていましたが解決できました。

役員の場合「非公開予定」を秘書には閲覧権限を付与したい場合がよくあります。今までは役員のOutlookから設定を行っていました。設定できるタイミングが合わずに苦労していましたが、PowerShellで設定変更ができるようになり便利になりました。

代理人設定、非公開アイテムの権限追加に利用するコマンド

Add-MailboxFolderPermissionコマンドを利用して、SharingPermissionFlagsパラメーターに権限を付与します。

Add-MailboxFolderPermissionコマンドは、こちらで詳細を確認することができます。

対象者の予定表に、代理人(delegate)を登録するコマンドになります。

Add-MailboxFolderPermission -Identity [対象者]:\予定表 -User [代理人] -AccessRights Editor -SharingPermissionFlags Delegate,CanViewPrivateItems

Get-MailboxFolderPermission 権限確認

まず初めに、対象ユーザーの権限を確認します。状態によって、追加なのか変更なのか利用するコマンドが異なってきます。

PS C:\WINDOWS\system32> Get-MailboxFolderPermission [対象者]:\予定表

FolderName           User                 AccessRights                           SharingPermissionFlags
----------           ----                 ------------                           ----------------------
予定表               既定                 {LimitedDetails}

Add-MailboxFolderPermission 権限追加

既に設定が追加されていない場合は、Add-MailboxFolderPermission コマンドを利用して登録するだけです。

Add-MailboxFolderPermission -Identity [対象者]:\予定表 -User [代理人] -AccessRights Editor -SharingPermissionFlags Delegate,CanViewPrivateItems

予定表の表記は日本語で行います。英語の場合は「calendar」と表記しますので注意してください。

代理権限のDelegateだけでは、非公開アイテムは見えません。CanViewPrivateItemsを付与して非公開アテムも表示する必要があります。見せたい範囲に合わせてパラメータを付与していく必要があります。

あとは、設定を確認し反映するのを待つのみです。

PS C:\WINDOWS\system32> Get-MailboxFolderPermission [email protected]:\予定表

FolderName   User         AccessRights          SharingPermissionFlags
----------   ----         ------------          ----------------------
予定表       既定         {LimitedDetails}
予定表       [代理人]     {Editor}              Delegate, CanViewPrivateItems

SharingPermissionFlagsパラメーターに「Delegate」「CanViewPrivateItems」が無事に付与されました。

 

既存設定があるのに、Add-MailboxFolderPermissionコマンドを実行するとエラーが表示されます。

PS C:\WINDOWS\system32> Add-MailboxFolderPermission -Identity [対象者]:\予定表 -User [代理人] -AccessRights Editor -SharingPermissionFlags Delegate,CanViewPrivateItems
ユーザー [代理人] には、既存のアクセス許可エントリがあります。
    + CategoryInfo          : NotSpecified: (:) [Add-MailboxFolderPermission], UserAlreadyExis...nEntryException
    + FullyQualifiedErrorId : [Server=TY2PR01MB3164,RequestId=d424fbcd-b406-47ed-b969-2237d19bc741,TimeStamp=2021/12/1
   5 0:48:40] [FailureCategory=Cmdlet-UserAlreadyExistsInPermissionEntryException] 58215D9F,Microsoft.Exchange.Manage
  ment.StoreTasks.AddMailboxFolderPermission
    + PSComputerName        : outlook.office365.com

こういった場合の対応方法は、変更か、削除後に追加を行います。

Set-MailboxFolderPermission 権限変更

変更の場合は追加コマンドと利用方法は同じです。

Set-MailboxFolderPermission -Identity [対象者]:\予定表 -User [代理人] -AccessRights Editor -SharingPermissionFlags Delegate,CanViewPrivateItems

Remove-MailboxFolderPermission 権限削除

削除の場合は追加コマンドと利用方法は同じです。

Remove-MailboxFolderPermission -Identity [対象者]:\予定表 -User [代理人]

既存設定を変更・削除できない場合

たまに既存設定に不具合があり、変更や削除できない場合があります。この場合は格納領域に不整合が生じているので設定をリセットする必要があります。

警告: DelegateUserCollection を更新できませんでした。スイッチ ResetDelegateUserCollection を使用して
Remove-MailboxFolderPermission を実行し、破損した DelegateUserCollection をクリアしてみてください。
delegateCollection を更新できませんでした。
+ CategoryInfo : InvalidOperation: (:) [Add-MailboxFolderPermission]、DelegateCollectionUpdateFailedExcept
ion
+ FullyQualifiedErrorId : [Server=TY2PR01MB3164,RequestId=2c7d63d7-7b0f-4095-b9b3-129d5fe0a7c3,TimeStamp=2021/12/1
5 0:56:22] [FailureCategory=Cmdlet-DelegateCollectionUpdateFailedException] 2C53F67E,Microsoft.Exchange.Management
.StoreTasks.AddMailboxFolderPermission
+ PSComputerName : outlook.office365.com

無効にされたユーザーの代理人権限の削除

エラーメッセージが表示される多くの原因が、複数の代理人がいる場合です。代理人設定を付与したまま一部のユーザーが削除されてしまうと不整合が発生します。

権限を削除する前にユーザーやメールボックスの削除を行った場合は、対象ユーザーの代理人権限を削除してください。

予定表フォルダーに対して付与した権限を以下のコマンドで削除します。

Remove-MailboxFolderPermission -Identity [対象者]:\予定表 -User [削除済み代理人]

ResetDelegateUserCollection 代理人設定とルールを削除

予定表フォルダーに対して付与された設定をコマンドで削除します。

Remove-MailboxFolderPermission -Identity [対象者]:\予定表 -ResetDelegateUserCollection

このコマンドで、予定表の参照や書き込みの権限は削除されません。

対象者に設定されている全ての代理人権限が削除されます。代理人は次の操作が利用できなくなります。

  • 会議出席依頼を代理人に転送する
  • 非公開のアイテムを参照する

次に、以下のコマンドを実行し代理送信権限をリセットします。

Remove-MailboxFolderPermission -Identity [対象者]:\予定表 -ResetDelegateUserCollection

このコマンドを実行すると代理人の設定が完全にクリアされます。新たに設定を追加してください。

コメント