Delete events in resource calendars

Recently, as part of a tenant-to-tenant migration, I ran into a problem where a customer had included all of their resource calendars (conference rooms, reservable equipment) in calendar migrations.

Unfortunately, once you’re no longer in the source tenant, you don’t have a way to cancel the meetings.… [ Continue reading ]

Using AuthoritativeNull to overwrite an msExchMailboxGuid

While working on a unique tenant-to-tenant migration, we were going to be synchronizing a significant number of identities that had already been hybrid moved to a tenant from an on-premises Exchange organization.

Since they had existing values in msExchMailboxGuid, there was a likelihood that they might not be synchronized as just user identities–even though they were set with the msExchRecipientDisplayType of 6 (RemoteMailUser) and msExchRecipientTypeDetails of 128 (MailUser). … [ Continue reading ]

Automatically copy managers on email

Recently, I was working with someone who related an interesting requirement: for a certain group of users, add their managers to the Bcc field.

Here’s how you can do it:

  1. Depending on your Azure AD directory is populated, ensure that the users have a manager configured (either by editing the Manager field in your local Active Directory or by editing it in the Microsoft 365 admin center).
[ Continue reading ]

Blocking voicemail attachment delivery

Today, I was approached by a peer with a particularly interesting situation–blocking a particular type of system-generated message from hitting the mailbox.  In particular, a voicemail.

Background

Voicemail messages in Exchange Online / Teams Phone world are delivered via email to the recipient’s mailbox and generally include the voicemail as an audio attachment in addition to a transcription of the message. … [ Continue reading ]

Keep calm and SendAs a Proxy Address

I’m gonna channel the great Etta James:

Ok, I’m back.

I’ve been waiting for this feature for what seems like an eternity–the ability for a mailbox that has multiple proxy addresses to send from any of those addresses.

Background

As most of you probably know, a mailbox can have a whole lot of additional SMTP addresses associated with it (a mailbox can have up to 400 proxy addresses stamped on it). … [ Continue reading ]

Exchange Function to Test MRSProxy Endpoint Authentication

This week, I was helping someone troubleshoot authentication issues when hybrid migration mailboxes to Exchange Online.

In order to migrate a mailbox successfully, the EWS endpoint virtual directory should have NTLM/Negotiate authentication method available.

You can quickly see what the endpoint is showing available by using this function:

Function Test-MigrationEndpointAuthentication($Url)
{
  # Build URL
  $Url = $Url.TrimEnd('.').TrimEnd('/').TrimEnd('.')
[ Continue reading ]

What happens when an Office 365 customer doesn’t point to EOP as their MX?

I get asked this question quite frequently–usually by customers who want to continue using their existing on-premises antispam or antimalware gateway or want to attempt to implement a defense-in-depth strategy.

The graph and intelligence behind Exchange Online Protection (EOP) processes at least half a trillion (500,000,000,000) messages a month–the AI behind it is continually monitoring and learning what is spam and what is not.… [ Continue reading ]

Create a Catch-All Mailbox in Office 365

While working on a cross-tenant issue with a customer, I had the requirement minimize the number of non-delivery reports sent to external users.  I suggested the best way to do this might be a catch-all mailbox.

Background

What exactly is a catch-all mailbox? … [ Continue reading ]