Windows Server 2012 R2 Hyper-V přináší novou možnost přenosu souborů mezi hostitelem (fyzickým strojem) a virtuálním strojem. Pro tento přenos se využívá integračních komponent - resp. jedné části, která se skrývá pod názvem “Guest Services”. Tato možnost při vytvoření nového virtuálního stroje není povolena, je tedy nutné zapnout v konfiguraci VM v části integračních služeb. Kopírování souborů je možné z Windows 8.1, Windows Server 2012R2 a Hyper-V server 2012 R2, kopírovat je možné i do starších operačních systémů za splnění 2 předpokladů:

  1. Nainstalované integrační komponenty odpovídající podkladovému hypervizoru (Windows 8.1 nebo server 2012R2)
  2. povolené “Guest services” v konfiguraci integračních komponent

Jak zjistit verzi integračních komponent pomocí PowerShell:

   1: Get-VM | ft Name,IntegrationServicesVersion, IntegrationServicesState
Výstup může vypadat takto:

Výpis virtuálních strojů s povolenými Guest Services je možné např. pomocí PowerShell:

   1: Get-VM | Get-VMIntegrationService -name "Guest Service Interface"

Výstup může vypadat takto (Guest Services jsou povoleny pro DEMO-DC a DEMO-WXP):

Pokud bychom pomocí PowerShell chtěli vypsat pouze ty virtuální stroje, jenž nemají povoleny Guest services, pak je možné použít:

   1: Get-VM | Get-VMIntegrationService -name "Guest Service Interface" | where Enabled -eq $false

Výstup může vypadat takto:

Na závěr, nezbývá nežli povolit Guest Services u virtuálních strojů, které nemají povoleno pomocí PowerShell takto:

   1: Get-VM | Get-VMIntegrationService -name "Guest Service Interface" | where Enabled -eq $false | Enable-VMIntegrationService

Pokud následně vypíšeme seznam strojů s povolenými Guest Services:

Nutno podotknout, že je nutný restart virtuálního stroje, tedy stroje, jenž jsou uloženy nebo běží musí být restartovány.

Kopírování souborů do virtuálního stroje

Pro tuto operaci není dostupné grafické rozhraní, je tedy nutné použít PowerShell:

   1: Copy-VMFile -VMName demo-wxp -FileSource host -SourcePath .\WS2012_processors.mp4 -DestinationPath c:\demo.mp4

Proces pak bude vypadat následovně:

A výstup ve virtuálním stroji:

Jenom drobný příklad automatizace pomocí PowerShell:

   1: Copy-VMFile -VMName demo-wxp,demodc -FileSource host -SourcePath .\WS2012_processors.mp4 -DestinationPath c:\demo.mp4
   2: Get-VM | where State -eq "Running" | Copy-VMFile -FileSource host -SourcePath .\WS2012_processors.mp4 -DestinationPath c:\demo.mp4

Kde první příklad: proveď Copy-VMFile na virtuální stroje demo-wxp a demodc.

Druhý příklad: proveď Copy-VMFile na všechny virtuální stroje, které jsou spuštěny (pokud se pokusíte kopírovat na VM, který není spuštěný, vcelku logicky je zobrazena chyba).

Je samozřejmě možné spouštět Copy-VMFile i na vzdáleném serveru zadáním parametru -ComputerName, či spustit jako úlohu na pozadí pomocí parametru -AsJob. Kompletní seznam parametrů je k dispozici na Microsoft TechNet.

- Ondřej Výšek, MVP

(článek byl převzat z webu optimalizovane-it.cz)