Sometimes you get a sudden need to forward bulk users’ mail to external destination… in normal days, you would create a mail contact, then forward the selected user’s mail to the new external contact.
Now what if you got a large number of contacts to forward? well, you can either:
- Manually create all the required mail contacts, then assign each user to each contact.
- OR THE BETTER WAY: Use the magic of PowerShell!
This is a very simple and quick procedure…
First, you will need to create the contacts, which you can find how in the following post: PS: Creating bulk mail contacts
Then with another script, you will forward each user to his corresponding mail contact item:
Import-CSV "C:\ContactForward.csv" | Foreach{Set-Mailbox -Identity $_.LocalUser -ForwardingAddress $_.ForwardAddress -DeliverToMailboxAndForward $true}
You can either keep the attribute “-DeliverToMailboxAndForward $true” to keep a copy of the message in the original mailbox or remove it.… Read the rest “PS: Bulk forwarding mailboxes to external addresses”
Below is a useful script to create bulk contacts in Exchange Management Shell:
Import-CSV "C:\NameList.csv" | Foreach{New-MailContact -Name $_.Name -ExternalEmailAddress $_.ExternalAddress}
You need to have the following prepared before you use the script:
- A CSV file contains 2 headers: Name, ExternalAddress, with all the contacts list that you want to create.
- Save the CSV file in C:\ (to be completely complied with the script above, otherwise save it where you want, but make sure you specify it’s full path in the script above instead of “C:\NameList.csv”.
To make it a bit easier, here is the script ready, just open EMS and run it from there after you make sure the file is ready…