Migrating .pst Files with USMT custom MigUser

A recent challenge I had with a USMT migration was to ensure that all .pst files could be migrated (or any file type for that matter).  You may be asking how that is “challenging”.  Well, a common best practice is to exclude unnecessary directory locations (such as C:\Drivers or C:\Temp), so what happens if the .pst file lives in that folder?  Furthermore, if USMT using MigApp + MigUser, then program/system directories are excluded (such as user’s temp folders or C:\Windows), so what happens if the .pst file lives in that folder?

In either situation, if the .pst is actively connected to a user’s Outlook profile being migrated, then the .pst will also migrate.  However, if the .pst is disconnected and lives in an excluded location, then it will not migrate.  So this brings the challenge of how to migrate .pst files.  The solution is to use a customized migration XML file, which in this example I am calling MigUserCustom.

MigUserCustom Code Snippet

<!-- This component migrates .PSTs except for ones on the network-->
  <component type="Documents" context="UserAndSystem"> 
  <displayName>All PST files migrated from all fixed, no PST’s migrated from network, regardless of context or outlook registry catalog settings</displayName>
    <role role="Data">
      <rules>
        <unconditionalExclude>
          <objectSet>
            <script>MigXmlHelper.GenerateDrivePatterns ("* [*.pst]", "Remote")</script>
          </objectSet>
        </unconditionalExclude>
        <unconditionalExclude>
          <objectSet>
            <pattern type="File">\\* [*.pst]</pattern>
          </objectSet>
        </unconditionalExclude>
        <include>
          <objectSet>
            <script>MigXmlHelper.GenerateDrivePatterns ("* [*.pst]", "Fixed")</script>
          </objectSet>
        </include>
      </rules>
    </role>
  </component>

If you would like to have a copy of the full MigUserCustom.xml to use an example, you can get it from my SkyDrive at http://sdrv.ms/Nf2X6a. An example USMT command line to use MigUserCustom may look like:

ScanState.exe /o "%CAPTURE_STORE_PATH%" /vsc /i:MigApp.xml /i:MigUser.xml /i:MigUserCustom.xml 
/config:Confiig.xml /localonly /l:"%CAPTURE_STORE_PATH%\scanstate.log" 
/listfiles:"%CAPTURE_STORE_PATH%\scanstatefiles.log" /v:13 /uel:90

Or if you have defined in an SCCM task sequence, be sure to add it as one of Configuration Files.

email

Written by , Posted .