On Windows PowerShell and other admin-related topics

Windows Server 2008 R2 Migration Tools

The Windows Server 2008 R2 Migration Tools are a set of tools available to simplify migration of various roles, features and other server data to a new server running Windows Server 2008 R2.

As described on the Migration Tools TechNet documentation, the following can be migrated using these tools:


Active Directory Domain Services and DNS
DHCP Server
File Services
Print Services





Settings and Data

Data and Shares
IP Configuration
Local Users and Groups



Start by installing the Windows Server Migration Tools feature from the Add feature wizard in Server Manager on the destination server running Windows Server 2008 R2:




You can find the new feature on the Start-menu in Administrative tools:


After the “Windows Server Migration Tools” PowerShell prompt are opened, go to C:\Windows\System32\ServerMigrationTools.
Type SmigDeploy.exe /? to list the description and usage of this command.



Example usage

In this example we`ll migrate a DHCP Server running on a Windows Server 2003 machine. To create a deployment package for Windows Server 2003 32-bit, execute the following command:


When the package folder are successfully create, copy the folder to the source DHCP Server:


The only requirement on the source Windows Server 2003 server are Windows PowerShell (and thereby .NET Framework 2.0).

Start SmigDeploy.exe from the SMT_ws03_x86 folder to fire up Windows PowerShell with the Windows Server Migration Tools snapin.

Available cmdlets for this snapin:


Execute the cmdlet Get-SmigServerFeature to get the set of all Windows features that can be migrated from the local server:


The cmdlet returns the DHCP Server as a feature available for migration:


Here we got the DHCP Leases on the source DHCP Server, which are to be migrated to the Windows Server 2008 R2 server:


To export the DHCP Server configuration and database, run the Export-SmigServerSetting cmdlet with the following parameters (you will be prompted for a password to protect the exported file):


The export was successful, and we can see the exported *.mig-file:


Copy the *.mig file to the target DHCP Server.
To import the DHCP Server configuration and database, run the Import-SmigServerSetting cmdlet with the following parameters (you will be prompted for the password  for the exported file):


The DHCP Server feature was not installed on the Windows Server 2008 R2 server, but the Import-SmigServerSetting takes care of this automatically:


The import was successful:


After starting the DHCP Server service we can open the DHCP Server management console and verify that the migration was successful:


This concludes this post regarding the new Migration Tools, and I must say I really like this new feature, especially the fact that it`s leveraging Windows PowerShell. I would recommend you to play around with this in a lab environment to get to know it`s usage.

Update 25.08.2009: As stated in the documentation on Technet, the DHCP-service on the source server must be stopped (Stop-Service DHCPserver) prior to the export. Thanks to Max for pointing this out.
Update 15.01.2011: Note that the destination DHCP-server must be authorized. Thanks to Blazej for pointing this out.


April 20, 2009 - Posted by | Migration, Windows PowerShell, Windows Server 2008 R2


  1. hey

    I was trying to migrage DHCP from server 2008 x32 to server 2008 R2 core x64.

    when i run the export command i get an error (see bellow). I can’t figure out what is causing the issue, any ideas?
    the Source DHCP is running, with no issues.

    VERBOSE: Details:
    VERBOSE: Title: DHCP Server
    VERBOSE: Result: Failed
    VERBOSE: Error 32: Feature DHCP Server could not be exported.

    Comment by Max | August 25, 2009 | Reply

    • In response to my question,
      DHCP needs to be disabled on the source server before running the export command.

      Comment by Max | August 25, 2009 | Reply

  2. Thanks for the info Max, I`ve updated the post to reflect this.

    Comment by Jan Egil Ring | August 25, 2009 | Reply

  3. Great article, helped me a lot!



    Comment by Davy | May 3, 2010 | Reply

  4. Perfect article!
    You can only add at the end, that a new DHCP Server must be authorized (Menu-> Action -> Authorize).

    Comment by Blazej | January 12, 2011 | Reply

  5. Great article – very helpful.

    Am having some trouble at the end step: after copying the exported database to the target server, and trying to import the database through the Powershell interface, the powershell.exe bombs out everytime.

    I have restarted both source and target machines without luck. Both new builds winth Win2008 R2 Std x64. The import path is definitely correct in the command.

    Both machines have static IPs. DHCP Server service is stopped and disabled now on source machine (domain controller), but now I cannot log into the DC (No logon servers available to service this logon request)

    PS: Please confirm that the IMPORT-SMIGSERVERSETTING command will install the DHCP Server Role to the target server, upon importing the database?



    Comment by Darren | January 27, 2011 | Reply

    • Yes, the command will install the DHCP Server Role.
      You`re running PowerShell with elevated permissions (Run As Administrator)?

      Comment by Jan Egil Ring | January 27, 2011 | Reply

      • Yes, with an elevated account with domain admin rights.

        Eventually the IMPORT command completed (not sure what made it suddenly work), DHCP feature was installed successfully. DHCP Server Service was not started, but now I cannot authorize the new targeted DHCP server in my test lab because there is no Enterprise Admin group on this one DC (replica of a child DC) – so I am making progress, but getting stuck along the way – makes me nervous for when I have to do this across our Production environemnt, globally – starting next week! yikes!

        Will all existing leases/reservations etc all get migrated to the target server? What happens to the clients when the source server DHCP Service is stopped?

        Comment by Darren | January 28, 2011

    • Yes, leases/reservations get migrated. When you stop the source server and start the destination server the clients will operate as normal with existing leases against the new server.

      Good luck! 🙂

      Comment by Jan Egil Ring | January 28, 2011 | Reply

  6. Thanks for the post, it was really helpfull.

    Comment by HuguesV | April 14, 2011 | Reply

  7. Excellent post, thanks

    Comment by jabarca | June 8, 2011 | Reply

  8. We are undergoing a DHCP consolidation project. The scope of this project is to consolidate all DHCP servers from around 20 physical servers running around 40 or so scopes into 2 virtual servers. All of the 20 physical servers are running 2003 X86 and our goal is to make the new DHCP servers run server 2008r2. In my lab I’ve followed the steps above. The moment i try to import the 2nd 2003 DHCP server into the new 2008r2 DHCP server, it does not allow me to do this. Is there a way that i can tell the import process to ignore scopes currently running on the new 2008r2 server?

    Comment by Ryan | August 11, 2011 | Reply

    • I haven`t tried this myself, but I see that the Import-SmigServerSetting has a -Force parameter which is described like this:
      -Force []
      Specifies that imported settings overwrite existing Windows feature settings on the destination computer. If th
      is parameter is not used, by default, existing Windows feature settings on the destination computer are preserv

      Comment by Jan Egil Ring | August 11, 2011 | Reply

  9. Force blows everything existing on the new 2008r2 server away.

    Comment by Ryan | August 11, 2011 | Reply

  10. I have been attempting all day to decipher the directions on the website to migrate my users and groups from the old 2003 server to our new 2008 server – without success. Their directions are almost correct but none of it worked and, of course, no help with the error messages.

    I found this blog and have completed it in about ten minutes!

    Thank you!!!

    Comment by Richard tasker | April 26, 2012 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: