You cannot import a virtual machine by using Hyper-V Manager or System Center Virtual Machine Manager (SCVMM) on a Hyper-V server

This article helps fix a 0x80070057 error that occurs when you try to import a virtual machine that has been exported by using Hyper-V Manager.

Original product version:   Windows Server 2012 R2
Original KB number:   968968

Symptoms

When you try to import a virtual machine that has been exported by using Hyper-V Manager, you cannot import the virtual machine by using Hyper-V Manager on a different Hyper-V server. Additionally, you receive an error message that resembles the following:

A Server error occurred while attempting to import the virtual machine. Failed to import the virtual machine from import directory <Directory Path>. Error: One or more arguments are invalid (0x80070057).

When you try to use System Center Virtual Machine Manager (SCVMM) to import a virtual machine that was exported by using Hyper-V Manager, you receive the following error message:

Error (12700) VMM cannot complete the Hyper-V operation on the <server FQDN> server because of the error: Failed to import the virtual machine from import directory <Directory Path>. Error: One or more arguments are invalid (0x80070057) (Unknown error (0x8005))

Workaround

To work around this issue, follow these steps:

  1. Locate the exported virtual machine folder, and then open the .exp file.

  2. In the line between <VALUE> and </VALUE>, delete the GUID. Here is a sample that shows a code example from the .exp file and the value that you should remove:

    <PROPERTY NAME="ScopeOfResidence" TYPE="string">
        <VALUE>
          222dea57-bedd-465c-8fe4-54f2ad7ae699         ** => DELETE THIS GUID**
        </VALUE>
      </PROPERTY>
    
  3. Save the changes, and then exit Notepad.

  4. Import the modified virtual machine again.

If you want to resolve this issue automatically, you can run a Visual Basic script on a Hyper-V server before you import a virtual machine to the Hyper-V server:

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  

For more information about the script, visit the following Web site: https://social.technet.microsoft.com/Forums/winserverhyperv/thread/5b731f1a-f495-4d88-a875-0eea77ecd6b4/

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.