Hyper-V マネージャーまたは Hyper-V サーバー上のSystem Center Virtual Machine Manager (SCVMM) を使用して仮想マシンをインポートすることはできません

この記事は、Hyper-V マネージャーまたは Hyper-V サーバー上のSystem Center Virtual Machine Manager (SCVMM) を使用してエクスポートされた仮想マシンをインポートしようとしたときに発生する0x80070057 エラーを修正するのに役立ちます。

適用対象: Windows Server 2012 R2
元の KB 番号: 968968

現象

Hyper-V マネージャーを使用してエクスポートされた仮想マシンをインポートしようとすると、別の Hyper-V サーバーで Hyper-V マネージャーを使用して仮想マシンをインポートすることはできません。 さらに、次のようなエラー メッセージが表示されます。

仮想マシンのインポート中にサーバー エラーが発生しました。 インポート ディレクトリ <ディレクトリパス>から仮想マシンをインポートできませんでした。 エラー: 1 つ以上の引数が無効です (0x80070057)。

System Center Virtual Machine Manager (SCVMM) を使用して、Hyper-V マネージャーを使用してエクスポートされた仮想マシンをインポートしようとすると、次のエラー メッセージが表示されます。

エラー (12700) VMM は、サーバー FQDN> サーバーで< Hyper-V 操作を完了できません。インポート ディレクトリ<ディレクトリパス>から仮想マシンをインポートできませんでした。 エラー: 1 つ以上の引数が無効です (0x80070057) (不明なエラー (0x8005))

回避策

この問題を回避するには、以下の手順を実行します。

  1. エクスポートした仮想マシン フォルダーを見つけて、.exp ファイルを開きます。

  2. VALUE と </VALUE>> の間<の行で、GUID を削除します。 .exp ファイルのコード例と、削除する必要がある値を示すサンプルを次に示します。

    <PROPERTY NAME="ScopeOfResidence" TYPE="string">
        <VALUE>
          222dea57-bedd-465c-8fe4-54f2ad7ae699         ** => DELETE THIS GUID**
        </VALUE>
      </PROPERTY>
    
  3. 変更を保存し、メモ帳を終了します。

  4. 変更した仮想マシンをもう一度インポートします。

この問題を自動的に解決する場合は、Hyper-V サーバーに仮想マシンをインポートする前に、Hyper-V サーバーで Visual Basic スクリプトを実行できます。

Option Explicit

Dim WMIService
Dim VMList
Dim VM
Dim VMSystemGlobalSettingData
Dim VMManagementService
Dim Result

'Get instance of 'virtualization' WMI service on the local computer
Set WMIService = GetObject("winmgmts:\\.\root\virtualization")
  
'Get a VMManagementService object
Set VMManagementService = WMIService.ExecQuery("SELECT * FROM Msvm_VirtualSystemManagementService").ItemIndex(0)

'Get all the MSVM_ComputerSystem object
Set VMList = WMIService.ExecQuery("SELECT * FROM Msvm_ComputerSystem")

For Each VM In VMList
   if VM.Caption = "Virtual Machine" then
       Set VMSystemGlobalSettingData = (VM.Associators_("MSVM_ElementSettingData", "Msvm_VirtualSystemGlobalSettingData")).ItemIndex(0)
       VMSystemGlobalSettingData.ScopeOfResidence = ""  
       Result = VMManagementService.ModifyVirtualSystem(VM.Path_.Path, VMSystemGlobalSettingData.GetText_(1))
    end if
Next  

状態

Microsoft は、この記事の冒頭に記載されている Microsoft 製品の問題であることを確認しました。