人事異動のたびにメールアドレスや部署名、表示順の見直しが必要になるMicrosoft 365のExchange Online。特に、階層型アドレス帳(HAB)を導入している環境では、その更新作業が手間になることもあります。
本記事では、PowerShellを使ってExchange OnlineのHABを一括修正する方法について、実務で使える手順とコマンドを詳しく解説します。日々の運用業務を効率化したいIT担当者の方に向けて、ポイントを押さえた内容でお届けします。
階層型アドレス帳(Hierarchical Address Book)は、Exchange Onlineのアドレス帳を組織の階層構造に基づいて表示できる機能です。これにより、ユーザーは「営業部 > 第一営業課 > 田中 太郎」のような階層で相手を探すことが可能になります。
HABを使用すると、OutlookやWebメールのアドレス帳で組織構造を視覚的に把握できるため、連絡先を探しやすくなるメリットがあります。
ただし、人事異動や組織変更の際には、以下の情報の更新が必要です:
PhoneticDisplayName
や SeniorityIndex
)Manager
属性や所属グループ)人事異動が発生すると、Exchange Onlineに登録された以下の情報を更新する必要があります。
これらの修正はGUIでは非常に手間がかかるため、PowerShellでの一括対応がおすすめです。
まずはPowerShellを使用してExchange Onlineへ接続しましょう。
# モジュールが未インストールの場合(初回のみ)
Install-Module -Name ExchangeOnlineManagement
# Exchange Online へ接続
Connect-ExchangeOnline -UserPrincipalName 管理者アカウント@ドメイン
接続後、ユーザーやグループの属性情報を確認・変更できる状態になります。
一括修正を行う前に、変更対象ユーザーの情報をまとめたCSVファイルを準備します。以下はCSVのサンプルです。
UserPrincipalName,DisplayName,Department,SeniorityIndex,Manager
t.tanaka@example.com,田中 太郎,第一営業課,10,manager1@example.com
y.suzuki@example.com,鈴木 優子,第二営業課,15,manager2@example.com
UserPrincipalName
:対象ユーザーのログインIDDisplayName
:新しい表示名Department
:所属部署名(表示目的)SeniorityIndex
:アドレス帳での並び順Manager
:直属の上司のメールアドレス以下のスクリプトを用いて、一括で修正を実行できます。
# CSVファイルの読み込み
$users = Import-Csv -Path "C:\scripts\HAB_update.csv"
foreach ($user in $users) {
Set-Mailbox $user.UserPrincipalName `
-DisplayName $user.DisplayName `
-CustomAttribute1 $user.Department `
-SeniorityIndex $user.SeniorityIndex
# Manager を設定
Set-User $user.UserPrincipalName -Manager $user.Manager
Write-Host "更新完了: $($user.UserPrincipalName)"
}
※ CustomAttribute1
を部署名の表示用に利用する場合もあります。組織のポリシーに合わせて使用してください。
PowerShellで修正が正しく反映されたかを確認するには、以下のコマンドを使います。
Get-Mailbox t.tanaka@example.com | Format-List DisplayName,CustomAttribute1,SeniorityIndex
Get-User t.tanaka@example.com | Select-Object Name,Manager
また、Outlookクライアント側のアドレス帳に反映されるまでには、一定の時間がかかる点に注意しましょう(最大24時間程度)。
人事異動時の階層型アドレス帳(HAB)の更新作業は、Exchange OnlineのPowerShellを使えば一括で効率的に対応できます。
CSVを活用したスクリプトによって、部署変更・表示順・上司設定をミスなく行えるため、手動でのGUI操作よりはるかに正確かつ迅速です。
定期的なメンテナンスや運用設計をあらかじめ行っておくことで、異動シーズンの業務負担を大幅に軽減できます。ぜひ今回ご紹介した方法を活用して、Exchange管理をさらにスマートに進めてください。