Microsoft365 をカスタマイズ
Microsoft365 をグループウェアとして使おうとしたときにデフォルト状態だとユーザーに説明しづらいので、わかりやすい見た目に変えようと苦労した覚書きです。
- Outlook でアドレス帳を開くと「All Address Lists」「All Contacts」など出てくるが日本語にしたい。不要なものは削除したい
- Microsoft365 管理センターのリソースに追加した会議室は「All Rooms」にまとまって表示されるが備品はまとまらない。備品もまとめたい
今回は日本語に変更と備品をまとめるを実施しました。
事前準備
ExchangeOnlineで色々カスタマイズするにはPowerShellでの操作が必要なので事前に準備をしておきます。
Exchange管理センターで管理者の役割追加
1.2.を変更するにはアドレス一覧(AddressList)を操作する必要がありますがMicrosoftのドキュメントにもあるようにデフォルトではできませんでした。以下手順で役割を追加してください。
既定では、Exchange Online のアドレス一覧の役割はどの役割グループにも割り当てられません。 アドレス一覧の役割を必要とするコマンドレットを使用するには、その役割を役割グループに追加してください。 詳細については、「役割グループの変更」を参照してください。
- Exchange管理センターで「役割」→「管理者の役割」で「役割グループを追加する」
- 名前を適当に決める「AddressList management」など
- 「アクセス許可」に「Address Lists」を追加して、「管理者」に管理ユーザーを追加する
※ 私の場合すぐには反映されず、翌日に操作できるようになっていました。
PowerShellでExchagenOnlineに接続
Powershellを管理者として開き以下実行。すべてYesで進める。Microsoftアカウントのサインインは上で役割を追加したユーザーで。
Set-ExecutionPolicy RemoteSigned
Install-Module -Name ExchangeOnlineManagement
Connect-ExchangeOnline
「All Rooms」を「会議室」に変える
Set-AddressList -Identity "\All Rooms" -Name 会議室 -DisplayName 会議室
Identity や Name DisplayName を確認するのは以下コマンドでできます
Get-AddressList|Format-List
Nameを変えるとIdentityも会議室に変わってしまいましたので以後「会議室」で指定します
「会議室」の下層に「本社会議室」を作成
※ 本社の会議室はMicrosoft365管理センターのユーザーのところで事業所を「本社」にしています
New-AddressList "本社会議室" -Container "会議室" -RecipientFilter "((Alias -ne `$null) -and (ResourceType -eq 'Room') -and (Office -eq '本社'))"
# 早くアドレスリストに反映させるためにUpdate-Recipientを実行します
# (参考) https://social.msdn.microsoft.com/Forums/ja-JP/fd0ed6da-263d-4adb-9531-1a10094bd00a/exchange-online?forum=exchangeteamjp
Get-Recipient -Filter (Get-AddressList "本社会議室").RecipientFilter | foreach{ Update-Recipient -Identity $_.Identity }
「備品」、「本社備品」を作成
会議室はフォルダにまとまっているのに備品はAll Usersの中から探さないといけないのでアドレスリストを作ってまとめます
New-AddressList "備品" -RecipientFilter "((Alias -ne `$null) -and (ResourceType -eq 'Equipment'))"
New-AddressList "本社備品" -Container "備品" -RecipientFilter "((Alias -ne `$null) -and (ResourceType -eq 'Equipment') -and (Office -eq '本社'))"
Get-Recipient -Filter (Get-AddressList "備品").RecipientFilter | foreach{ Update-Recipient -Identity $_.Identity }
こんな感じで少しずつ我が社向けにカスタマイズしていきます。