Exchange Online のメールボックスユーザーの予定表のアクセス権ですがデフォルトでは以下のように設定されています。
既定のユーザーは [空き時間情報] のみ参照が許可されており、実際の予定は見ることができません。
企業によっては原則として全員の予定の内容 (プライベート設定されている予定は除く) を見れることを求められることがあります。
ユーザーが自分で設定を変更することで予定表を公開することができますが、ユーザーの作業を発生させずに、管理者が一括で設定をすることを求められることがあります。
今回は予定表のアクセス権を一括で変更するための方法を見ていきたいと思います。
■PowerShell を使用して一括でアクセス権を変更
Exchange Online の操作は PowerShell を使うことができますので、PowerShell で一括変更をしてみたいと思います。
$LiveCred = Get-Credential foreach ($tmp in $user){ Remove-PSSession $Session |
上記のスクリプトは "既定" のアクセス権を AvailabilityOnly (空き時間情報) に設定しているのでデフォルトの設定と同じにしています。
アクセス権は、
None | なし |
Owner | 所有者 |
PublishingEditor | 発行編集者 |
Editor | 編集者 |
PublishingAuthor | 発行作成者 |
Author | 作成者 |
NonEditingAuthor | 非編集作成者 |
Reviewer | 参照者 |
Contributor | 寄稿者 |
LimitedDetails | 空き時間情報、件名、場所 |
AvailabilityOnly | 空き時間情報 |
等を設定することができます。
また、ユーザー設定のアクセス権も設定ができるので [ReadItems、CreateItems、EditOwnedItems、DeleteOwnedItems、EditAllItems、DeleteAllItems、CreateSubfolders、FolderOwner、FolderContact、FolderVisible] 個別に設定することで、ユーザー指定の権限を付与することもできます。
ユーザーがメールボックスにアクセスする前は、予定表は Calendar というオブジェクト名になっているので、その対策として [予定表] で権限の設定が失敗した場合は [Calendar] に対して権限を設定するようにしています。
今回のスクリプトではメールボックスを持っているユーザーを対象としていますが、ユーザーの属性を使用してフィルタリングができますので、特定の部署の場合は権限を設定するということもできます。
# foreach 内で、条件分岐する方法をとることもできるかと。
アクセス権は以下のようなスクリプトで確認することができます。
$LiveCred = Get-Credential Remove-PSSession $Session |
展開時にデフォルトでどこまで予定表が見えるようにするかは悩ましいところではありますが、空き時間情報だけだと電話応対で困ることがあるかな~と思っています。
会議で離席なのか外出で離席なのかわからないと取次方法に困りますよね。
Ofice 365 の Exchange Online のベースは Exchange 2010 ですので、オンプレミスの Exchange 2010 でも使うことができるかと。
# 試せていないですが…。
[…] というときはOzawaさんのブログで紹介されているような方法で実行できるようになるわけです。 […]
PowerShellを使ってExchange Onlineを管理 « Always on the clock
7 5月 12 at 09:06
やはり、今の Exchange のベースは、Exchange Server 2010 ですね♪
実案件での Delivery だけではなく、個人的にもいろいろと Exchange Server 2010 にはどっぷり浸かっていたおかげで、
大して調べなくとも、Exchange Online にかなり応用できてます。
・・・ Exchange 2010 SP 3 は、優等生でしたね。
Takumi Sato
3 4月 17 at 23:48