🖊️
Microsoft Graph APIで特定のビル・会議室だけを取得したい
タイトルがGraph APIと記載していますが、実際はPowerShellで設定していきます。
結論から言うと
- AddressBookPolicyを作成する
- UserにAddressBookPolicyに紐付ける
を設定すれば Graph APIの /findrooms
などの会議室取得APIでポリシーが適用された会議室が取得されます。
※ places/microsoft.graph.room
、places/microsoft.graph.roomlists
はテナント全体を必ず取得してくるようなので、ポリシーは適用されない
AddressBookPolicyの作成
CustomAttribute1
に Tokyo
が設定されているもののみ取得するように設定していきます。
- GlobalAddressListの作成
New-GlobalAddressList -Name "TokyoGAL" -RecipientFilter {(CustomAttribute1 -eq "Tokyo")}
- AddressListの作成(配布グループを対象)
New-AddressList -Name "TokyoAL" -RecipientFilter {((RecipientType -eq "MailUniversalDistributionGroup") -or (RecipientType -eq "DynamicDistributionGroup")) -and (CustomAttribute1 -eq "Tokyo")}
※ ユーザーも対象にする場合、RecipientType -eq "UserMailBox"
を追加
- RoomListの作成
New-AddressList -Name "TokyoRooms" -RecipientFilter {(Alias -ne $null) -and (CustomAttribute1 -eq "Tokyo")-and (RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')}
- OfflineAddressBookの作成
New-OfflineAddressBook -Name "TokyoOAB" -AddressLists "TokyoGAL"
- AddressBookPolicyの作成
New-AddressBookPolicy -Name "TokyoABP" -AddressLists "\TokyoAL" -OfflineAddressBook "\TokyoOAB" -GlobalAddressList "\TokyoGAL" -RoomList "\TokyoRooms"
※ AddressLists
、OfflineAddressBook
、GlobalAddressList
、RoomList
は必須項目のようで設定しないエラーになる
UserにAddressBookPolicyを紐づける
- AddressBookPolicyの作成
Set-Mailbox -AddressBookPolicy TokyoABP
↓ 以下が聞かれる
cmdlet Set-Mailbox at command pipeline position 1
Supply values for the following parameters:
Identity: {User-Identity}
ポリシーを適用したユーザーが会議室を取得する場合、Tokyoの会議室のみで取得されます。
※ 反映に時間かかるみたいで設定したときは、翌日に反映されました。
Discussion