🤖
[Outlook]予定表の公開設定を管理者側で一括設定したいとき
やりたいこと
- 社内でOutlookでの予定管理を導入すると、デフォルトでは「ほかの人の予定」は「予定あり」としか表示されない。
- 各社員に設定してもらえば問題ないが、作業依頼コストが高いので管理者側で一括指定したい。
前提
- 小規模グループでのシステム管理者
作業手順
以下の手順に従う。
PowerShellでExchangeOnlineへ接続
PowerShellを管理者権限で起動
まずモジュールのインストールが要るっぽいので以下を実行。
Install-Module -Name ExchangeOnlineManagement -RequiredVersion 3.5.0
その後インポート
Import-Module ExchangeOnlineManagement
接続
Connect-ExchangeOnline
管理者アカウントで。
メールボックスのチェック&権限変更
まずはメールボックスが表示されるか確認。
Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited
あとは参考サイトにあるとおり...と思っていたが:\Calendarなぞ存在しないと怒られる。
ひとまずカレンダーが存在しているか確認。
Get-MailboxFolderStatistics -Identity hoge@huga.co.jp | Where-Object {$_.FolderType -eq "Calendar"}
# ...
# Name : 予定表
# Identity : hoge@huga.co.jp\予定表
# ...
どうやら<メールアドレス>:\予定表 とする必要があるっぽい。
Get-MailboxFolderPermission -Identity "hoge@huga.co.jp:\予定表"
#FolderName User AccessRights SharingPermissionFlags
#---------- ---- ------------ ----------------------
#予定表 既定 {Reviewer}
#予定表 Anonymous {None}
全ユーザーの[規定] に設定したいので最終的には以下の通り。
Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited | ForEach-Object { Set-MailboxFolderPermission -Identity "$($_.PrimarySmtpAddress):\予定表" -User "規定" -AccessRights Reviewer -ErrorAction SilentlyContinue }
一応最後に接続解除
DisConnect-ExchangeOnline
おわり。
参考サイト
Discussion