このセクションの情報は、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 | String | 移行された項目の ID。値の例には、Local User、Local Group、DHCP などがあります。 |
Success | Boolean | 値 True は、移行に成功した場合に表示されます。成功しなかった場合は False が表示されます。 |
DetailsList | List <MigrationResultDetails> | MigrationResultDetails オブジェクトの一覧。 |
Send-SmigServerData コマンドレットと Receive-SmigServerData コマンドレットは、MigrationDataResult オブジェクトの一覧で結果を返します。各 MigrationDataResult オブジェクトに、コマンドレットが処理したデータまたは共有、操作の結果、エラーまたは警告メッセージ (ある場合)、およびその他の関連情報が含まれています。次の表は、MigrationDataResult オブジェクトのプロパティの説明を示しています。
プロパティ名 | 型 | 定義 |
---|---|---|
ItemType | Enum | 移行された項目の種類。値には、File、Folder、Share、および 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 | 項目に関連する移行設定の名前。値の例として、IPConfig と DNS があります。データの移行の場合、このプロパティは空です。 |
Messages | List <String> | 詳細なイベント メッセージの一覧。 |
DetailCode | Integer | 各イベント メッセージに関連付けられているエラー コードまたは警告コード。 |
Severity | Enum | イベントの重要度 (イベントが発生した場合)。値の例には、Information、Error、Warning などがあります。 |
Title | String | 結果オブジェクトのタイトル。値の例として、NIC 物理アドレス (IP 構成の場合)、またはユーザー名 (ローカル ユーザーの移行の場合) があります。 |
例
次の例は、移行の完了後に結果オブジェクトの一覧を変数として保存し、その変数をクエリに使用して結果オブジェクトの内容を取得する方法を示しています。
結果オブジェクトの一覧をクエリ用の変数として保存するには |
コマンドレットを実行して結果を変数として保存するには、次の形式でコマンドを入力し、Enter キーを押します。
$VariableName = $(Cmdlet)
次に例を示します。
$ImportResult = $(Import-SmigServerSetting -FeatureId DHCP -User all -Group -Path D:\rmt\DemoStore -force -Verbose)
このコマンドによって、いくつかのパラメーターを指定した Import-SmigServerSetting コマンドレットが実行され、結果オブジェクトが変数 ImportResult に保存されます。
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 以降の例で示します。
一覧にあるすべての結果オブジェクトの特定のプロパティを表示するには、次の形式でコマンドを入力し、Enter キーを押します。
$<変数名>| Select-Object -ExpandProperty <プロパティ名>
次に例を示します。
$importResult | Select-Object -ExpandProperty DetailsList
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") {$_} }
- 次のコマンドを実行すると、ID が Local User の結果オブジェクトの詳細のみが返されます。
結果の照会に関する詳細情報
上記の例で使用したコマンドレットの詳細については、次に示すその他の情報を参照してください。
- Microsoft Script Center の Web サイトにある
Where-Object に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=134853) - Microsoft Script Center の Web サイトにある
Select-Object に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=134858) - Microsoft Script Center の Web サイトにある
ForEach-Object に関するページ (英語の可能性あり) (https://go.microsoft.com/fwlink/?LinkId=134860)
Windows PowerShell のスクリプトの手法の詳細については、Microsoft Script Center の Web サイトにある