Файлы журналов

Вы можете использовать журнал средства миграции пользовательской среды (USMT) 10.0, чтобы отслеживать выполнение миграции и диагностировать возникающие ошибки и сбои миграции. В этом разделе описаны доступные параметры командной строки, необходимые для использования журналов USMT, а также новые XML-элементы, с помощью которых можно указать, какие типы ошибок являются неустранимыми и должны привести к остановке миграции, а какие устранимы и должны быть пропущены, чтобы продолжить миграцию.

Параметры командной строки журнала

Журналы ScanState и LoadState

Журнал выполнения

Журнал файлов

Журнал диагностики

Параметры командной строки журнала

Ниже в таблице приводятся определения всех параметров командной строки для работы с журналами, указывается имя каждого журнала и описывается содержащийся в нем тип информации.

Параметр командной строки Имя файла Описание

/l[Path\]FileName

Scanstate.log или LoadState.log

Задает путь и имя файла для журнала ScanState.log или LoadState.log.

/progress[Path\]FileName

Задает путь и имя файла для журнала хода выполнения.

Содержит информацию о состоянии миграции (процент выполнения).

/v[VerbosityLevel]

Неприменимо

См. раздел "Параметры наблюдения" в материале Синтаксис ScanState.

/listfiles[Path\]FileName

Задает путь и имя файла для журнала Listfiles log.

Содержит список перенесенных файлов.

Установите значение переменной среды MIG_ENABLE_DIAG, указав путь к XML-файлу.

USMTDiag.xml

Журнал диагностики содержит подробную информацию о системной среде, пользовательской среде, о собираемых объектах миграции (migunits) и их содержимом.

 

Примечание  

Файлы журнала нельзя сохранять в каталоге StorePath. Если вы это сделаете, журнал будет перезаписан при запуске USMT.

 

Журналы ScanState и LoadState

Журналы ScanState и LoadState представляют собой текстовые файлы, создаваемые при работе средств ScanState и LoadState. Эти журналы помогают следить за ходом миграции. Содержимое журнала зависит от параметров командной строки и заданного уровня детализации. Подробнее об уровнях детализации см. в разделе "Параметры наблюдения" материала Синтаксис ScanState.

Журнал выполнения

Можно создать журнал выполнения, воспользовавшись параметром /progress. Внешние средства, например Microsoft System Center Operations Manager 2007, способны анализировать журнал выполнения и обновлять данные систем мониторинга. Первые три поля в каждой строке зафиксированы. Это поля:

  • Дата: дата в формате day shortNameOfTheMonth year. Например: 08 июня 2006.

  • Местное время: время в формате hrs:minutes:seconds (используется 24-часовое представление времени). Например: 13:49:13.

  • Время миграции: срок, в течение которого было запущено USMT, выраженное в формате hrs:minutes:seconds. Например: 0:00:10.

Остальные поля представляют собой пары "ключ-значение" (см. таблицу ниже).

Ключ Значение

program

ScanState.exe или LoadState.exe.

рroductVersion

Полный номер версии USMT.

computerName

Имя исходного или целевого компьютера, на котором запущено средство USMT.

commandLine

Полная команда, используемая для запуска USMT.

PHASE

Извещает о начале нового этапа миграции. Возможные значения:

  • Initializing (инициализация)

  • Scanning (сканирование)

  • Collecting (сбор данных)

  • Saving (сохранение)

  • Estimating (оценка)

  • Applying (применение)

detectedUser

  • Для средства ScanState отображаются пользователи, обнаруженные с помощью USMT на исходном компьютере, для которых возможна миграция.

  • Для средства LoadState отображаются пользователи, обнаруженные с помощью USMT в хранилище, для которого возможна миграция.

includedInMigration

Определяет, включен ли в миграцию профиль или компонент пользователя. Допустимые значения: Yes (да) или No (нет).

forUser

Задает одно из следующих значений.

  • Пользовательскую среду, для которой выполняется миграция.

  • This Computer, что означает: файлы и параметры не связаны с этим пользователем.

detectedComponent

Задание компонента, обнаруженного средством миграции пользовательской среды.

  • Для ScanState — компонент или приложение, установленное на исходном компьютере.

  • Для LoadState — компонент или приложение, обнаруженное в хранилище.

totalSizeInMBToTransfer

Указывает общий размер переносимых файлов и параметров в мегабайтах (МБ).

totalPercentageCompleted

Указывает общий процент миграции, выполненной средством ScanState или LoadState.

collectingUser

Указывает пользователя, для которого ScanState собирает файлы и параметры.

totalMinutesRemaining

Указывает примерное время завершения миграции в минутах.

error

Указывает тип возникшей некритической ошибки. Возможные значения:

  • UnableToCopy: не удается выполнить копирование в хранилище, поскольку диск, на котором размещено хранилище, заполнен.

  • UnableToOpen: не удается открыть файл для миграции, поскольку файл уже открыт с исключительными правами другим приложением или службой.

  • UnableToCopyCatalog: не удается выполнить копирование, поскольку хранилище повреждено.

  • UnableToAccessDevice: не удается получить доступ к устройству.

  • UnableToApply: невозможно применить этот параметр на целевом компьютере.

objectName

Указывает имя файла или параметра, вызвавшего некритическую ошибку.

action

Действие, предпринимаемое USMT при возникновении ошибки, которая не является неустранимой. Возможные значения:

  • Пропустить: некритическая ошибка пропускается, а миграция продолжается, поскольку параметр /c задан в командной строке.

  • Прервать: миграция остановлена, поскольку не указан параметр /c.

Код ошибки

Указывает код ошибки или возвращаемое значение.

numberOfIgnoredErrors

Общее количество некритических ошибок, пропущенных средством USMT.

message

Указывает сообщение, соответствующее коду ошибки.

 

Журнал файлов

Журнал файлов (Listfiles.txt) содержит список перенесенных файлов. Этот список можно использовать для диагностики проблем с XML-файлом или сохранить как перечень файлов, собранных в хранилище миграции. Журнал файлов доступен только при использовании ScanState.exe.

Журнал диагностики

Журнал диагностики можно сформировать, указав для переменной среды MIG_ENABLE_DIAG путь к XML-файлу.

Журнал диагностики содержит:

  • Подробные сведения о системной среде

  • Подробные сведения о пользовательской среде

  • Сведения о собираемых объектах миграции (migunits) и их содержимом

Использование журнала диагностики

Журнал диагностики по существу является отчетом обо всех объектах миграции, включенных в миграцию. Объект миграции — это коллекция данных, определяемая соответствующим ей компонентом XML-файла. Хранилище миграции образуют все включенные в миграцию объекты миграции. Журнал диагностики позволяет проверить, какие объекты миграции включены в миграцию, и устранить ошибки при создании XML-файлов миграции.

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

Почему не выполняется миграция файла, если для него было создано правило включения?

Предположим, что имеется следующая структура каталогов и в миграцию нужно включить каталог data и файл "Новый текстовый документ.txt" из папки "Новая папка". Каталог C\data содержит:

01/21/2009  10:08 PM    <DIR>          .
01/21/2009  10:08 PM    <DIR>          ..
01/21/2009  10:08 PM    <DIR>          New Folder
01/21/2009  09:19 PM                13 test (1).txt
01/21/2009  09:19 PM                13 test.txt
               2 File(s)             26 bytes

Каталог C\data\Новая папка содержит:

01/21/2009  10:08 PM    <DIR>          .
01/21/2009  10:08 PM    <DIR>          ..
01/21/2009  10:08 PM                 0 New Text Document.txt
               1 File(s)              0 bytes

Для миграции этих файлов создается следующий XML-файл миграции:

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

<component context="System"  type="Application">
  <displayName>DATA1</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <pattern type="File">c:\data\ [*]</pattern>
        </objectSet>
      </include>

    </rules>
  </role>
</component>
</migration>

Однако при проверке миграции вы замечаете, что файл "Новый текстовый документ.txt" не включен в миграцию. Для диагностики этого сбоя можно повторить миграцию, задав для переменной среды MIG_ENABLE_DIAG параметр, обеспечивающий создание журнала диагностики. При поиске компонента "DATA1" в журнале диагностики обнаруживается следующий XML-раздел:

<MigUnitList>
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data [*]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>

Анализе этого XML-раздела показывает, что при обработке правила миграции был создан объект миграции. Раздел <Perform> содержит сведения о файлах, запланированных для сбора, и результаты операции сбора. Этот раздел не содержит файл "Новый текстовый документ.txt", и таким образом подтверждается, что правило миграции было создано неверно.

При анализе раздела руководства по XML-элементам выясняется, что тег <pattern> нужно изменить следующим образом:

<pattern type="File">c:\data\* [*]</pattern>

При повторном выполнении миграции после изменения тега в журнале диагностики обнаруживаются следующие сведения:

<MigUnitList>
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>

Журнал диагностики подтверждает, что измененное значение тега <pattern> обеспечило миграцию файла.

Почему переносится файл, если для него было создано правило исключения?

В этом сценарии имеется следующая структура каталогов и требуется перенести все файлы каталога data, за исключением текстовых. Папка C\Data содержит:

Directory of C:\Data

01/21/2009  10:08 PM    <DIR>          .
01/21/2009  10:08 PM    <DIR>          ..
01/21/2009  10:08 PM    <DIR>          New Folder
01/21/2009  09:19 PM                13 test (1).txt
01/21/2009  09:19 PM                13 test.txt
               2 File(s)             26 bytes

Папка C\Data\Новая папка содержит:

01/21/2009  10:08 PM    <DIR>          .
01/21/2009  10:08 PM    <DIR>          ..
01/21/2009  10:08 PM                 0 New Text Document.txt
               1 File(s)              0 bytes

Создается следующий XML-файл миграции:

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

<component context="System"  type="Application">
  <displayName>DATA1</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <pattern type="File">c:\data\* [*]</pattern>
        </objectSet>
      </include>
    </rules>
    <rules>
      <exclude>
        <objectSet>
          <pattern type="File">c:\* [*.txt]</pattern>
        </objectSet>
      </exclude>

    </rules>
  </role>
</component>

Однако при проверке миграции оказывается, что в миграцию включены все текстовые файлы. Для диагностики этой проблемы можно выполнить миграцию, задав для переменной среды MIG_ENABLE_DIAG параметр, обеспечивающий создание журнала диагностики. При поиске компонента "DATA1" в журнале диагностики обнаруживается следующий XML-раздел:

<MigUnitList>
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
<Patterns Type="Exclude">
<Pattern Type="File" Path="C:\* [*.txt]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>

При анализе журнала диагностики подтверждается, что файлы по-прежнему переносятся и что проблема связана с созданным XML-правилом миграции. Для XML-скрипта миграции создается следующее обновление:

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

<component context="System"  type="Application">
  <displayName>DATA1</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <pattern type="File">c:\data\* [*]</pattern>
        </objectSet>
      </include>
    </rules>
    <rules>
      <exclude>
        <objectSet>
          <pattern type="File">c:\data\* [*.txt]</pattern>
        </objectSet>
      </exclude>

    </rules>
  </role>
</component>


</migration>

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

<MigUnitList>
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
<Patterns Type="Include">
<Pattern Type="File" Path="C:\data\* [*]"/>
</Patterns>
<Patterns Type="Exclude">
<Pattern Type="File" Path="C:\data\* [*.txt]"/>
</Patterns>
</MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
<MigUnit Name="&lt;System&gt;\DATA1 (CMXEAgent)">
<Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
<Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
</MigUnit>
</Perform>

Связанные разделы

Библиотека XML-элементов

Синтаксис команды ScanState

Синтаксис команды LoadState