Работа с Hyper-V и Windows PowerShell
Изучив основы развертывания Hyper-V, создания виртуальных машин и управления ими, давайте теперь узнаем, как можно автоматизировать многие из связанных с этим действий с помощью PowerShell.
Получение списка команд Hyper-V
- Нажмите кнопку "Пуск" в Windows и введите PowerShell.
- Запустите указанную ниже команду, чтобы отобразить список команд PowerShell, доступных в модуле PowerShell Hyper-V.
Get-Command -Module hyper-v | Out-GridView
Отобразится примерно следующее:
- Чтобы получить дополнительные сведения о конкретной команде PowerShell, введите команду
Get-Help
. Например, запустив указанную ниже команду, вы получите информацию о командеGet-VM
Hyper-V.
Get-Help Get-VM
Отобразится информация о синтаксисе команды, обязательных и дополнительных параметрах, а также псевдонимах, которые можно использовать.
Получение списка виртуальных машин
Чтобы извлечь список виртуальных машин, используйте команду Get-VM
.
- Выполните следующую команду в PowerShell:
Get-VM
Отобразится примерно следующее:
- Чтобы получить список только тех виртуальных машин, которые включены в данный момент, добавьте к команде
Get-VM
фильтр. Фильтр можно добавить командойWhere-Object
. Дополнительные сведения о фильтрации см. в статье Использование командлета Where-Object.
Get-VM | where {$_.State -eq 'Running'}
- Чтобы получить список всех отключенных виртуальных машин, запустите указанную ниже команду. Эта команда представляет собой копию команды, приведенной ранее (шаг 2), но только значение фильтра изменено с "Running" (Работают) на "Off" (Отключены).
Get-VM | where {$_.State -eq 'Off'}
Запуск и завершение работы виртуальных машин
- Чтобы запустить определенную виртуальную машину, выполните следующую команду с указанием имени виртуальной машины:
Start-VM -Name <virtual machine name>
- Чтобы запустить все отключенные на данный момент виртуальные машины, получить список этих машин и передать список команде
Start-VM
, используется следующая команда:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
- Чтобы завершить работу всех работающих виртуальных машин, запустите это:
Get-VM | where {$_.State -eq 'Running'} | Stop-VM
Создание контрольной точки виртуальной машины
Чтобы создать контрольную точку с помощью PowerShell, выберите нужную виртуальную машину, используя команду Get-VM
, и передайте ее в команду Checkpoint-VM
. В заключение присвойте контрольной точке имя, используя команду -SnapshotName
. Полностью команда выглядит так:
Get-VM -Name <VM Name> | Checkpoint-VM -SnapshotName <name for snapshot>
Создание новой виртуальной машины
Следующий пример демонстрирует создание виртуальной машины в интегрированной среде сценариев (ISE) PowerShell. Это простой пример. Его можно усложнить, добавив дополнительные функции PowerShell и расширенные сценарии развертывания виртуальной машины.
- Чтобы открыть среду ISE PowerShell, нажмите кнопку "Пуск" и введите PowerShell ISE.
- Запустите указанный ниже код для создания виртуальной машины. Подробные сведения о команде
New-VM
см. в документации по команде New-VM.
$VMName = "VMNAME"
$VM = @{
Name = $VMName
MemoryStartupBytes = 2147483648
Generation = 2
NewVHDPath = "C:\Virtual Machines\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 53687091200
BootDevice = "VHD"
Path = "C:\Virtual Machines\$VMName"
SwitchName = (Get-VMSwitch).Name
}
New-VM @VM
Подведение итогов и справочные материалы
Этот документ позволяет ознакомиться с модулем PowerShell Hyper-V на примере некоторых простых шагов, а также отдельными примерами сценариев. Дополнительные сведения о модуле PowerShell Hyper-V см. в справочнике по командлетам Windows PowerShell для Hyper-V.