Vous ne pouvez pas importer une machine virtuelle à l’aide du Gestionnaire Hyper-V ou System Center Virtual Machine Manager (SCVMM) sur un serveur Hyper-V

Cet article vous aide à corriger une erreur 0x80070057 qui se produit lorsque vous essayez d’importer une machine virtuelle qui a été exportée à l’aide du Gestionnaire Hyper-V ou de System Center Virtual Machine Manager (SCVMM) sur un serveur Hyper-V.

S’applique à : Windows Server 2012 R2
Numéro de la base de connaissances d’origine : 968968

Symptômes

Lorsque vous essayez d’importer une machine virtuelle qui a été exportée à l’aide du Gestionnaire Hyper-V, vous ne pouvez pas importer la machine virtuelle à l’aide du Gestionnaire Hyper-V sur un autre serveur Hyper-V. En outre, vous recevez un message d’erreur qui ressemble au suivant :

Une erreur de serveur s’est produite lors de la tentative d’importation de la machine virtuelle. Échec de l’importation de la machine virtuelle à partir du chemin> du répertoire< d’importation. Erreur : Un ou plusieurs arguments ne sont pas valides (0x80070057).

Lorsque vous essayez d’utiliser System Center Virtual Machine Manager (SCVMM) pour importer une machine virtuelle qui a été exportée à l’aide du Gestionnaire Hyper-V, le message d’erreur suivant s’affiche :

Erreur (12700) VMM ne peut pas terminer l’opération Hyper-V sur le <serveur FQDN> du serveur en raison de l’erreur : Échec de l’importation de la machine virtuelle à partir du chemin> du répertoire< d’importation. Erreur : Un ou plusieurs arguments ne sont pas valides (0x80070057) (Erreur inconnue (0x8005))

Solution de contournement

Pour contourner ce problème, procédez comme suit :

  1. Recherchez le dossier de la machine virtuelle exportée, puis ouvrez le fichier .exp.

  2. Dans la ligne entre <VALUE> et </VALUE>, supprimez le GUID. Voici un exemple qui montre un exemple de code du fichier .exp et la valeur que vous devez supprimer :

    <PROPERTY NAME="ScopeOfResidence" TYPE="string">
        <VALUE>
          222dea57-bedd-465c-8fe4-54f2ad7ae699         ** => DELETE THIS GUID**
        </VALUE>
      </PROPERTY>
    
  3. Enregistrez les modifications, puis quittez le Bloc-notes.

  4. Réimportez la machine virtuelle modifiée.

Si vous souhaitez résoudre ce problème automatiquement, vous pouvez exécuter un script Visual Basic sur un serveur Hyper-V avant d’importer une machine virtuelle sur le serveur Hyper-V :

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  

Statut

Microsoft a confirmé qu’il s’agit d’un problème dans les produits Microsoft répertoriés au début de cet article.