Saturday 26 January 2013

USMT does not migrate all PST files on computer

You are using Config Mgr 2012 with USMT 4 and have prepared a task sequence to carry out an in-place refresh from Windows XP to Windows 7. Not all PST files on the computer are available after the migration.

The reason for this is simple. By default USMT only migrates PST files which are stored in a user profile and are actually connected to an Outlook profile. However you can make the following amendment to the default miguser.xml file (you will find this file in both x86 and x64 folders within the USMT folder - take a copy of the file first). This prompts USMT to scan the entire hard drive and migrate all PST files. I have tested this process in a lab and implemented it for several customers. It works very well.

Note for clarity I have included only a small section of the XML file. The amendment is in bold.


<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/miguser">

    <_locDefinition>
     <_locDefault _loc="locNone"/>
     <_locTag _loc="locData">displayName</_locTag>
    </_locDefinition>


    <!-- This component migrates all PST files -->
<component type="Documents" context="UserAndSystem">
    <displayName>All PST migrated from all fixed drives, regardless of location</displayName>
    <role role="Data">
      <rules>
        <include>
          <objectSet>
            <script>MigXmlHelper.GenerateDrivePatterns ("* [*.pst]", "Fixed")</script>
          </objectSet>
        </include>
      </rules>
    </role>
  </component>


    <!-- This component migrates My Video files -->
    <component type="Documents" context="User">
        <displayName _locID="miguser.myvideo">My Video</displayName>
        <paths>
            <path type="File">%CSIDL_MYVIDEO%</path>
        </paths>
        <role role="Data">
            <detects>
                <detect>
                    <condition>MigXmlHelper.DoesObjectExist("File","%CSIDL_MYVIDEO%")</condition>
                </detect>
            </detects>
            <rules>
                <include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
                    <objectSet>
                        <pattern type="File">%CSIDL_MYVIDEO%\* [*]</pattern>
                    </objectSet>
                </include>
                <merge script="MigXmlHelper.DestinationPriority()">
                    <objectSet>
                        <pattern type="File">%CSIDL_MYVIDEO% [desktop.ini]</pattern>
                    </objectSet>
                </merge>
            </rules>
        </role>
    </component>


No comments:

Post a Comment