このセクションの情報は、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.logSmigDeploy.log は %temp% に作成され、その他のログは %windir%\System32 に作成されます。

Windows Server 移行ツールの結果オブジェクトの内容を表示する

Windows Server 移行ツールのコマンドレットはすべて、結果をオブジェクトとして返します。結果オブジェクトを保存して、移行された設定とデータの詳細情報を照会することができます。また、結果オブジェクトを他の Windows PowerShell コマンドおよびスクリプトの入力情報として使用することもできます。

結果オブジェクトの説明

Windows Server 移行ツールの Import-SmigServerSetting コマンドレットと Export-SmigServerSetting コマンドレットは、MigrationResult オブジェクトの一覧で結果を返します。各 MigrationResult オブジェクトに、コマンドレットが処理したデータまたは設定、操作の結果、および関連するエラーまたは警告メッセージ (ある場合) に関する情報が含まれています。次の表は、MigrationResult オブジェクトのプロパティの説明を示しています。

プロパティ名定義

ItemType

Enum

移行された項目の種類。値には、FileFolderRegistryKeyShare、および EncryptedFile があります。

ID

String

移行された項目の ID。値の例には、Local UserLocal GroupDHCP などがあります。

Success

Boolean

True は、移行に成功した場合に表示されます。成功しなかった場合は False が表示されます。

DetailsList

List <MigrationResultDetails>

MigrationResultDetails オブジェクトの一覧。

Send-SmigServerData コマンドレットと Receive-SmigServerData コマンドレットは、MigrationDataResult オブジェクトの一覧で結果を返します。各 MigrationDataResult オブジェクトに、コマンドレットが処理したデータまたは共有、操作の結果、エラーまたは警告メッセージ (ある場合)、およびその他の関連情報が含まれています。次の表は、MigrationDataResult オブジェクトのプロパティの説明を示しています。

プロパティ名定義

ItemType

Enum

移行された項目の種類。値には、FileFolderShare、および Encrypted File があります。

SourceLocation

String

項目の移行元の場所。パス名で示されます。

DestinationLocation

String

項目の移行先の場所。パス名で示されます。

Success

Boolean

True は、移行に成功した場合に表示されます。成功しなかった場合は False が表示されます。

Size

Integer

項目のサイズ (バイト)。

ErrorDetails

List <MigrationResultDetails>

1 つの MigrationResultDetails オブジェクト。

Error

Enum

発生したエラーの列挙。

WarningMessageList

List <String>

警告メッセージの一覧。

次の表は、MigrationResultDetails オブジェクト内のオブジェクトのプロパティについて説明しています。これらのプロパティは、MigrationResult オブジェクトと MigrationDataResult オブジェクトの両方に共通です。

プロパティ名定義

Id

String

項目に関連する移行設定の名前。値の例として、IPConfigDNS があります。データの移行の場合、このプロパティは空です。

Messages

List <String>

詳細なイベント メッセージの一覧。

DetailCode

Integer

各イベント メッセージに関連付けられているエラー コードまたは警告コード。

Severity

Enum

イベントの重要度 (イベントが発生した場合)。値の例には、InformationErrorWarning などがあります。

Title

String

結果オブジェクトのタイトル。値の例として、NIC 物理アドレス (IP 構成の場合)、またはユーザー名 (ローカル ユーザーの移行の場合) があります。

次の例は、移行の完了後に結果オブジェクトの一覧を変数として保存し、その変数をクエリに使用して結果オブジェクトの内容を取得する方法を示しています。

結果オブジェクトの一覧をクエリ用の変数として保存するには
  1. コマンドレットを実行して結果を変数として保存するには、次の形式でコマンドを入力し、Enter キーを押します。

    $VariableName = $(Cmdlet)

    次に例を示します。

    $ImportResult = $(Import-SmigServerSetting -FeatureId DHCP -User all -Group -Path D:\rmt\DemoStore -force -Verbose)

    このコマンドによって、いくつかのパラメーターを指定した Import-SmigServerSetting コマンドレットが実行され、結果オブジェクトが変数 ImportResult に保存されます。

  2. Import-SmigServerSetting コマンドレットの操作が完了したら、次の形式でコマンドを入力し、Enter キーを押して、結果オブジェクトに含まれる情報を返します。

    $VariableName

    次の例では、変数は ImportResult という名前です。

    $ImportResult

    このコマンドによって、手順 1 の例で Import-SmigServerSetting によって返された結果オブジェクトに含まれる情報が返されます。次に、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 以降の例で示します。

  3. 一覧にあるすべての結果オブジェクトの特定のプロパティを表示するには、次の形式でコマンドを入力し、Enter キーを押します。

    $<変数名>| Select-Object -ExpandProperty <プロパティ名>

    次に例を示します。

    $importResult | Select-Object -ExpandProperty DetailsList
  4. Windows PowerShell コマンドレットを使用すると、より高度なクエリを実行して結果オブジェクトを分析することができます。次に例を示します。

    • 次のコマンドを実行すると、ID が Local User の結果オブジェクトの詳細のみが返されます。

      $ImportResult | Where-Object { $_.ID -eq "Local User" } | Select-Object -ExpandProperty DetailsList
    • 次のコマンドを実行すると、ID が Local User で、重要度が Warning のメッセージを含む結果オブジェクトの詳細のみが返されます。

      $ImportResult | Where-Object { $_.ID -eq "Local User" } | Select-Object -ExpandProperty DetailsList | ForEach-Object { if ($_.Severity -eq "Warning") {$_} }
    • 次のコマンドを実行すると、ID が Local User で、タイトルが Remote Desktop Users の結果オブジェクトの詳細のみが返されます。

      $ImportResult | Where-Object { $_.ID -eq "Local Group" } | Select-Object -ExpandProperty DetailsList | ForEach-Object { if ($_.Title -eq "Remote Desktop Users") {$_} }

結果の照会に関する詳細情報

上記の例で使用したコマンドレットの詳細については、次に示すその他の情報を参照してください。

Windows PowerShell のスクリプトの手法の詳細については、Microsoft Script Center の Web サイトにある Windows PowerShell の機能 (スクリプトの手法) に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=134862) を参照してください。