Поделиться через


Исключение файлов и параметров

При указании.xml файлов MigApp.xmlмиграции , MigDocs.xmlи MigUser.xml средство миграции пользовательской среды (USMT) переносит перечисленные параметры и компоненты, как описано в разделе Что такое миграция USMT? Можно создать пользовательский файл.xml , чтобы указать, что следует включить или исключить при миграции. Кроме того, можно создать файл, Config.xml чтобы исключить весь компонент из миграции. Тем не менее, пользователи не могут быть исключены с помощью .xml файлов миграции Config.xml или файла. Единственный способ указать, какие пользователи следует включать и исключать, — использовать параметры пользователя в командной строке средства ScanState . Дополнительные сведения см. в разделе Параметры пользователя статьи о синтаксисе ScanState .

Методы настройки миграции, включения и исключения файлов и параметров:

  • Создайте пользовательский файл .xml. Чтобы указать, что следует исключить, можно использовать следующие элементы:

    • Включить и исключить. Элементы <include> и <exclude> можно использовать для исключения объектов с условиями. Например, можно перенести все файлы, расположенные на C:\ диске, кроме любых .mp3 файлов. Важно помнить, что к этим элементам применяются конфликты и приоритет .

    • unconditionalExclude: <элемент unconditionalExclude> можно использовать для глобального исключения данных. Этот элемент имеет приоритет над всеми остальными правилами включения и исключения в файлах.xml . Таким образом, этот элемент исключает объекты независимо от других <правил включения> , которые находятся в файлах.xml . Например, все .mp3 файлы можно исключить на компьютере или исключить все файлы из C:\UserData.

  • Создание файла Config.xml. Файл Config.xml можно создать и изменить, чтобы исключить весь компонент из миграции. Например, этот файл можно использовать для исключения параметров для одного из приложений по умолчанию. Кроме того, создание и изменение Config.xml файла — единственный способ исключить параметры операционной системы, перенесенные на компьютеры под управлением Windows. Исключить компоненты, использующие этот файл, проще, чем изменять файлы миграции.xml , так как знание правил и синтаксиса миграции не требуется.

Создание пользовательского файла .xml

Корпорация Майкрософт рекомендует создавать пользовательский файл.xml вместо изменения .xmlфайлов миграции по умолчанию. При использовании пользовательского файла.xml изменения можно хранить отдельно от файла.xml по умолчанию, что упрощает отслеживание изменений.

<включение> и <исключение>

В .xml миграции файлы , MigApp.xmlMigDocs.xmlи MigUser.xmlсодержат <элемент компонента>, который обычно представляет автономный компонент или приложение, например Microsoft Office Outlook и Word. Чтобы исключить файлы и параметры реестра, связанные с этими компонентами, используйте <элементы include> и <exclude> . Например, эти элементы можно использовать для переноса всех файлов и параметров с шаблоном X, за исключением файлов и параметров с шаблоном Y, где Y является более конкретным, чем X. Синтаксис этих элементов см. в справочнике по XML USMT.

Примечание.

Если указано правило исключения>, всегда указывайте соответствующее правило включения.<<> В противном случае, если <правило включения> не указано, конкретные файлы или параметры не включаются. Они уже исключены из миграции. Таким образом, несопровождаемое <правило исключения> не требуется.

Пример 1. Перенос всех файлов, C:\ кроме .mp3 файлов

Следующий .xml файл переносит все файлы, расположенные на диске C:, за исключением файлов.mp3 .

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/mp3files">
    <!-- This component migrates all files except those with .mp3 extension-->
    <component type="Documents" context="UserAndSystem">
        <displayName _locID="miguser.sharedvideo">MP3 Files</displayName>
        <role role="Data">
            <rules>
                <include filter='MigXmlHelper.IgnoreIrrelevantLinks()'>
                    <objectSet>
                        <pattern type="File">C:\* [*]</pattern>
                    </objectSet>
                </include>
                <exclude>
                    <objectSet>
                        <pattern type="File">C:\* [*.mp3]</pattern>
                    </objectSet>
                </exclude>
            </rules>
        </role>
    </component>
</migration>

Пример 2. Перенос всех файлов, расположенных в C:\Data , кроме файлов в C:\Data\tmp

Следующий .xml файл переносит все файлы и вложенные папки в C:\Data, за исключением файлов и вложенных папок в C:\Data\tmp.

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/test">
    <component type="Documents" context="System">
        <displayName _locID="miguser.sharedvideo">Test component</displayName>
        <role role="Data">
            <rules>
                <include>
                    <objectSet>
                        <pattern type="File">C:\Data\* [*]</pattern>
                    </objectSet>
                </include>
                <exclude>
                    <objectSet>
                        <pattern type="File"> C:\Data\temp\* [*]</pattern>
                    </objectSet>
                </exclude>
            </rules>
        </role>
    </component>
</migration>

Пример 3. Как исключить файлы из папки, но включить все вложенные папки

Следующий .xml файл переносит все вложенные папки в C:\EngineeringDrafts, но исключает все файлы, которые находятся в C:\EngineeringDrafts.

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/test">
    <component type="Documents" context="System">
        <displayName>Component to migrate all Engineering Drafts Documents without subfolders</displayName>
        <role role="Data">
            <rules>
                <include>
                    <objectSet>
                        <pattern type="File"> C:\EngineeringDrafts\* [*]</pattern>
                    </objectSet>
                </include>
                <exclude>
                    <objectSet>
                        <pattern type="File"> C:\EngineeringDrafts\ [*]</pattern>
                    </objectSet>
                </exclude>
            </rules>
        </role>
    </component>
</migration>

Пример 4. Исключение файла из определенной папки

Следующий .xml файл переносит все файлы и вложенные папки в C:\EngineeringDrafts, за исключением Sample.doc файла в C:\EngineeringDrafts.

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/test">
    <component type="Documents" context="System">
        <displayName>Component to migrate all Engineering Drafts Documents except Sample.doc</displayName>
        <role role="Data">
            <rules>
                <include>
                    <objectSet>
                        <pattern type="File"> C:\EngineeringDrafts\* [*]</pattern>
                    </objectSet>
                </include>
                <exclude>
                    <objectSet>
                        <pattern type="File"> C:\EngineeringDrafts\ [Sample.doc]</pattern>
                    </objectSet>
                </exclude>
            </rules>
        </role>
    </component>
</migration>

Пример 5. Как исключить файл из любого расположения

Чтобы исключить файл Sample.doc из любого расположения на диске C:, используйте <элемент pattern> . Если на диске C: существует несколько файлов с одинаковыми именами, все эти файлы будут исключены.

<pattern type="File"> C:\* [Sample.doc] </pattern>

Чтобы исключить файл Sample.doc с любого диска на компьютере, используйте <элемент script> . Если существует несколько файлов с одинаковыми именами, все эти файлы исключаются.

<script>MigXmlHelper.GenerateDrivePatterns("* [sample.doc]", "Fixed")</script>

Примеры использования XML для исключения файлов, папок и разделов реестра

Ниже приведены некоторые примеры использования XML для исключения файлов, папок и разделов реестра. Дополнительные сведения см. в справочнике по XML USMT.

Пример 1. Исключение всех .mp3 файлов

Следующий файл.xml исключает все .mp3 файлы из миграции:

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/excludefiles">
    <component context="System" type="Documents">
        <displayName>Test</displayName>
        <role role="Data">
            <rules>
                <unconditionalExclude>
                    <objectSet>
                        <script>MigXmlHelper.GenerateDrivePatterns ("* [*.mp3]", "Fixed")</script>
                    </objectSet>
                </unconditionalExclude>
            </rules>
        </role>
    </component>
</migration>
Пример 2. Исключение всех файлов на определенном диске

Следующий файл.xml исключает только файлы, расположенные на диске C: .

<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/allfiles">
    <component type="Documents" context="System">
        <displayName>Test</displayName>
        <role role="Data">
            <rules>
                <unconditionalExclude>
                    <objectSet>
                        <pattern type="File">c:\*[*]</pattern>
                    </objectSet>
                </unconditionalExclude>
            </rules>
        </role>
    </component>
</migration>
Пример 3. Исключение разделов реестра

Следующий .xml файл безоговорочно исключает HKEY_CURRENT_USER раздел реестра и все его подразделы.

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/miguser">
    <component type="Documents" context="User">
        <displayName>Test</displayName>
        <role role="Data">
            <rules>
                <include>
                    <objectSet>
                        <pattern type="Registry">HKCU\testReg[*]</pattern>
                    </objectSet>
                </include>
                <unconditionalExclude>
                    <objectSet>
                        <pattern type="Registry">HKCU\*[*]</pattern>
                    </objectSet>
                </unconditionalExclude>
            </rules>
        </role>
    </component>
</migration>
Пример 4. Как исключить C:\Windows и C:\Program Files

В следующем .xml файле безоговорочно исключаются системные папки C:\Windows и C:\Program Files. Все *.docxфайлы и *.ppt*.xls не переносятся, так как <элемент unconditionalExclude> имеет приоритет над элементом <include>.

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/miguser">
    <component type="Documents" context="System">
        <displayName>Test</displayName>
        <role role="Data">
            <rules>
                <include>
                    <objectSet>
                        <script>MigXmlHelper.GenerateDrivePatterns ("* [*.doc]", "Fixed")</script>
                        <script>MigXmlHelper.GenerateDrivePatterns ("* [*.xls]", "Fixed")</script>
                        <script>MigXmlHelper.GenerateDrivePatterns ("* [*.ppt]", "Fixed")</script>
                    </objectSet>
                </include>
                <unconditionalExclude>
                    <objectSet>
                        <pattern type="File">C:\Program Files\* [*]</pattern>
                        <pattern type="File">C:\Windows\* [*]</pattern>
                    </objectSet>
                </unconditionalExclude>
            </rules>
        </role>
    </component>
</migration>

Создание XML-файла конфигурации

Файл Config.xml можно создать и изменить, чтобы исключить компоненты из миграции. Исключить компоненты, использующие этот файл, проще, чем изменять файлы миграции.xml , так как знание правил и синтаксиса миграции не требуется. Config.xml — это необязательный файл, который можно создать с помощью /genconfig параметра командной строки с помощью средства ScanState . Например, файл Config.xml можно использовать для исключения параметров для одного из приложений по умолчанию. Кроме того, создание и изменение этого файла — единственный способ исключить параметры операционной системы, перенесенные на компьютеры под управлением Windows.

  • Чтобы исключить параметры для приложения по умолчанию, выполните следующие действия. Укажите migrate="no" для приложения в <разделе Приложения> файла.Config.xml

  • Чтобы исключить параметр операционной системы, выполните следующие действия: Укажите migrate="no" параметр <в разделе WindowsComponents> .

  • Чтобы исключить папку Documents, выполните следующие действия: Укажите migrate="no" папку Документы в <разделе Документы> . Все <правила включения> в файлах.xml по-прежнему применяются. Например, если существует правило, включающее все .docx файлы в папке Документы , .docx файлы по-прежнему переносятся. Однако все дополнительные файлы, которые не .docx , не переносятся.

Дополнительные сведения см. в разделе файлConfig.xml.

Примечание.

Чтобы исключить компонент из Config.xml файла, задайте для параметра миграции значение "нет". Удаление XML-тега компонента из Config.xml файла не исключает компонент из миграции.