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

How to change External SMTP Address for Mail Contacts in Exchange 2007

Hi there,

i have nearly 200 external Mail contacts on an exchange 2007. I need to change the external SMTP Adress from firstname.lastname@external.old to firstname.lastname@external.new by April 1st 00:00 hour. What would be the right powershell comand, when i use the customattribute1 as a filter?
Thanks in advance.
0
ok-disaster
Asked:
ok-disaster
4 Solutions
 
defkamelCommented:
0
 
ok-disasterAuthor Commented:
hey thanks,
it seems to go in the right direction.
BUT: how is it done to be the external email address?
I still have to open the external contact choose the mailaddress and klick on "use as external"
sorry got the exchange 2007 in german. so I do not know what it says in english
0
 
KevinBallCommented:
To change settings for a contact, you can use the powershell command Set-MailContact which can be used to alter pretty much every attribute.  The one you want is -ExternalEmailAddress
0
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

 
ok-disasterAuthor Commented:
could you please tell me what the command would be? unfortunately i am not so much into powershell commands ;-)
something like: Set-MailContact -Filter CustomAttribute1 -eq "test" -ExternalEmailAddress "%g.%s@external.new"
I tried this but it says that i cannot use filter with the set-mailcontact command
0
 
GusGallowsCommented:
I know you wanted this by April 1st, but I just didn't see it till now. If you still need the answer, try the following:

Not sure if this helps you now, but if not, maybe someone else will find it useful.
#Create a list of all mailcontacts where CustomAttribute1 = test
$mcontact = get-mailcontact | Where {CustomAttribute1 -eq 'Test'}
 
#go through the list one at a time
for ($i = 0; $i -le ($Contact.Length -1); $i +=1) 
{
#Get the firstname and lastname value from the contact record (not mailcontact)
$contact = get-contact $mcontact[$i]
$FN = $contact.FirstName
$LN = $contact.LastName
#Create the SMTP address based on the firstname and lastname
$eSMTP = "$FN.$LN@external.new"
#Set the ExternalEmailAddress to the new address
Set-MailContact $contact -ExternalEmailAddress $eSMTP
}

Open in new window

0
 
GusGallowsCommented:
DOh, just noticed an error. The following:
$mcontact = get-mailcontact | Where {CustomAttribute1 -eq 'Test'}
should read
$mcontact = get-mailcontact | Where {$_.CustomAttribute1 -eq 'Test'}
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

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