はじめに
Outlookの予定表を操作している際に「自分は巻き込まれずに◯◯さんの予定だけを操作したい」というケースがあると思います。
自分に対してその方の予定表の「Editer」権限を付与することで、その願いは叶います。
この記事では、その願いを叶えるためのPowerShellを紹介します。
※設定はGUIでも可能ですが、操作される側で設定する必要があるため今回はPowerShellを使用します。
※操作には管理者権限が必要になります。
環境構築
- PowerShell version: 7.4.0
- モジュール Exchange Online PowerShell
PowerShellで以下のコマンドを実行して、Exchange Onlineモジュールをインストールします。
既にインストール済みの方は飛ばしても大丈夫です。
# Exchange Onlineモジュールをインストール
Install-Module -Name ExchangeOnlineManagement -Force -AllowClobber
インストールが完了したら、以下のコマンドでモジュールをインポートします。
Import-Module ExchangeOnlineManagement
操作
準備
Exchange Online に接続します。
# 接続、グローバル管理者 or Exchage管理者
Connect-ExchangeOnline
対象のユーザーのメールボックスの地域設定を確認します。
#現在のメールボックスの地域確認
#$mb = "user01@example.com"
$mb = <対象となるメールアドレスに書き換えてください>
Get-MailboxRegionalConfiguration -Identity $mb `
| Select-Object @{
n="PrimarySmtpAddress"
e={$mb}
},DateFormat,Language,TimeFormat,TimeZone
実行結果が以下のように日本仕様になっていれば大丈夫です。
PrimarySmtpAddress : user01@example.com
DateFormat : yyyy/MM/dd
Language : ja-JP
TimeFormat : H:mm
TimeZone : Tokyo Standard Time
日本仕様になっていない場合以下のコマンドを実行します。
実行後もう一度先程のコマンドで確認してみてください。
#メールボックスの言語や時刻を日本に合わせます。
$mb = <対象となるメールアドレスに書き換えてください>
Set-MailboxRegionalConfiguration `
-Identity $mb `
-DateFormat "yyyy/MM/dd" `
-Language "ja-JP" `
-TimeFormat "H:mm" `
-TimeZone "Tokyo Standard Time" `
-LocalizeDefaultFolderName:$true
権限付与
予定表の編集可能権限を付与します。
このコマンドを実行することで、対象のユーザーの予定表を直接操作することが可能になります。
#$操作されるユーザー = "user01@example.com"
#$操作するユーザー = "user02@example.com"
$操作されるユーザー = <予定表を操作されるユーザーのメールアドレスに書き換えてください>
$操作するユーザー = <予定表を操作するユーザーのメールアドレスに書き換えてください>
$calendar = $操作されるユーザー + ":\予定表"
Add-MailboxFolderPermission `
-Identity $calendar `
-User $操作するユーザー `
-AccessRights Editor
正常に設定されたか確認をします。
#$操作されるユーザー = "user01@example.com"
#$操作するユーザー = "user02@example.com"
$操作されるユーザー = <予定表を操作されるユーザーのメールアドレスに書き換えてください>
$操作するユーザー = <予定表を操作するユーザーのメールアドレスに書き換えてください>
$calendar = $操作されるユーザー + ":\予定表"
Get-MailboxFolderPermission `
-Identity $calendar `
-User $操作するユーザー `
| Select-Object @{
n="FolderName"
e={$calendar}
},User,AccessRights
実行結果のAccessRightsが以下のように「Editor」になっていれば大丈夫です。
FolderName User AccessRights
---------- ---- ------------
user01@example.com:\予定表 user02 {Editor}
操作が全て終了したので、Exchange Online から切断します。
#切断
Disconnect-ExchangeOnline
まとめ・所感
- 他人の予定表を操作したい場合は「Editor」の権限を付与する。
- 権限はGUIでも設定可能だが、操作される側のOutlookで設定する必要がある。
参考
Exchange予定表のアクセス許可設定
最近、Exchange OnlineやSharePoint Onlineを使う機会が多く、「こんなカスタマイズはできないものだろうか?」という疑問が出てきては、調べて「ほほぅ、そういうことか!」と納得させられる毎日です。
https://azuread.net/archives/843
Add-MailboxFolderPermission (ExchangePowerShell)
メールボックス フォルダーのユーザーに割り当てられているアクセス許可を変更するには Set-MailboxFolderPermission コマンドレットを使用します。 メールボックス フォルダーのユーザーに割り当てられているアクセス許可をすべて削除するには Remove-MailboxFolderPermission コマンドレットを使用します。 このコマンドレットを実行する際には、あらかじめアクセス許可を割り当てる必要があります。 この記事ではコマンドレットのすべてのパラメーターを一覧表示しますが、割り当てられたアクセス許可にパラメーターが含まれていない場合は、一部のパラメーターにアクセスできない可能性があります。 コマンドレットを組織内で実行するために必要になるアクセス許可とパラメーターを調べるには、「 Find the permissions required to run any Exchange cmdlet」を参照してください。
https://learn.microsoft.com/ja-jp/powershell/module/exchange/add-mailboxfolderpermission?view=exchange-ps