Migration Preparation Tool (SourceTool) fails to update the schema on the source server

Applies to: Windows Server 2012 R2 Standard

Symptoms


When installing SBS 2008 in migration mode, one of the key requirements is to run the Migration Preparation Tool (SourceTool) on the source server. The Source Tool does the following:

1.)    Installs the update KB 943494 on SBS 2003

2.)    Prepares the forest (ADPREP.exe /forestprep)

3.)    Prepares the domain (ADPREP.exe /domainprep)

4.)    Update GPO ACEs and replicate SYSVOL (ADPREP.exe /domainprep /gpprep)

5.)    Changes Exchange 2003 from Mixed mode to Native mode

6.)    Adds the Authenticated Users group to the Pre-Windows 2000 Security group

Under rare conditions, when you run the migration preparation tool on the source tool, it may fail to update the schema and you will notice there is no green check against “Update the schema” as shown in the below screenshot.




Additionally, the completion page of the Source Server Migration Tool will display the following message: Cannot prepare the Source Server for migration



If you examine ADPrep.log under C:\Windows\Debug\adprep\logs\YYYYMMDD****, you would see something similar:

Adprep was unable to complete because the call back function failed.

[Status/Consequence]

Error message: (null)

[User Action]

Check the log file ADPrep.log, in the C:\WINDOWS\debug\adprep\logs\20100612000835 directory for more information.

Adprep was unable to update domain information.

[Status/Consequence]

Adprep requires access to existing domain-wide information from the infrastructure master in order to complete this operation.

[User Action]

Check the log file, ADPrep.log, in the C:\WINDOWS\debug\adprep\logs\20100612000835 directory for more information.

Cause


This issue can occur if the NTFS junction point for the SYSVOL tree is not correctly defined.

An NTFS junction point is a type of NTFS reparse point that allow creating a link to the directory that is the same as the directory itself.

Resolution


Download the Windows Server 2003 Resource Kit Tools, if you already don’t have it.

To validate if the junction points exists, run the following commands from a Command Prompt:

LINKD %systemroot%\sysvol\sysvol\<domain name>

LINKD "%systemroot%\sysvol\staging areas\<domain name>"

Where <domain name> is your Active Directory Domain name

For example:

LINKD %systemroot%\sysvol\sysvol\fourthcoffee.local

LINKD "%systemroot%\sysvol\staging areas\fourthcoffee.local"



If the output of any of the above commands returns an invalid or blank value, the junction points must be re-created. To do so run the following commands from a Command Prompt:

LINKD %systemroot%\sysvol\sysvol\<domain name> %systemroot%\sysvol\domain

LINKD "%systemroot%\sysvol\staging areas\<domain name>" %systemroot%\sysvol\staging\domain

Where <domain name> is your Active Directory Domain name

For example:

LINKD %systemroot%\sysvol\sysvol\fourthcoffee.local %systemroot%\sysvol\domain

LINKD "%systemroot%\sysvol\staging areas\fourthcoffee.local" %systemroot%\sysvol\staging\domain