• Home
  • About us
  • Contact
  • Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Welcome to www.DoitFixit.com

www.doitfixit.com

  • Microsoft
  • Fortinet
  • Symantec
  • Office 365
  • Azure
  • Others
  • Show Search
Hide Search

How to Move Exchange Server 2007 to New Server

April 26, 2013 By Damitha Anuradha Leave a Comment

Moving Exchange Server to New Hardware with Same Server Name / Exchange Server 2007 Recover Mode installation

Mailbox Database
Take a backup of Mailbox Database and Database Logs before proceed to below steps.

Client Access

  • Capture all of Internet Information Services (IIS) virtual directory configurations by following command:
    Get-OwaVirtualDirectory “OWA (Default Web Site)” | Export-clixml OWAConfig.xml -depth 1

  • Export Exchange Certificate

    To get current assigned certificate run below command.
    Get-ExchangeCertificate

    To export the certificate run below command. (Replace XXX…. with the thumbprint given by the Get-ExchangeCertificate command, Credential window add a username and password-Username is required but not important/Password is required in certificate import stage.)
    Export-ExchangeCertificate -Thumbprint XXXXXXXXXXXXXXXXXXXXXXXXXXX -BinaryEncoded:$true -Path c:\certificates\export.pfx -Password:(Get-Credential).password

If you are done with above steps copy both OWAConfig.xml and export.pfx files to new server and Shut down the existing Exchange 2007 server.

Now go to Active Directory Users and Computers snapin, reset the computer account for existing exchange 2007 server.

Your new server must have same operating system which old server had, Rename the new server to the same old name, Change the IP, Join this computer to the domain, Configure drive letters on the new server to match the configuration of the old server and you are ready perform the recovery.

Let’s install Exchange Server 2007 Prerequisites (In my setup I am going to perform this recover mode on Server 2008 R2 and I am using MSEX2K7Prerequisites.ps1 script to install required prerequisites.

On the new server;

Open Windows PowerShell and run Set-ExecutionPolicy RemoteSigned command.

Download MSEX2K7Prerequisites.txt file (Available to Download on end of this Article) and rename as MSEX2K7Prerequisites.ps1 (You may have to clear Hide extensions for known file types in view tab on Folder options before rename this file) On PowerShell access the MSEX2K7Prerequisites.ps1 and press enter.

Select your configuration mode. (In my scenario this is a Typical installation of Hub, CAS, Mailbox so I am selecting 6)

Prerequisites installation is finished and restart is needed. Restart the server.

Run Setup.com /M:RecoverServer on command prompt.

Unattended Setup will check Prerequisites and configure the Exchange server.

After completing the setup open Exchange Management Console and see the Mailbox Configuration. Status is shown as Dismounted because there is no mailbox database in the given path.

So lets start the Mailbox database restore. I have Mailbox Database backup which have taken from Windows Server Backup. Now I am going to restore the database.

Select Files and folders

Select Items to Recover

Recover is completed.

Let’s mount the database.

——————————————————–
Microsoft Exchange Error
——————————————————–
Failed to mount database ‘Mailbox Database’.

Mailbox Database
Failed
Error:
Exchange is unable to mount the database that you specified. Specified database: EX01\First Storage Group\Mailbox Database; Error code: MapiExceptionCallFailed: Unable

to mount database. (hr=0x80004005, ec=-550)

Most of the time this error occur because the database state is marked with Dirty Shutdown value. Let’s see the DB State.

eseutil /mh “C:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group\Mailbox Database.edb”

To take the Database state to Clean State you should have all log files related to the database. So I restore the logs files from my backup to C:\Logs. And execute below command to check for damaged log files.

eseutil /ml C:\Logs\E00

No damaged log files were found.

Run below command to repair the Database.
eseutil /R E00 /l “C:\Logs” /s “C:\Logs” /d “C:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group\Mailbox Database.edb”

Check the Database state again.

eseutil /mh “C:\Program Files\Microsoft\Exchange Server\Mailbox\First Storage Group\Mailbox Database.edb”

Database now in Clean State.

Now mount the database.

You can run below command to repair Dirty Shudown stated database backup. But this will cause to loss mail data.
Eseutil /P “C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Recovery\Recovery.edb”

Restore OWA Settings

Download Restorevdir.txt file (Available to download on end of this article) and rename to Restorevdir.ps1 and run as below.
Restorevdir.ps1 Owa.xml

Import Exchange Server Certificate

Run below command and enter given credentials on Export-ExchangeCertificate step.
Import-ExchangeCertificate -Path c:\certificates\import.pfx -Password:(Get-Credential).password

{attachments}

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Recent Posts

  • privacy
  • Veeam Backup – Failed to prepare guests for volume snapshot
  • How to Configure/Integrate FortiClient EMS with FortiAnalyzer
  • Backup Hyper-V Virtual Machines with Pass-Through Disks
  • Slow Network Speed with Hyper-V Virtual Machines on Windows Server Server 2019
  • Block MS Exchange Server OWA access from Internet
  • Error 1168 – The specified product key could not be validated.
  • Unable to Enable Desktop Icons after Joining to the Domain
  • Veritas BackupExec – A backup set was created which contains no data 0xe00084b7
  • Download Offline Address Book – Unexpected Error has occurred

Deprecated: genesis_footer_creds_text is deprecated since version 3.1.0! Use genesis_pre_get_option_footer_text instead. This filter is no longer supported. You can now modify your footer text using the Theme Settings. in /home/wwwdoitf/public_html/wp-includes/functions.php on line 5238