Link to home
Start Free TrialLog in
Avatar of dougdog
dougdog

asked on

add 200 aliases to 1 exchange online account quickly

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?
Avatar of Saif Shaikh
Saif Shaikh
Flag of India image

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

Set-Mailbox mailboxname -EmailAddresses @{Add='alias@somedomain.co.uk'}
To check current exchange mailbox aliases:

Get-Mailbox mailboxname | select -expand emailaddresses alias
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.
Avatar of dougdog
dougdog

ASKER

so how would i do this for 100s
Set-Mailbox mailboxname -EmailAddresses @{Add='alias@somedomain.co.uk'}
ASKER CERTIFIED SOLUTION
Avatar of Saif Shaikh
Saif Shaikh
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of dougdog

ASKER

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"
Avatar of dougdog

ASKER

just checking what my csv file should contain
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
Avatar of dougdog

ASKER

i have 1 mailbox name and 180 aliases
im confused what the text file should look like
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.
Avatar of dougdog

ASKER

could you give me an example of what the text file should look like?
Avatar of dougdog

ASKER

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