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ů:
Nainstalované integrační komponenty odpovídající podkladovému hypervizoru (Windows 8.1 nebo server 2012R2)
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.
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).