Jump to content

Recommended Posts

Posted

I have just built a new Exchange 2010 Server and all is working very well, however our old exchange server is ready to fall over!

 

I am wondering what is the easiest way to move all of the users from the old server to the new server, both servers being on 2 different domains but on the same network! I have tried looking at a Remote Move Request BUT Exchange insists I add my new server in the old servers forest but I don't know whether this will break anything i.e not being able to send/receive emails by either server.

 

First time I've done this and If I'm honest this is the bit I'm scared of I need to move the users off of the old server along with there entire mailbox and messages over to the new server.

 

Any body got any tips ?

Posted (edited)

Well... if you are happy working with scripts and dont mind some work to get it working, here are simplified powershell scripts I used to migrate our mailboxes from our old ex 2007 domain to the new one with 2010. It requires that the users are migrated 1st and that they are exchange enabled.

 

Please review this website for prerequisites for import/export to pst files. Fair warning, it requires outlook 2010 to be installed on the mail server.

 

http://www.msexchange.org/articles_tutorials/exchange-server-2010/management-administration/exporting-importing-mailboxes-exchange-server-2010.html

 

Export Script:

$databaseName = "Users"
$pstPath = "C:\"

$mailboxes = Get-Mailbox -ResultSize Unlimited -Database $databaseName

if ($mailboxes)
{
foreach ($mailbox in $mailboxes)
{
	if ($mailbox)
	{
		Write-Host "Processing mailbox '$mailbox'..."

		$pstFile = Join-Path -Path "$pstPath" -ChildPath "$($mailbox.alias).pst"
		
		if (Test-Path $pstFile)
		{
			Write-Host "    PST File '$pstFile' already exists. Skipping." -ForegroundColor Red
		}
		else
		{
			Write-Host "   Exporting mail to '$pstFile'..."

			Export-Mailbox -Identity $mailbox.DistinguishedName -PSTFolderPath $pstFile -BadItemLimit 10000 -Confirm:$false
		}
	}
}
}

 

$databaseName = "Users"
$pstPath = "C:\"

$mailboxes = Get-Mailbox -ResultSize Unlimited -Database $databaseName

if ($mailboxes)
{
foreach ($mailbox in $mailboxes)
{
	if ($mailbox)
	{
		Write-Host "Processing mailbox '$mailbox'..."

		$pstFile = Join-Path -Path "$pstPath" -ChildPath "$($mailbox.alias).pst"
		
		if (Test-Path $pstFile)
		{
			Write-Host "   Importing mail from '$pstFile'..."

			Import-Mailbox -Identity $mailbox.DistinguishedName -PSTFolderPath $pstFile -ExcludeFolders "\Deleted Items" -BadItemLimit 10000 -Confirm:$false
		}
		else
		{
			Write-Host "    PST File '$pstFile' does not exist. Skipping." -ForegroundColor Red
		}
	}
}
}

 

Edit: Fair warning no2: Export-Mailbox exports deleted items as well, very annoying and no way to prevent it through options. In the end what I did was create a new database in exchange called Migration and then expanded the export script so that it first moved the user's mailbox to the new database and then exported it, this got rid of any deleted items.

Edited by ChrisMiles
  • Thanks 1
Posted

hmmm that script doesnt work with moving the users over to another sever on a different domain and different database!!

 

i really need to get this done by tonight!!! - I've just tried doing a remote request but it couldnt contact the new server

Posted (edited)
hmmm that script doesnt work with moving the users over to another sever on a different domain and different database!!

 

i really need to get this done by tonight!!! - I've just tried doing a remote request but it couldnt contact the new server

 

Yeah it does, as long as the user's alias's are the same.

 

Run the export script on the old server, move the pst files somewhere the new server can access them, make sure you set the path variable in the import script and then run the import script on the new server.

Edited by ChrisMiles
  • Thanks 1
Posted
OK I'm new to this and have no idea how these scripts work or how to run them, in fact I dont even know where to start with the scripts!

 

Well if thats the case, I dont recommend you use them, especially if you are in a hurry. I wouldnt want to be responsible for any problems. You can also export and import mailboxes uses the exchange manager, thats probably a better bet.

  • Thanks 1
Posted

ok I have tried remote move but it says it cant connect me, local request wont work because I dont want to move them to a different database on the same server - this is clearly a head banger!! What a Monster!

 

I'm getting all sorts of errors to do with Kerberos and SPN when I try to connect the New Exchange forest into the old servers management console!

Posted
I had a PITA moving boxes from our old LAN to the new one, I did it via powershell and another EX box on the old Domain! Basically you need to export them to PSTs, move the PSTs to a folder on the new server and them re-import them and the PSTs need to be named as the aliases of the mail-enabled users on the new domain. It works great but took hours to do :(
  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...