Exchange と Office 365 のグローバル アドレス一覧からユーザーとグループを隠す方法

Exchange GAL (グローバル アドレス一覧) からユーザーまたはグループを非表示にする方法

特定のユーザーまたはグループが GAL に表示されているのに、実際には表示すべきでないと、面倒な場合があります。サービス アカウント、テスト アカウント、または秘密にしておきたいランダムな配布グループなど、それらをアドレス帳から非表示にすると、作業が楽になります。問題は、Exchange Online (Microsoft 365) を使用しているか、ローカルのオンプレミス セットアップを使用しているかによって、手順が必ずしも明らかではなく、同期プロセスがうまく機能しないことがあることです。そのため、このガイドでは、他のユーザーに効果があった方法と見逃してはならない方法を少し寄せ集めにしています。あなたが本当に求めているのは、ユーザーまたはグループを非表示にして、Outlook アドレス検索でポップアップ表示されないようにする信頼性の高い方法です。特に大規模な組織では、変更が反映されるまでに少し時間がかかり、再起動や再同期が必要になる場合があります。常に完璧ではありませんが、これらの調整を行うことで、可視性をより適切に制御できます。

Exchange または Office 365 GAL からユーザーとグループを非表示にする方法

まず、Exchange Online とオンプレミスの両方のセットアップで、新しいユーザーとグループはアドレス一覧に自動的に表示されます。一部のアカウントが表示されるのが嫌で、全員に表示したくない場合は、 EAC (Exchange 管理センター) の [アドレス一覧に非表示にする] チェックボックスを使用するのが通常最も簡単な方法です。ただし、大規模なプロジェクトの場合、またはコマンドラインを好む場合は、PowerShell が主役です。基本的には、HiddenFromAddressListsEnabled属性を切り替えることです。これを行うと、GAL の更新後にオブジェクトは Outlook、OWA、またはその他のクライアント アプリに表示されなくなります。これが役立つ理由は、Set-Mailbox -Identity jsmith -HiddenFromAddressListsEnabled $trueそのメールボックスに非表示のフラグを設定するためです。一部のマシンでは、特に組織に大量のキャッシュ データがある場合、これが GAL に表示されるまでに最大 1 日かかることがあります。他のマシンでは、クイック更新または GAL の再構築によって処理が高速化されることがあります。すべての非表示のメールボックスを表示するには、次のコマンドを実行します。powershell Get-Mailbox -ResultSize Unlimited | Where {$_. HiddenFromAddressListsEnabled -eq $true} | DisplayName、UserPrincipalName、HiddenFromAddressListsEnabled を選択します。 同様に、連絡先またはグループを非表示にする場合も、次のような同様のコマンドを使用します。 powershell Set-MailContact ext24Support -HiddenFromAddressListsEnabled $true Set-DistributionGroup global_support -HiddenFromAddressListsEnabled $true Set-DynamicDistributionGroup nySales -HiddenFromAddressListsEnabled $true Set-UnifiedGroup groupname1 -HiddenFromAddressListsEnabled:$true これをオンにした後、GAL の更新スケジュールによっては、変更が反映されるまでに時間がかかることがあります (通常は最大 24 時間)。 場合によっては、強制的に更新するか Outlook を再起動すると、処理が高速化されることがあります。 GAL で非表示になっているユーザーを確認するには、次のコマンドを実行します。 powershell Get-Recipient -ResultSize unlimited -Filter ‘HiddenFromAddressListsEnabled -eq $true’ リストを CSV にエクスポートするには、次のコマンドを実行します。 powershell Get-Recipient -RecipientPreviewFilter $filter | Where-Object {$_. HiddenFromAddressListsEnabled -ne $true} | Select-Object Name, PrimarySmtpAddress, Phone | Export-CSV c:\ps\GAL_except_hidden.csv –NoTypeInformation 便利なトリック:スクリプトを使って無効なメールボックスを自動的に非表示にしておくと、特に非アクティブなユーザーが多数いる場合は、後々の手間が省けます。例えば、powershell $mailboxes = get-user | where {$_. UserAccountControl -like ‘*AccountDisabled*’ -and $_. RecipientType -eq ‘UserMailbox’ } | get-mailbox | where {$_. HiddenFromAddressListsEnabled -eq $false} foreach ($mailbox in $mailboxes) {Set-Mailbox -HiddenFromAddressListsEnabled $true -Identity $mailbox} —

ユーザーが Azure AD Connect 経由で Active Directory から同期されている場合はどうなりますか?

ここが少し厄介なところです。メールボックスがクラウドホストされているものの、ユーザーアカウントがオンプレミスのADから同期されている場合、 Office 365でHiddenFromAddressListsEnabledを直接変更しても機能しません。オブジェクトがオンプレミスで管理されているため、スコープ外であるというエラーが表示されます。これは、属性がローカルADから同期されているため、まずローカルADでアカウントを非表示にする必要があるためです。修正するには、PowerShellを使用して、ローカルActive DirectoryでmsExchHideFromAddressLists属性を次のように設定します。powershell Set-ADUser jsmith -Add @{msExchHideFromAddressLists=”TRUE”} その後、同期サイクルを待ちます。通常、属性がAzureに同期されると、ユーザーはGALで非表示になります。まだ非表示になっていないユーザーを確認するには、次のコマンドを実行します: powershell Get-ADUser -Filter {(enabled -eq “false”) -and (msExchHideFromAddressLists -notlike “*”)} -Properties enabled, msExchHideFromAddressLists 注: AD が Exchange 属性で構成されていない場合は、スキーマ拡張が必要になる可能性があります。これは設定が面倒な場合があります。 —

アドレス帳の配布グループメンバーシップからユーザーを非表示にする方法

デフォルトでは、配布グループのメンバー一覧は誰でも閲覧できます。一部のグループのメンバーシップを非表示にしたい場合(例えば、重要なメンバーを非表示にしたい場合)、 Active Directory のhideDLMembership属性を切り替えることができます。手順は以下のとおりです。Active Directory ユーザーとコンピューター を開き( を実行dsa.msc)、*表示* メニューで 高度な機能 を有効にして、手動でグループを検索します(自動検索は使用しないでください。自動検索では属性が表示されません)。次に、[属性エディター]タブに移動し、hideDLMembership を見つけて、その値をTrueに変更します。保存して待機してください。この変更は、Exchange が GAL を更新した後にのみ有効になります。更新には数時間以上かかる場合があります。 GUI を使用する代わりに、PowerShell を使用して設定することもできます: powershell Set-ADGroup –id yourgroupname -replace @{hideDLMembership=$true} この属性が有効な場合、Outlook または OWA でグループを展開してもメンバーが表示されなくなり、展開しようとすると次のエラー メッセージが表示されます: 「要求された操作を実行できません。選択されたコマンドはこの受信者に対して無効です。」 —

まとめ

GAL に表示される内容を調整するのは、特に混合環境の場合は必ずしも簡単ではありません。通常はPowerShell でHiddenFromAddressListsEnabled属性を切り替えることで解決しますが、更新は即時に反映されないため、忍耐が重要です。AD から同期されているオンプレミスユーザーにとっては、Active Directory の属性こそが真の決定打となります。これらのヒントが、組織のアドレス帳を整理する際のストレスを軽減し、混乱を解消するのに役立つことを願っています。

  • GAL の更新後に変更が保持されるかどうかを確認します。
  • 一括非表示には PowerShell を使用します。
  • 大規模な組織では、更新が伝播するまでに時間がかかる場合があることに注意してください。