A cloud-based service included in Microsoft 365, delivering scalable messaging and collaboration features with simplified management and automatic updates.
Hello Henry Swaile, thank you for reaching out to the Q&A Forum.
Firsly, please identify where the object is managed and what recipient type it is by running:
Connect-ExchangeOnline
Get-Recipient -Identity ******@domain.com | Format-List Name,RecipientType,RecipientTypeDetails,HiddenFromAddressListsEnabled
If Get-Recipient returns a result, then the object still exists in Exchange Online and you can either hide it from the address lists using the steps in official article, or remove the recipient entirely from the tenant if you don’t need to keep it anymore (for example, when the mailbox/data is no longer required). If you still need to retain mailbox data, consider converting to a Shared Mailbox and applying your organization’s retention/hold policy before deletion. Reference: Manage address lists in Exchange Online
If you cannot hide/remove the object from Exchange Online and you see a “write scope / synchronized from on‑premises” message, that might indicate the recipient is still directory-synchronized (Entra/AAD Connect). You can also confirm whether the object is still synced by checking Entra Admin Center > Users > (select user) > On‑premises sync enabled (if it’s “Yes”, it’s still DirSync). In that case, the “hide from GAL” change must be made on‑premises (because Exchange Online treats key recipient properties as read-only for synced objects), you may find this thread helpful: Hide mailbox from GAL - Office 365 and AD On-premise Or follow steps in this article Hiding Users from the Exchange Online GAL in Hybrid Environments (msDS-CloudExtensionAttribute1 or msExchHideFromAddressLists)
Note: This information is provided as a convenience to you. These sites are not controlled by Microsoft, and Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please ensure that you fully understand the risks before using any suggestions from the above link.
After you apply changes and run/allow sync, wait ~15–60 minutes and verify with: Get-Mailbox -Identity "former******@domain.com" | Select HiddenFromAddressListsEnabled (You should see HiddenFromAddressListsEnabled as $true once the hide setting has applied.)
If the object is already hidden/removed online but users still see it in Outlook desktop, it’s commonly due to Offline Address Book (OAB)/cache. A quick validation is to search the address book in Outlook on the web (OWA) first; if OWA is correct but Outlook still shows the old entry, force an OAB refresh in Outlook: File > Account Settings > Download Address Book. Additionally, Outlook may still suggest old recipients from AutoComplete; users can remove the cached suggestion (click the X next to the suggested name) and try again.
Finally, if the “recipient” is actually a Mail Contact (external contact) rather than a mailbox, you can remove it using the supported cmdlet: Remove-MailContact -Identity "Display Name or email" You can also reference Microsoft’s guidance on managing mail contacts in Exchange Online How do you know these procedures worked?
Hope this info is helpful.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.