Exchange Onlineで人事異動対応!階層型アドレス帳(HAB)を一括修正する方法

人事異動のたびにメールアドレスや部署名、表示順の見直しが必要になるMicrosoft 365のExchange Online。特に、階層型アドレス帳(HAB)を導入している環境では、その更新作業が手間になることもあります。
本記事では、PowerShellを使ってExchange OnlineのHABを一括修正する方法について、実務で使える手順とコマンドを詳しく解説します。日々の運用業務を効率化したいIT担当者の方に向けて、ポイントを押さえた内容でお届けします。


階層型アドレス帳(HAB)とは?

階層型アドレス帳(Hierarchical Address Book)は、Exchange Onlineのアドレス帳を組織の階層構造に基づいて表示できる機能です。これにより、ユーザーは「営業部 > 第一営業課 > 田中 太郎」のような階層で相手を探すことが可能になります。

HABを使用すると、OutlookやWebメールのアドレス帳で組織構造を視覚的に把握できるため、連絡先を探しやすくなるメリットがあります。

ただし、人事異動や組織変更の際には、以下の情報の更新が必要です:

  • 部署名(表示名)
  • 組織内での階層順(PhoneticDisplayNameSeniorityIndex
  • 配置部署(Manager 属性や所属グループ)

人事異動時に必要な修正内容

人事異動が発生すると、Exchange Onlineに登録された以下の情報を更新する必要があります。

  1. 部署の表示名(Display Name)の変更
  2. メンバーの配置先OU/グループの変更
  3. HABの階層順の見直し(SeniorityIndex)
  4. 上位部署との関連付け(Manager属性)
  5. 必要に応じてアドレス帳ポリシー(Address Book Policy: ABP)の変更

これらの修正はGUIでは非常に手間がかかるため、PowerShellでの一括対応がおすすめです。


Exchange Online PowerShell への接続方法

まずはPowerShellを使用してExchange Onlineへ接続しましょう。

# モジュールが未インストールの場合(初回のみ)
Install-Module -Name ExchangeOnlineManagement

# Exchange Online へ接続
Connect-ExchangeOnline -UserPrincipalName 管理者アカウント@ドメイン

接続後、ユーザーやグループの属性情報を確認・変更できる状態になります。


一括修正の準備:CSVファイルの作成

一括修正を行う前に、変更対象ユーザーの情報をまとめたCSVファイルを準備します。以下はCSVのサンプルです。

UserPrincipalName,DisplayName,Department,SeniorityIndex,Manager
t.tanaka@example.com,田中 太郎,第一営業課,10,manager1@example.com
y.suzuki@example.com,鈴木 優子,第二営業課,15,manager2@example.com
  • UserPrincipalName:対象ユーザーのログインID
  • DisplayName:新しい表示名
  • Department:所属部署名(表示目的)
  • SeniorityIndex:アドレス帳での並び順
  • Manager:直属の上司のメールアドレス

PowerShellで一括修正を実行するスクリプト

以下のスクリプトを用いて、一括で修正を実行できます。

# 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は即時反映されないため、ユーザーからの問合せがある前に周知しておくとスムーズです。
  • 構成ミスのリスク回避:事前に対象ユーザーの情報をエクスポートし、変更前後で差分を比較するのがおすすめです。
  • 定期運用:四半期や半期ごとにHAB更新用のテンプレートを準備しておくと効率的です。

まとめ

人事異動時の階層型アドレス帳(HAB)の更新作業は、Exchange OnlineのPowerShellを使えば一括で効率的に対応できます。

CSVを活用したスクリプトによって、部署変更・表示順・上司設定をミスなく行えるため、手動でのGUI操作よりはるかに正確かつ迅速です。

定期的なメンテナンスや運用設計をあらかじめ行っておくことで、異動シーズンの業務負担を大幅に軽減できます。ぜひ今回ご紹介した方法を活用して、Exchange管理をさらにスマートに進めてください。

タイトルとURLをコピーしました