Управление Hyper-V с помощью Powershell

Во время выступлений я часто рассказываю о полезных возможностях Powershell. Сегодня хотелось бы поговорить о том, как Powershell может локально или удаленно управлять системой виртуализации Hyper-V.

Автоматизировать задачи создания виртуальных машин, дисков VHD и сетевых интерфейсов достаточно просто. Для этого нужно в систему с Powershell от имени администратора установить библиотеку PSHyperv, написанную одним из наших коллег Джеймсом О`Нилом.

Затем с помощью команд из этой библиотеки можно будет выполнять следующие операции:

 

Создание, удаление и поиск виртуальных машин,
New-VM , Remove-VM , Set-VM , Get-VM, Choose-VM

 Настройка ОЗУ, ЦПУ и дисковых контроллеров виртуальных машин
Get-VMCPUCount, Set-VMCPUCount, Get-VMMemory, Set-VMMemory
Get-VMDiskController
Add-VMSCSIController , Remove-VMSCSIcontroller
Add-VMDrive, Get-VMDrive, Remove-VMdrive
Add-VMDisk, Get-VMDisk, Set-VMDisk, List-VMDisk
Add-VMFloppyDisk, Get-VMFloppyDisk , 
Add-VMNewHardDisk

Создание, подключение и управление VHD файлами
New-VHD, Compact-VHD, Mount-VHD, Unmount-VHD, Get-VHDInfo,

Создание соединения к виртуальной машине
New-VMConnectSession

Получение и управление состояниями виртуальных машин
List-VMState , Set-VMState , Convert-VmState,
Ping-VM , Shutdown-VM , Start-VM, Stop-VM, Suspend-VM

Управление реестром гостевых машин
Get-VMKVP

Резервное копирование, создание мгновеннных снимков и экспорт виртуальных машин VMs
Backup-VM , Export-VM , New-VMSnapshot, Get-VMSnapshot, Choose-VMSnapshot , Apply-VMSnapshot, Remove-VMSnapshot, Get-VMSnapshotTree
Работа с виртуальными коммутаторами и сетевыми интерфейсами виртуальных машин
Add-VMNic, Remove-VMNic, Get-VMNic, List-VMNic, Choose-VMNic, Set-VMNICAddress, Set-VMNICConnection, Get-VMNicport ,
New-VMSwitchPort, Get-VMnicSwitch, Choose-VMSwitch, Get-VMByMACaddress

Как видите, все названия команд вполне очевидны и пользоваться ими довольно легко.