We help IT Professionals succeed at work.

add 200 aliases to 1 exchange online account quickly

dougdog
dougdog asked
on
96 Views
Last Modified: 2018-09-26
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

Saif ShaikhServer engineer
CERTIFIED EXPERT

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
CERTIFIED EXPERT

Commented:
To check current exchange mailbox aliases:

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

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.

Author

Commented:
so how would i do this for 100s
Set-Mailbox mailboxname -EmailAddresses @{Add='alias@somedomain.co.uk'}
Server engineer
CERTIFIED EXPERT
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION

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
CERTIFIED EXPERT

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
CERTIFIED EXPERT

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?
Saif ShaikhServer engineer
CERTIFIED EXPERT

Commented:

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