Home > Mobile >  Add SMTP Email Address and set as default, right after mailbox enabling as 365
Add SMTP Email Address and set as default, right after mailbox enabling as 365

Time:12-08

I have the following, working well, After connecting to Exchange 2016 ( On-premise ):

$username = Read-Host -Prompt "`n Please provide AD-USERNAME to Migrate";

Enable-RemoteMailbox -Identity $username -RemoteRoutingAddress($username '@MYORG.mail.onmicrosoft.com')

sleep 30

Get-RemoteMailbox $username|Set-RemoteMailbox -EmailAddressPolicyEnabled:$true

What i need to do now, is to set the a NEW smtp address per each mailbox that is created using that syntax.

In a diffrent script, i used something like the following to add additional SMTP`s and set them as default for mailboxes:


    Set-RemoteMailbox $username -EmailAddresses @{add="$smtp"}
    Set-RemoteMailbox $username -EmailAddressPolicyEnabled $false -PrimarySmtpAddress "$smtp"

Not sure, thats going to work here the same way, amyeb something more of that sort?

Get-RemoteMailbox $username| Set-RemoteMailbox $username -EmailAddresses @{add=$username '@MYORG.com'}

Well im not sure where to go from here with the syntax to do what i need...would love some help.

Thanks in advance, everyone !

CodePudding user response:

As you are in a hybrid On-Prem and Cloud Exchange environment, and you wish to add a new email address alias to an existing on-prem mailbox, the below is how its done.

Set-RemoteMailbox cmdlet - configures Exchange attributes for an on-premises mail user. The configuration set on the on-premises mail user is synchronized to its associated mailbox in the service.

Get-RemoteMailbox cmdlet retrieves the mail-related attributes of a mail user in the on-premises Active Directory. It doesn't retrieve the attributes of the associated cloud-based mailbox. Most of the mail-related attributes of the on-premises mail user and the associated cloud-based mailbox should be the same. However, the cloud-based mailbox has additional attributes that you can't view by using this cmdlet.

Example Script to Add a New SMTP Address To Existing Mailbox

$users = ("user1", "user2")
foreach ($user in $users) {
    $smtpdomain = "@MYORG.mail.onmicrosoft.com" # domain name
    $username = $user.ToString() # user name to string 
    $emailadd = $username   $smtpdomain # String the user's prefix and new suffix together
    $emailadd = $emailadd.ToString() # email address to string
    Get-RemoteMailbox $user | Set-RemoteMailbox -EmailAddresses @{add=$newSMTP} # add email address
}

Use Exchange Online PowerShell to add email addresses to multiple mailboxes adding two strings together

CodePudding user response:

We`ve solved the issue internally by adding -PrimarySmtpAddress To the initial Enable-RemoteMailbox string, and by removing EmailAddressPolicyEnabled:$true Alltogether.

$username = Read-Host -Prompt "`n Please provide AD-USERNAME to Migrate";

Enable-RemoteMailbox -Identity $username -RemoteRoutingAddress($username '@MYORG.mail.onmicrosoft.com') -PrimarySmtpAddress($username '@MYORG.com')

sleep 30

## Removed ## >> Get-RemoteMailbox $username|Set-RemoteMailbox -EmailAddressPolicyEnabled:$true

I appreciate everyone`s effort. Thanks.

  • Related