С помощью представленных в данном разделе сведений можно определить, был ли перенос, выполненный с помощью командлетов Средства миграции Windows Server, успешным или завершился неудачно. В случае сбоя эта информация может быть полезна для определения причин ошибок.
Устранение неполадок, возникающих в процессе переноса
Файл журнала развертывания Средства миграции Windows Server находится в каталоге %windir%\Logs\SmigDeploy.log. Дополнительные файлы журнала Средства миграции Windows Server создаются в следующих расположениях.
- %windir%\Logs\ServerMigration.log
- В Windows Server 2008 и Windows Server 2008 R2: %localappdata%\SvrMig\Log
- В Windows Server 2003: %userprofile%\Local Settings\Application Data\SvrMig\Log
Если файлы журнала переноса не могут быть созданы в указанных выше каталогах, ServerMigration.log и SmigDeploy.log создаются в каталоге %temp%, а другие файлы журнала - в каталоге %windir%\System32.
Просмотр содержимого объектов результатов средств переноса Windows Server
Все командлеты Средства миграции Windows Server возвращают результаты в виде объектов. Их можно сохранить и запросить дополнительные сведения о перенесенных параметрах и данных. Кроме того, эти объекты можно использовать в качестве входных данных для других команд и сценариев Windows PowerShell.
Описания объектов результатов
Командлеты Средства миграции Windows Server Import-SmigServerSetting и Export-SmigServerSetting возвращают результаты в список объектов MigrationResult. Каждый объект MigrationResult содержит сведения о данных или параметре, обрабатываемом командлетом, результат действий, связанные сообщения об ошибках и предупреждения. В следующей таблице описаны свойства объекта MigrationResult.
Имя свойства | Тип | Определение |
---|---|---|
ItemType | Enum | Тип перенесенного элемента. Значения: File, Folder, RegistryKey, Share и EncryptedFile. |
ID | Строка | Идентификатор перенесенного элемента. Примеры значений: Local User, Local Group и DHCP. |
Success | Логическое | Значение True отображается в случае успешного переноса; в противном случае отображается False. |
DetailsList | Список <MigrationResultDetails> | Список объектов MigrationResultDetails. |
Командлеты Send-SmigServerData и Receive-SmigServerData возвращают результаты в список объектов MigrationDataResult. Каждый объект MigrationDataResult содержит сведения о данных или общем ресурсе, обрабатываемом командлетом, результат действий, связанные сообщения об ошибках и предупреждения. В следующей таблице описаны свойства объекта MigrationDataResult.
Имя свойства | Тип | Определение |
---|---|---|
ItemType | Enum | Тип перенесенного элемента. Значения: File, Folder, Share и Encrypted File. |
SourceLocation | Строка | Исходное расположение элемента, отображаемое в виде имени пути. |
DestinationLocation | Строка | Конечное расположение элемента, отображаемое в виде имени пути. |
Success | Логическое | Значение True отображается в случае успешного переноса; в противном случае отображается False. |
Размер | Целое | Размер элемента в байтах. |
ErrorDetails | Список <MigrationResultDetails> | Один объект MigrationResultDetails. |
Ошибка | Перечисление | Перечисление возникших ошибок. |
WarningMessageList | Список <String> | Список предупреждающих сообщений. |
В следующей таблице представлено описание свойств объектов в объекте MigrationResultDetails, являющихся общими для объектов MigrationResult и MigrationDataResult.
Имя свойства | Тип | Определение |
---|---|---|
Id | Строка | Имя параметра переноса, связанного с элементом. Примеры значений: IPConfig и DNS. Это свойство пустое для переноса данных. |
Сообщения | Список <String> | Список подробных сообщений о событиях. |
DetailCode | Целое | Код ошибки или предупреждения, связанных с каждым сообщением о событии. |
Серьезность | Перечисление | Уровень серьезности события (при возникновении событий). Примеры значений: Information, Error и Warning. |
Название | Строка | Название объекта результата. Примеры значений: физический адрес NIC IP-конфигурации или имя пользователя для переноса локального пользователя. |
Примеры
В следующих примерах показан процесс сохранения списка объектов результатов в переменной и последующее использование переменной в запросе для возвращения содержимого этих объектов по завершении переноса.
Сохранение списка объектов результатов в качестве переменной для запросов |
Чтобы выполнить командлет и сохранить результат в переменной, введите команду в следующем формате, а затем нажмите клавишу ВВОД.
$VariableName = $(Cmdlet)
Пример приведен ниже.
$ImportResult = $(Import-SmigServerSetting -FeatureId DHCP -User all -Group -Path D:\rmt\DemoStore -force –Verbose)
Эта команда выполняет командлет Import-SmigServerSetting с несколькими заданными параметрами, а затем сохраняет объекты результатов в переменной ImportResult.
По завершении действий командлета Import-SmigServerSetting следует получить сведения, содержащиеся в объекте результата. Для этого введите команду в следующем формате, после чего нажмите клавишу ВВОД.
$VariableName
В следующем примере переменной присвоено имя ImportResult.
$ImportResult
Выполнение этой команды возвращает сведения, содержащиеся в объектах результатов, полученных с помощью Import-SmigServerSetting в примере на шаге 1. В следующем примере показан результат, отображаемый с помощью вызова переменной ImportResult.
ItemType ID Success DetailsList -------- -- ------- ----------- OSSetting Local User True {Local User, Loc... OSSetting Local Group True {Local Group, Lo... WindowsFeature DHCP True {}
Каждая строка в предыдущем примере является результатом переноса элемента, который был перенесен с использованием командлета Import-SmigServerSetting. Имена заголовков столбцов являются свойствами объектов MigrationResult. Эти свойства можно объединить в другой команде для возвращения более подробных сведений об объектах результатов, как показано в примерах на шаге 3 и ранее.
Для отображения конкретного свойства для всех объектов результата списка введите команду в следующем формате, а затем нажмите клавишу ВВОД.
$<имя_переменной>| Select-Object -ExpandProperty <имя_свойства>
Пример приведен ниже.
$importResult | Select-Object -ExpandProperty DetailsList
Для анализа объектов результатов с помощью командлетов Windows PowerShell можно выполнить дополнительные расширенные запросы. Примеры приведены ниже.
- Следующая команда возвращает только те сведения объектов результатов, которые содержат идентификатор Local User.
$ImportResult | Where-Object { $_.ID -eq "Local User" } | Select-Object -ExpandProperty DetailsList
- Следующая команда возвращает только те сведения объектов результатов с идентификатором Local User, уровень серьезности сообщения которых имеет значение Warning.
$ImportResult | Where-Object { $_.ID -eq "Local User" } | Select-Object -ExpandProperty DetailsList | ForEach-Object { if ($_.Severity -eq "Warning") {$_} }
- Следующая команда возвращает только сведения объектов результатов с идентификатором Local User и названием Remote Desktop Users.
$ImportResult | Where-Object { $_.ID -eq "Local Group" } | Select-Object -ExpandProperty DetailsList | ForEach-Object { if ($_.Title -eq "Remote Desktop Users") {$_} }
- Следующая команда возвращает только те сведения объектов результатов, которые содержат идентификатор Local User.
Дополнительные сведения о результатах запроса
Дополнительные сведения о командлетах, использованных в предыдущих примерах, см. в следующих материалах.
Where-Object на веб-сайте центра разработки сценариев Майкрософт (https://go.microsoft.com/fwlink/?LinkId=134853).Select-Object на веб-сайте центра разработки сценариев Майкрософт (https://go.microsoft.com/fwlink/?LinkId=134858).ForEach-Object на веб-сайте центра разработки сценариев Майкрософт (https://go.microsoft.com/fwlink/?LinkId=134860).
Дополнительные сведения о способах создания сценариев Windows PowerShell см. в статье