Восстановить / воссоздать профиль пользователя с помощью инструмента Microsoft USMT на Windows - PullRequest
2 голосов
/ 25 мая 2020

В некоторых особых случаях нам нужно заново создать новый локальный профиль для пользователя, а затем повторно импортировать некоторые файлы / папки / ключи реестра HKCU из его прежнего профиля.

Процесс, который мы ' Я хотел бы использовать: - Полная резервная копия старого профиля пользователя (что угодно, файлы, реестр) - Удалите папку C: \ Users \ и информацию о профиле в реестре - Повторно импортируйте некоторые файлы и ключ реестра (не все)

Некоторые ребята отметили, что у Microsoft есть инструмент для этого под названием USMT, и я попробовал следующее: - Сохраните весь профиль пользователя, используя эту XML конфигурацию:

<?xml version="1.0" encoding="UTF-8"?>

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

<!-- Profile files -->
<component type="Documents" context="User">
    <displayName>Files Migration</displayName>
    <role role="Data">
        <rules>
            <!-- Anything  ... -->
            <include>
                <objectSet>
                    <pattern type="File">%CSIDL_PROFILE%\* [*]</pattern>
                </objectSet>
            </include>
            <!-- ... Except -->
            <unconditionalExclude>
                <objectSet>                 
                    <!-- Reg files -->
                    <pattern type="File">%CSIDL_PROFILE%\ [NTUSER.*]</pattern>
                    <pattern type="File">%CSIDL_LOCAL_APPDATA%\Microsoft\Windows\ [UsrClass.dat]</pattern>
                    <!-- IE Cache -->
                    <pattern type="File">%CSIDL_INTERNET_CACHE%\* [*]</pattern>
                    <!-- Temp -->
                    <pattern type="File">%TEMP%\* [*]</pattern>                 
                </objectSet>
            </unconditionalExclude>             
        </rules>
    </role>
</component>

<!-- Registry -->
<component type="System" context="User">
    <displayName>Registry Migration</displayName>
    <role role="Settings">
        <rules>
            <!-- Get all HCKU -->
            <include>
                <objectSet>
                    <pattern type="Registry">HKCU\* [*]</pattern>                               
                </objectSet>
            </include>
        </rules>
    </role>
</component>

CommandLine для сохранения с помощью ScanState.exe:

/listfiles:"C:\Logs\saved.log" /i:"C:\ProgramData\RebuildProfil\Conf\UserFull.xml" /ui:*\myuser/ue:*\* /hardlink /nocompress /o /v:13

Кажется, пока все работает нормально ... После удаления профиля, il используйте LoadState.exe со следующим XML :

<?xml version="1.0" encoding="UTF-8"?>

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



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

Командная строка:

/i:"C:\ProgramData\RebuildProfil\Conf\MigUserProfile.xml" /ui:*\myuser /ue:*\* /hardlink /nocompress /v:13

И вместо простого переноса файлов «My Musi c» , полный профиль пользователя воссоздается (все файлы, все ключи реестра), не похоже, что информация из t учитываются XML.

Итак, мне интересно: 1 - можно ли указать разные XML файлы для scanstate и loadstate 2 - можно ли перенести только часть того, что было сохранено в магазине миграции

Есть какие-нибудь советы? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...