Solved

I need to bulk create email forwarding on Exchange 2003

Posted on 2013-06-27
9
909 Views
Last Modified: 2013-07-23
I am migrating from an Exchange 2003 server to a new domain and need to enable about 4000 users to forward their emails to a new email address. I am able create the contacts \I just need to create the forwards from a csv file. Any help would do.
0
Comment
Question by:charles_cuerrier
  • 3
  • 3
  • 3
9 Comments
 
LVL 12

Expert Comment

by:SreRaj
ID: 39283708
Hi,

You could try using ADModify to establish this. Please refer the following article which shows how to modify Exchange attributes using ADModify.

http://www.msexchange.org/articles-tutorials/exchange-server-2003/tools/ADModify-Change-Exchange-Specific-AD-User-Attributes.html
0
 
LVL 14

Expert Comment

by:Radweld
ID: 39283746
What you should do is configure Exchange 2010 and 2003 for co-existence and then use native Exchange 2010 tools to help you with the migration.

The general process I would follow would be to

1: Export the GAL from legacy domain using CSVDE
2: Cleanup the export and change the UPN's, Email address etc.
3: Import the CSV into the Exchange 2010 organisation as contacts. These contacts have a primary SMTP email address of the mailbox in the source domain.
4: Run the PrepareMoveRequest.ps1 exchange script to stamp the source account GUID to the target account (don't use ADMT)
5: Migrate mailbox, the process will convert the source account into a contact and convert the target account into a mailbox.

It's all here http://blogs.technet.com/b/meamcs/archive/2011/06/10/exchange-2010-cross-forest-migration-step-by-step-guide-part-i.aspx
0
 
LVL 14

Expert Comment

by:Radweld
ID: 39283817
Some additional notes from the last time I did this.

1.

Either use ADMT or Bulk create new User accounts, you can use the CSV to do this in the instructions below.

2.

In SOURCE a create an CSV export file of all the users
csvde -l displayName, samAccountName, mailNickname, mail - -r "objectclass=user" -f c:\2003_Mailboxes.csv

Open in new window

3.

Edit the CSV file created above; delete all built in accounts and domain accounts with mailboxes that are not to be migrated, rename the headers in the CSV file to match the input values used by the Import-CSV Exchange Management Shell cmdlet.

Change DisplayName to Name
Change samAccountName to Identity
Change mailNickname to Alias
Change mail to EmailAddress

Now is a good opportunity to edit the CSV file and remove invalid characters from the Alias field and bulk set all the accounts to use @TargetNameSpace to enable cross forest routing.

4.

In Target, import the CSV to mail enable the previously migrated user accounts
Import-CSV C:\2003_Mailboxes.csv | ForEach-Object -process {Enable-MailUser -ExternalEmailAddress $_.EmailAddress -Alias $_.Alias -Identity $_.Identity}

Open in new window

5.

Prepare Target users for mailbox move using the Prepare-Moverequest.ps1 script provided by Microsoft

$LocalCredentials = Get-Credential (Admin account in the Target Domain)
$RemoteCredentials = Get-Credential (Admin Account in the Source Domain)

Import-CSV C:\2003_Mailboxes.csv | ForEach-Object –process {Prepare-MoveRequest.ps1 -Identity $_.Identity -RemoteForestDomainController source-dc.source.local -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC.SOURCE.LOCAL -LocalForestCredential $LocalCredentials -UseLocalObject}

Open in new window

6.

Move Mailboxes
$RemoteCredentials = Get-Credential

New-MoveRequest -Identity 'username' -RemoteLegacy -TargetDatabase "Mailbox Database 1" -RemoteGlobalCatalog DC.SOURCE.LOCAL -RemoteCredential $RemoteCredentials -TargetDeliveryDomain target.local'

Open in new window


7.

To verify the progress of a submitted move request, use the following
Get-MoveRequestStatistics 
Get-MoveRequestStatistics -MoveRequestQueue "mailbox database name"

Open in new window

8.

To move multiple mailboxes in a single request, and using the CSV file created previously.
[$RemoteCredentials = Get-Credential
Import-CSV C:\2003_Mailboxes.csv | ForEach-Object –process {New-MoveRequest -Identity $_.Identity -RemoteLegacy -TargetDatabase " Mailbox Database 1 " -RemoteGlobalCatalog 'source-dc.source.local' -RemoteCredential $RemoteCredentials -TargetDeliveryDomain 'target.local'

Open in new window

9.

Once the mailbox has been moved, the users Outlook profile will require modification in order to re-connect them to the target exchange organisation.
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!

 

Author Comment

by:charles_cuerrier
ID: 39294540
Since we need to keep the old Exchange 2003 running after the migration ADModify seems to be the best bet. My question for this would be how to put a wildcard setting to take the forwarding address from a CSV or have it set up as firstinitial + lastname @domain.com
0
 
LVL 12

Expert Comment

by:SreRaj
ID: 39295776
You need to enable the option 'Set Alternate Recipient To' and type in the Distinguished Name of the contact object. You can use variable %'givenName'% for first name and %'sn'% for lastname. So if contact is having a display name 'SecondName, FirstName [TestDomain]', you can refer it as %'sn'%, %'givenName'% [TestDomain]

Please refer following screenshot for example.

ADModify
0
 

Accepted Solution

by:
charles_cuerrier earned 0 total points
ID: 39296797
SreRaj,
Your solution seems to be the best and I can do it for an individual by manually entering givenName sn but when I use the %'sn'%, %'givenName'% it says that the DN entered is not valid. There is no such object on the server.
My DN is first name last name, John Doe. What would you suggest?
0
 
LVL 12

Expert Comment

by:SreRaj
ID: 39299033
For FirstName LastName format, the syntax would be %'givenName'% %'sn'%

The Distinguished name refered is of the contact object, so you have to give the correct OU path where the contact object is created. Suppose there is a contact object with extenal domain mail address for user John Doe in AllContacts OU in NewDomain.com root, then the DN would be

CN=%'givenName'% %'sn'%,OU=AllContacts,DC=NewDomain,DC=com

If we are selecting all 4000 users, corresponding all 4000 contact objects should be there is the same OU and they should all have object name in the same format %'givenName'% %'sn'%
0
 
LVL 14

Expert Comment

by:Radweld
ID: 39299131
This method shouldn't be nessesary. When performing a cross forest mailbox move in exchange 2010 the move request will actually convert the mailbox back to a contact and set the correct smtp as part of the process.
0
 

Author Closing Comment

by:charles_cuerrier
ID: 39347357
That didn't answer the question but it did show that there is no answer.
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!

Question has a verified solution.

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

Scam emails are a huge burden for many businesses. Spotting one is not always easy. Follow our tips to identify if an email you receive is a scam.
As cyber crime continues to grow in both numbers and sophistication, a troubling trend of optimization has emerged over the last year.
To show how to generate a certificate request 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 >> Certificates…
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…

740 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