Partager via


Exchange サーバーのアドレス帳表示について

Exchange  サーバーでは、どのアドレス帳 (ここではグローバル アドレス一覧も含めます) に表示されるかどうかは、当該オブジェクト (ユーザー、グループ、連絡先等) の showInAddressBook 属性によって決定されます。この属性値については、ADSIEdit や ldifde などで直接確認いただくこともできますが、Exchange 2007 以降では以下のように Get-Mailbox の AddressListMembership というプロパティでも確認することができます。

 例: この例では、user01 は "既定のグローバル アドレス一覧"、"すべての会議室"、そして "すべてのユーザー" に表示されることになります。
 

この、どのアドレス帳へ表示するかの仕組み自体は、Exchange 2003、2007、そして 2010 でも同様となりますが、showInAddressBook を更新する動作については Exchange 2007 から変更されています。Exchange 2003 までは、受信者更新サービス (Recipient Update Service: RUS) で指定されたサーバーにて、常時、または指定した間隔で更新する動作でした。(処理自体は System Attendant サービスが行っています)

 例: 以下では、E2k3-1-A というサーバーが RUS を担っている状況です。
  

Exchange 2007 以降では、このサービスとしての RUS の動作は廃止されました。Exchange 2007 以降では、各オブジェクトの各種プロパティを変更するための管理コマンドレット (例えば、Set-Mailbox、Set-Contact  など) がございますが、これらコマンドレット  の 実行時に showInAddressBook  属性についても必要に応じて更新されるようになっています。

上記を踏まえて、アドレス帳に表示されない (または表示されるべきでないにも関わらず、表示される) といった事象について、いくつか注意事項をご案内いたします。

1. AD の複製遅延の影響
 showInAddressBook 属性の変更がドメイン コントローラ 間で複製されるまでは、アドレス帳の変更についても反映しない可能性があります。

2. Exchange 管理ツール以外にて属性を変更している
 例えば、AD 属性を直接編集するスクリプトやツール (ADSIEdit など) を使用して、アドレス帳の表示のためのフィルタに関わる属性を直接編集すると、Exchange サーバーによる showInAddressBook 属性の更新が行われないため、本来あるべき状態とならない可能性があります。

3. アドレス帳のフィルタに MemberOfGroup を使用している
 上述のとおり Exchange サーバーのコマンドレット実行時に showInAddressBook 属性も必要に応じて更新されますが、これはすべてのコマンドレットにて実行されるわけではありません。アドレス帳の RecipientFilter に MemberOfGroup  を使用することでグループのメンバーシップに基づいてアドレス帳に表示することが可能ですが、残念ながらグループへの追加や削除の際に使用する Add-DistributionGroupMember や Remove-DistributionGroupMember 実行時には、showInAddressBook 属性の更新は行われません。そのため、このような場合には、Exchange 管理ツールを使用してグループのメンバーシップ変更を実施しても、自動的には showInAddressBook 属性は更新されません。

上記の 2、3 のような場合には、以下のコマンドレットにて明示的に showInAddressBook 属性の更新を実行することで回避することができますので、必要に応じて使用をご検討ください。

    Update-Recipient、Update-GlobalAddressList、Update-AddressList

  なお、上記のコマンドレットを実行する対象ユーザー / アドレス一覧が多い場合もあるかと思いますので、すべてのユーザー / アドレス一覧に対して更新を適用するコマンドをそれぞれ案内させていただきます。

  ・すべてのユーザーに Update-Recipient コマンドを実行する
     Get-Mailbox | Update-Recipient

  ・すべてのアドレス一覧に対して Update-AddressList を実行する。
     Get-AddressList | Update-AddressList

  ・すべてのグローバル アドレス一覧に対して、Update-GlobalAddressList を実行する
     Get-GlobalAddressList | Update-GlobalAddressList

 

Update-Recipient
https://technet.microsoft.com/ja-jp/library/bb738148.aspx

Update-GlobalAddressList
https://technet.microsoft.com/ja-jp/library/aa998806.aspx

Update-AddressList
https://technet.microsoft.com/ja-jp/library/aa997982.aspx