Копіюємо файли з хоста Hyper-V в віртуальну машину.
Четверта версія PowerShell, що вийшла разом з Windows Server 2012 R2, включає в себе кілька нових командлетів для управління Hyper-V. Одним з таких командлетів є командлет Copy-VMFile, що дозволяє копіювати файли в віртуальну машину безпосередньо, не використовуючи підключення до мережі.
Нагадаю, що утиліта VMConnect, що відповідає в Hyper-V за локальне підключення до ВМ, в стандартному режимі не дає можливість перенести в гостьову систему файли і папки, тільки текст. Правда є ще розширений режим підключення, але для нього необхідна підтримка гостьової системи, яка є тільки в новітніх ОС Windows.Для всіх інших ОС при необхідності скопіювати дані всередину ВМ необхідно налаштувати з'єднання з мережею.
За допомогою командлета Copy-VMFile можна скопіювати необхідні файли в ВМ безпосередньо з хоста, не використовуючи підключення по мережі. Для прикладу візьмемо віртуальну машину SRV2008R2 зі встановленою Windows Server 2008R2 (що виключає використання розширеного режиму) і скопіюємо в неї файл Doc.txt командою:
Copy-VMFile -Name SRV2008R2 -SourcePath "D: \ Doc.txt" -DestinationPath "C: \ Doc \ doc.txt" -CreateFullPath -FileSource Host
тут ключ SourcePath вказує розташування копійованого файлу на хості, DestinationPath - папку в віртуальній машині, в яку буде скопійований файл, CreateFullPath створює папку в разі її відсутності, а FileSource Host вказує в якості джерела локальний хост Hyper-V.
Для роботи командлет необхідне включення опції Гостьові служби (Guest services) в настройках ВМ на вкладці " Integration Services ". Зверніть увагу, що за замовчуванням ця опція вимкнена.
Також включити "Guest services" можна з консолі PowerShell. Спочатку перевіряємо їх стан:
Get-VMIntegrationService -Name "Guest Service Interface" -VMName SRV2008R2
І потім включаємо:
Enable-VMIntegrationService -Name "Guest Service Interface "-VMName SRV2008R2