Solved

Migrate to 2010 Exchange, Distribution groups wrong.

Posted on 2010-08-16
22
2,364 Views
Last Modified: 2012-08-14
We recently migrated over about 500 mailboxes to Exchange 2010 from another domain.

Some of the users have set up their own distribution lists on the old exchange server.  While they were brought over, any internal names are still trying to access the mailboxes by the name of their location in the old exchange server.

Is there any way to automate updating these lists? I am sure we could just delete and recreate, or even export, fix, import, but both of these would take days with all these users.

Thanks for any suggestions.
0
Comment
Question by:TacoFlavoredKisses
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 12
  • 10
22 Comments
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33446643
What are these DLs? Were they in the old GAL or were they within user's Contacts folders within their mailboxes? (Personal DLs)?

Have these DLs been migrated over and if so how?
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33446735
They were in the users Contacts folders.

We did an exmerge of the data from the old exchange server to the new one.  I am not sure if these DLs would have been included in that or if not.  I assume so unless the users exported and imported them.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33447253
I am sure exmerge would of copied them over. What do these DLs contain? Other contacts from the users Contacts folder or contacts and mailboxes from the GAL?
0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33449547
The DLs contain both internal and external addresses.  All the external ones go out without issue.  The internal ones bounce, saying of course they can not find the mailbox at the location they were on the old mail server.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33449647
Import the old legacyExchangedn values of the mailboxes onto the new mailboxes as X500 email addresses then then DLs will work and replying to old emails.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33452892
Here is a link to a script that will make your life a lot easier:

http://blogs.technet.com/mbaher/archive/2008/02/17/auto-complete-reply-ability-i-need-my-x500.aspx 
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33512205
That script looks great, and I have exported the aliases and x400 addresses from 2003 exchange.

When I try to import them into 2010 however I get an error:
Property 'EmailAddresses' cannot be found on this object; make sure it exists and is settable.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33512300
I think the script needs slight modification to work on Exchange 2010, try the one below
Import-CSV d:\sbs.csv | foreach { 
$Temp = Get-Mailbox -identity $_.alias 
$Temp.EmailAddresses += “X500:” + $_.legacyexchangedn 
set-mailbox -identity $Temp -EmailAddresses $Temp.EmailAddresses}

Open in new window

0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33513278
Property 'EmailAddresses' cannot be found on this object; make sure it exists and is settable.
At C:\cax.ps1:3 char:7
+ $Temp. <<<< EmailAddresses += "X500:" + $_.legacyexchangedn
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : PropertyAssignmentException

Cannot process argument transformation on parameter 'Identity'. Cannot convert the "System.Collections.ArrayList" value
 of type "System.Collections.ArrayList" to type "Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter".
    + CategoryInfo          : InvalidData: (:) [Set-Mailbox], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Set-Mailbox
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33523351
Can you post the first 2 lines of your csv file?

If you try get-mailbox -identity <alias from file> does it return anything?
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33528685
alias,legacyexchangedn
auser,X400:c=US;a= ;p=STORE;o=Exchange;s=User;g=Alex;


Yes, If I put that in it does work.
Name                      Alias                ServerName       ProhibitSendQuota
---                      -----                ----------       -----------------
Alex User              auser              comex14         unlimited
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33529201
That's not a legacyExchangeDN

legacyExchangeDN's look like this:
/o=Orgname/ou=AdminGroup/cn=Recipients/cn=MbxName

Find AUser's with ADSIEDIT and then put it in the file and it should work
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33539045
I misunderstood the article.  I think I've got it now.  Will test this out tomorrow.  Thanks.
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33541899
Alright, trying to import the correct values now, but still getting the error:


Property 'EmailAddresses' cannot be found on this object; make sure it exists and is settable.
At C:\cax.ps1:3 char:7
+ $Temp. <<<< EmailAddresses += "X500:" + $_.legacyexchangedn
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : PropertyAssignmentException

Cannot process argument transformation on parameter 'Identity'. Cannot convert the "System.Collections.ArrayList" value
 of type "System.Collections.ArrayList" to type "Microsoft.Exchange.Configuration.Tasks.MailboxIdParameter".
    + CategoryInfo          : InvalidData: (:) [Set-Mailbox], ParameterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Set-Mailbox
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33542131
try it with just 2 lines in your .csv file:
1.) the header line (alias, legacyexchangeDN)
2.) alias and legacyexchangedn of the mailbox

can you post the first 2 lines of your csv file again please?
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33542189
Does the object you are trying to add the X500 address to have e-mail addresses?

If you type
get-mailbox -identity auser |fl DislayName,Alias,EmailAddresses

does it return value for DisplayName, Alias & EmailAddresses?
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33542296
[PS] C:\>get-mailbox -identity auser |fl DislayName,Alias,EmailAddresses


Alias          : auser
EmailAddresses : {SMTP:UserA@domain.org}
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33542388
sorry that should of been DisplayName

Are you typing in the script manually into EMS or have you created a .ps1 file? It should work either way, I have tested it both ways and it is adding X500 addresses to my test mailboxes...
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33542562
We tried a ps1.

If we use the following just typing it in it works:

$Temp = Get-Mailbox auser
$dn = "LDAP://" + $Temp.distinguishedname;
$obj = [ADSI]$dn;
$obj.ProxyAddresses +=  “X500:” + thepath
$obj.setinfo()
0
 
LVL 1

Author Comment

by:TacoFlavoredKisses
ID: 33542734
Nevermind.  It did not error, but I don't see the value in ADSIEdit
0
 
LVL 31

Accepted Solution

by:
MegaNuk3 earned 500 total points
ID: 33542827
paste this code into say AddX500.ps1 put it in directory called maybe c:\X500

Change the path to the .csv file in the first line so it matches where your. csv file is, maybe put it in c:\X500 too

then open EMS on Exchange 2010 and type
c:\x500\AddX500.ps1
then press enter
you shouldn't get any errors
then do
get-mailbox -identity auser |fl DisplayName,Alias,EmailAddresses
and the user should now have an X500 address, do they not?
Import-CSV d:\sbs.csv | foreach { 
$Temp = Get-Mailbox -identity $_.alias 
$Temp.EmailAddresses += “X500:” + $_.legacyexchangedn 
set-mailbox -identity $Temp -EmailAddresses $Temp.EmailAddresses}

Open in new window

0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 33574147
Thanks for the points, did the script work and resolve your distribution list issue?
0

Featured Post

Has Powershell sent you back into the Stone Age?

If managing Active Directory using Windows Powershell® is making you feel like you stepped back in time, you are not alone.  For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you have clients or friends from around the world, it becomes a challenge to arrange a meeting or effectively manage your time. This is where Outlook's capability to show 2 time zones in one calendar comes in handy.
A list of top three free exchange EDB viewers that helps the user to extract a mailbox from an unmounted .edb file and get a clear preview of all emails & other items with just a single click on mailboxes.
In this video we show how to create a mailbox database in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Servers >> Data…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question