Depuis Windows Server 2012, il est possible de copier directement des fichiers depuis l'hôte Hyper-V vers une machine virtuelle avec PowerShell.
Pour cela les services d'invité doivent être activé sur la machine virtuelle. Il est possible de le faire depuis les paramètres :
Vous pouvez utiliser la commande PowerShell suivante pour lister les VMs, sur lesquels les services d'invités sont activés :
Get-VM | Get-VMIntegrationService |where { $_.name -eq "Interface de services d'invité" } `
| select VMName,name,Enabled
Vous pouvez activer le service invité sur une VM avec la commande :
Enable-VMIntegrationService -VMName 2008DC1 -Name "Interface de services d'invité"
Vous pouvez l'activer sur l'ensemble des VMs avec la commande :
Get-VM | Enable-VMIntegrationService -Name "Interface de services d'invité" -Passthru
La commande PowerShell « Copy-VMFile » permet de copier le fichier. Dans l'exemple ci-dessous, « $vm » est le nom de la machine virtuelle, « $source » l'emplacement du fichier à copier sur l'hyperviseur et « $dest » la destination sur la machine virtuelle.
$vm="File-1" #
$source="D:\Update\FichierSource.ext"
$dest="c:\Update\FichierDestination.ext"
Copy-VMFile -Name $vm -SourcePath $source -DestinationPath $dest `
-FileSource Host -CreateFullPath