• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2506
  • Last Modified:

How to add additional SMTP address and make it the primary SMTP address

I'm trying to add or in some cases just change the primary SMTP (format= samaccountname@domain.com) for certain mailboxes. I have a file that has these mailboxes. The script that I'm including here works; it adds the SMTP address in the format that I want and makes it the primary SMTP. However, it wipes all the other SMTP addresses; I don't want to wipe anything. I simply want to add/change the primary SMTP while leaving all other SMTP accounts intact.
# source TXT file contains SAMACCOUNTNAMES
$users = Get-Content -Path 'C:\users.txt'

foreach($user in $users){

	Set-QADUser -Identity $user -IncludedProperties proxyAddresses -ObjectAttributes @{proxyAddresses="SMTP:"+$user+"@domain.com"}
	
	}

Open in new window

0
bndit
Asked:
bndit
1 Solution
 
Rant32Commented:
Manually setting the SMTP proxy addresses may get your changes overwritten by the Email Address Policy.

You need a higher-priority EAP to set a new Reply address. Set up the recipients and Conditions such that only these users are affected by the EAP.
0
 
bnditAuthor Commented:
Thx for the feedback. I'll definitely look into the policy. But for the sake of this answer, I would still like to know how to add the smtp address.
0
 
jimmyray7Commented:

Open AD users and computers. select the user and view properties.

Select the email addresses tab, click add, select SMTP address, type the new email and hit okay.

Select the new address and click 'set as primary'.

All set!
0
 
bnditAuthor Commented:
@jimmyray - obviously you missed the whole Powershell part of my question. Read it again.
0
 
soostibiCommented:
Try this:
# source TXT file contains SAMACCOUNTNAMES  
$users = Get-Content -Path 'C:\users.txt'  
  
foreach($user in $users){  
        $addresses = (Get-QADUser $user -IncludedProperties proxyaddresses).proxyaddresses | 
            %{if($_ -ilike "SMTP:*"){$_ -replace "SMTP:","smtp:"}else{$_}}
        $addresses = @($addresses) + "SMTP:$user@domain.com"
        Set-QADUser -Identity $user -ObjectAttributes @{
                EmailAddressPolicyEnabled = $false; 
                proxyAddresses=$addresses
              }  
        }

Open in new window

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now