パブリックフォルダのアクセス権を付与する際に、配下にあるすべてのサブフォルダにも同様のアクセス権を付与したい場合、 「ルートアクセス許可」という項目があるので、配下のパブリックフォルダにアクセス権を継承できるのかについてご紹介していきたいと思います。
Exchange 管理センターの[パブリック フォルダー] の画面上部の [...] - [ルートアクセス許可] にて、特定のユーザーへアクセス権を付与した場合、新たに作成するパブリック フォルダーやそのサブフォルダーすべてにアクセス権が引き継がれる動作であり、既存のパブリックフォルダには継承されません。
なお、[ルートアクセス許可] の画面にて、[このフォルダとすべてのサブフォルダに変更を適用する] のチェックボックスにチェックを入れることで [ルートアクセス許可] で設定した内容をすべてのサブフォルダに適用することが可能です。
ただし、フォルダ数が多い場合や多岐に渡る階層を持つフォルダーの場合にアクセス権が継承されない事例を確認してます。
なお、この設定は設定が継承されるものではなく、すべてのサブフォルダに対しアクセス権の変更設定を連続で実行する動作です。
そのため、パブリックフォルダの数が多い場合や階層が深いフォルダがある場合はPowershellのコマンドレットで手動で実行することをおススメします。
なお、PowerShell コマンドを用いてパブリックフォルダーに対するアクセス権限の変更を行う場合、現在 設定されているアクセス権限を一度 削除した後に新しい権限を再設定する必要があります。
以下に csv ファイルを用いた複数ユーザーに対する権限の一括削除および追加の実行例をご案内しますので、ご参考にしていただけますと幸いです。
CSV ファイルを利用してパブリックフォルダーへの権限を一括で削除する
--------------------
<CSV ファイルの構成>
"Identity","User"
"<パブリック フォルダーのパス名>","<ユーザー名>"
[作成例]
"Identity","User"
"\PublicFolder1","UserA"
"\PublicFolder1\PublicFolder1-1","UserA"
"\PublicFolder2\PublicFolder2-1","UserA"
"\PublicFolder2\PublicFolder2-1","UserB"
上記で作成した CSV ファイルを元にアクセス権の設定を行う PowerShell コマンドを実行します。
※ PowerShell より Exchange Online に接続してから実行してください。
[構文]
Import-Csv "<CSV ファイルの格納先フルパス名>" | Foreach-object { Remove-PublicFolderClientPermission -Identity $_.Identity -User $_.User -Confirm:$False}
[実行例]
Import-Csv "C:\Temp\publicfolderpermission.csv" | Foreach-object { Remove-PublicFolderClientPermission -Identity $_.Identity -User $_.User -Confirm:$False}
CSV ファイルを利用してパブリックフォルダーへの権限を一括で追加する
--------------------
<CSV ファイルの構成>
"Identity","User","AccessRights"
"<パブリック フォルダーのパス名>","<ユーザー名>","<アクセス権限>"
[作成例]
"Identity","User","AccessRights"
"\PublicFolder1","UserA","Reviewer"
"\PublicFolder1\PublicFolder1-1","UserA","Reviewer"
"\PublicFolder2\PublicFolder2-1","UserA","Reviewer"
"\PublicFolder2\PublicFolder2-1","UserB","Reviewer"
※ ユーザー名の指定には、ユーザーメールボックス以外にも、メールが有効なセキュリティグループを指定することも可能です。
上記で作成した CSV ファイルを元にアクセス権の設定を行う PowerShell コマンドを実行します。
※ PowerShell より Exchange Online に接続します。
[構文]
Import-Csv "<CSV ファイルの格納先フルパス名>" | Foreach-object { Add-PublicFolderClientPermission -Identity $_.Identity -User $_.User -AccessRights $_.AccessRights }
[実行例]
Import-Csv "C:\Temp\publicfolderpermission.csv" | Foreach-object { Add-PublicFolderClientPermission -Identity $_.Identity -User $_.User -AccessRights $_.AccessRights }
<実行結果表示例>
FolderName User AccessRights
---------- ---- ------------
Public1 UserA {Reviewer}
PublicFolder1 UserA {Reviewer}
PublicFolder2 UserA {Reviewer}
PublicFolder2 UserB {Reviewer}