add 200 aliases to 1 exchange online account quickly

dougdog
dougdog used Ask the Experts™
on
i have around 200 aliases that i need to add to 1 exchange online account
how can i do this quickly without having to type each one manually?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Saif ShaikhServer engineer

Commented:
You can connect to O365 powershell with the tenant global admin credentials and run command:

Set-Mailbox mailboxname -EmailAddresses @{Add='alias@somedomain.co.uk'}
Saif ShaikhServer engineer

Commented:
To check current exchange mailbox aliases:

Get-Mailbox mailboxname | select -expand emailaddresses alias
Brian BEE Topic Advisor, Independant Technology Professional

Commented:
Building on what Saif said, when I have this type of problem, I put all the names/addresses in a list and paste it in to Excel. Then concatenate the rest of the text on to each line using copy and paste. Save it as a test file with a PS1 extension. Execute it in Powershell.

You could also use a "for... each" loop in powershell, but if it is a one-off task and you don't know Powershell very well, my idea works.
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Author

Commented:
so how would i do this for 100s
Set-Mailbox mailboxname -EmailAddresses @{Add='alias@somedomain.co.uk'}
Server engineer
Commented:
Hi,

Please download the script for the same from link: https://gallery.technet.microsoft.com/office/Over-200-aliases-da06ad0b

So as updated earlier by Brian put all the names/addresses in a list and paste it in to Excel. Then concatenate the rest of the text on to each line using copy and paste. Save it as a test file with email_addresses.txt

From power shell with admin right you need to run below command:

E.g.:
# .\Over_200_Aliases.ps1 -O365Admin admin@xxxxxx.onmicrosoft.com -O365AdminPassword Password123 -Mailbox_Name mailbox1 -Mail_Addresses_File_Path "C:\Temp\ExoVoice\email_addresses.txt"

Where
# O365Admin - Administrator login ID
# O365AdminPassword - Administrator login password
# Mailbox_Name - mailbox with more than 200 aliases
# Mail_Addresses_File_Path - the pathe where the file with initial addresses list is saved e.g. email_addresses.txt

Author

Commented:
ok so in my csv file do i have 2 columns
1 for the email address im updating column A and Colume B containing all the aliaises?

then open powershell from my computer and run the following command

# .\Over_200_Aliases.ps1 -O365Admin admin@xxxxxx.onmicrosoft.com -O365AdminPassword Password123 -Mailbox_Name mailbox1 -Mail_Addresses_File_Path "C:\Temp\ExoVoice\email_addresses.txt"

Author

Commented:
just checking what my csv file should contain
Saif ShaikhServer engineer

Commented:
Why do you need 2 columns. Just put all the names/addresses in a list and paste it in to Excel. Then concatenate the rest of the text on to each line using copy and paste. Save it as a test file with alias_addresses.txt

From power shell with admin right you need to run below command:

E.g.:
# .\Over_200_Aliases.ps1 -O365Admin admin@xxxxxx.onmicrosoft.com -O365AdminPassword Password123 -Mailbox_Name mailbox1 -Mail_Addresses_File_Path "C:\Temp\ExoVoice\alias_addresses.txt"

Where
# O365Admin - Administrator login ID
# O365AdminPassword - Administrator login password
# Mailbox_Name - mailbox with more than 200 aliases
# Mail_Addresses_File_Path - the pathe where the file with initial addresses list is saved e.g. email_addresses.txt

Author

Commented:
i have 1 mailbox name and 180 aliases
im confused what the text file should look like
Saif ShaikhServer engineer

Commented:
See the txt file will only have your new aliases updated in it.

Like john@contoso.com

This would be the new alias and when you save it and run the command by connecting to the Office 365 powershell it should update the new email address.

I would recommend first give it a try with only 1-3 alias names saved in it and then run the command: .\Over_200_Aliases.ps1

If it works and alias is updated on the O365 mailbox then you can update all 200 aliases in the txt file and then run the command again.

Author

Commented:
could you give me an example of what the text file should look like?

Author

Commented:
when i run number 3 command i get

annot bind argument to parameter 'Identity' because it is null.
    + CategoryInfo          : InvalidData: (:) [Set-Mailbox], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Set-Mailbox
    + PSComputerName        : outlook.office365.com

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial