Skip to content

Instantly share code, notes, and snippets.

@michevnew
Last active August 8, 2020 11:15
Show Gist options
  • Save michevnew/aead9bb688f0164036e21de47dcf90ea to your computer and use it in GitHub Desktop.
Save michevnew/aead9bb688f0164036e21de47dcf90ea to your computer and use it in GitHub Desktop.
Bulk remove proxy addresses matching a pattern
$mailboxes = Get-Mailbox | Select-Object Alias,ExchangeGuid,Emailaddresses
foreach ($mailbox in $mailboxes) {
$aliases = $mailbox | select -ExpandProperty EmailAddresses | ? {$_.Split(":")[1] -notlike 'string*'}
if ($aliases.Count -eq $mailbox.EmailAddresses.Count) {continue}
if ($aliases | ? {$_ -cmatch "SMTP:"}) {
$emailaddresses = $aliases
}
elseif (!$aliases) { $emailaddresses = $("SMTP:" + $mailbox.Alias + "@" + (Get-AcceptedDomain | ? {$_.Default -eq $true}).Name) }
else {
$emailaddresses = ($aliases -join "," -replace "smtp:(?!.*smtp:)","SMTP:") -split ","
}
Set-Mailbox $mailbox.ExchangeGuid.ToString() -EmailAddresses $emailaddresses
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment