Exchange Online において作成したアドレス一覧に受信者が表示されない
※2019 年 6 月 7 日 Update-Recipient コマンドが実装されていることについて更新しました。
Exchange Online 環境において、受信者フィルターを使用してアドレス一覧を作成した場合、フィルターの条件に一致するユーザーが表示されない問題が発生する場合があります。
例えば、既存のユーザーに対して、国や地域をフィルタ条件とするアドレス帳をそれぞれ作成するとします。
そして、下記の通りに Exchange にメールボックスを持ち、住所が米国のユーザーのアドレス一覧を作成します。
New-AddressList -Name "Address List USA" -RecipientFilter { (RecipientTypeDetails -eq "UserMailbox") -and (CountryOrRegion -eq "United States")}
しかし、このアドレス帳を作成した後にいくら時間が経っても上記フィルターに当てはまるユーザーがアドレス帳に表示されません。
現時点の動作として、Exchange Online では、アドレス帳にオブジェクトを反映させるためには何等かの属性の更新を行う必要がございます。
この場合、設定を更新しても影響の無い値 として、例えば受信者の CustomAttribute 等の値を更新することによって、反映の処理を行っていただいております。
実行例 1:全てのユーザーメールボックスに対して、属性値の更新を行います。
Get-Mailbox -ResultSize unlimited -RecipientTypeDetails usermailbox | Set-Mailbox -CustomAttribute15 $null
実行例 2 : フィルターの条件に当てはまる受信者のみに対して設定を行います。
Get-Recipient -ResultSize unlimited -RecipientTypeDetails usermailbox | ? {$_.CountryOrRegion -eq "United States"} | Set-Mailbox -CustomAttribute15 $null
受信者の更新を実施した後、下記の通りにアドレス帳に受信者が表示されます。
既存のオブジェクトに対しては、このような更新処理が必要となってきますが、上記のアドレス帳を作成した後に新規で作成されるオブジェクトに関しましては必要ございません。
今回の例では、米国に住所を持つ新しいユーザーを作成する場合は、作成後にアドレス帳に反映されます。
このことから、可能な限りアドレス帳はオブジェクトの作成前に作成いただく方が、オブジェクト更新の手間が省けます。
(2019/06/07 追記)
現在の Exchange Online においては、オンプレミス Exchange と同様に Update-Recipient コマンドが導入されました。
このため、アドレス帳にオブジェクトを反映させるためには以下のいずれかの対処をご実施ください。
・対象オブジェクトの何等かの属性の更新する
・対象オブジェクトに対して Update-Recipient コマンドを実行する
実行例 1:全ての受信者オブジェクトに対して、Update-Recipient を行います。
Get-Recipient -ResultSize unlimited | foreach {Update-Recipient -Identity $_.Identity}
実行例 2 : フィルターの条件に当てはまる受信者のみに対して Update-Recipient を行います。
Get-Recipient -ResultSize unlimited | ? {$_.CountryOrRegion -eq "United States"} | foreach {Update-Recipient -Identity $_.Identity}
- Active Directory 同期ユーザーについて
DirSync にて ユーザーを Active Directory 同期ユーザーとして管理している場合は、Exchange Online 側で (EAC 及び リモート Powershell にて) 属性値の更新を行うことができません。
その為、オンプレミスの Active Directory側にて、属性値を更新し、同期処理を実行させます。
下記の例では、Exchange Online のCustumAttribute15 に同期される、extentionAttribute15 に値を入力しています。
- 補足情報
Exchange Server 2013 のオンプレミス環境では、Update-AddressList という PowerShell コマンドが存在し、指定するアドレス一覧に含まれる受信者を更新する方法がございます。
コマンド: Update-AddressList <アドレス帳名>
実行例: Update-AddressList "Address List USA"
しかしながら、ExchangeOnline では一度に大量の処理が実行されることによるサーバーやネットワークへの高負荷を考慮し、現時点では各テナント管理者によって当コマンドは実行できないように制限されております。
そのため、今回の作業を実施していただく必要がございます。
- 参考URL
TITLE: アドレス一覧を管理する
URL: https://technet.microsoft.com/ja-JP/library/jj983798(v=exchg.150).aspx
TITLE: アドレス一覧の更新
URL: https://technet.microsoft.com/ja-jp/library/aa996375(v=exchg.150).aspx