Dela via


Управление 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

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

Comments

  • Anonymous
    January 01, 2003
    Integration Services можно поставить и в Redhat Enterprise Linux и в Centos. Для них функция завершение работы будет корректно отрабатыавть.

  • Anonymous
    January 01, 2003
    По списку команд без описания очень многое понятно. При этом есть достаточно подробное описание в формате pdf. Учитывая что этот пак еще бетта - очень неплохо. Проверил - все работает. ЗЫ: очень полезный набор. Например, если имеем Hyper-V в режиме core, и не имеем возможности (временно или постоянно) подключаться к машине удаленно по winrm, а доступен только удаленный рабочий стол - то позволяет полностью управлять виртуальными машинами. Достаточно просто их создавать, запускать, останавливать, настраивать. В принципе все команды и так понятны, запускаешь без параметров - все видно, посмотреть параметры можно табом ...

  • Anonymous
    January 01, 2003
    2 pethead К сожалению не имею возможности разжевывать вам все детально и написание готовых скриптов в мои обязанности не входит. Те кому тема интересна, используя эти подсказки, будут копать дальше и научатся управлять Hyper-V с помощью Powershell. Благо сделать это не сложно. Если вам это пока не нужно, то просто не читайте. Менять что либо в этой ситуации и заранее писать готовые ответы на вопросы которые вы не потрудились задать, смысла не вижу.

  • Anonymous
    January 01, 2003
    не, не так. мне тут говорили что у вас тут есть зеркало куда смотреть и круглая штука чтобы на ней ногти свои рассматривать. а как на ней ездить я учиться не хочу и не буду, я и так за неё кучу бабла заплатил =))))

  • Anonymous
    January 01, 2003
    Модуль проимпортировали?

  • Anonymous
    December 25, 2009
    типа нахрена это все? я тоже могу написать кучу команд shell безо всякого практического смысла...

  • Anonymous
    December 25, 2009
    "вот вам двигатель, вот вам бензин (изобретатель бензина так же не я), но заправлять и запускать я не умею, в обязанности не входит, и пользоваться сам тоже не умею, предполагаю что освоить полеты или езду (не знаю что именно) вы сможете копнув дальше меня"

  • Anonymous
    January 08, 2010
    Я что-то тоже не очень понял в чем практическая польза списка комманд для PowerShell практически без описания... Лишними их конечно сложно назвать, но по-моему пост можно было бы закончить прямо на ссылке на саму библиотеку :)

  • Anonymous
    January 25, 2010
    Спасибо, отличный указатель направления куда копать :) P.S. Тем, кто любит всё разжеванное - продолжайте разжижать свой моск, всё равно им пользоваться ленитесь...

  • Anonymous
    February 11, 2010
    Хорошо выключить я смогу с помощью этой библиотеки и команды Shutdown-VM Но когда ее выполнять? опишу ситуацию подробнее... я установил linux debian 5.0 kernel 2.6.18 i386 собрал модули ядра, они у меня подгрузились гостевая система даже увидела и стала работать с seth но, увы "Завершение работы гостевой машины" не работает, работает только перезапуск почему-то ??? выдается такая ошибка: "не удалось завершить работу виртуальной машины ......." у меня первый вопрос почему так ? и второй вопрос как сделать так и главное через что, чтобы у меня вместо процесса выключения отдельной гостевой машины срабатывал скрипт который через эту библиотеку будет тушить машину, в hyper-v ждал и сервер не выключался

  • Anonymous
    February 16, 2010
    > но, увы "Завершение работы гостевой машины" не работает, работает только перезапуск почему-то ??? Потому что линукс, и потому что Integration Services не установлены. Так что переходите на Windows или SUSE :)

  • Anonymous
    February 24, 2010
    Хммм... Странно... Вроде как про RedHat писали, что он в Hyper-V поддерживается, но за исключением синтетических устройств, то есть Integration Services в нем не поддерживаются официально, а про CentOS вообще слова сказано не было. Или моя информация устарела?

  • Anonymous
    March 29, 2010
    Устарела. RHEL уже поддерживается.

  • Anonymous
    April 08, 2010
    К большому удивлению в данной библиотеке отсутствует командлет Backup-VM. Я так понял разработчик решил обойтись командой Export-VM, но работает это только на сохраненной или на остановленной VM. Т.е служба VSS не задействована

  • Anonymous
    December 26, 2010
    По поводу резервного копирования : www.inadmin.ru/.../hyper-v-backup-vhd-with-posh

  • Anonymous
    February 21, 2012
    А можно поподробней про параметры Remove-VMNic?

  • Anonymous
    March 01, 2012
    Что-то не пойму, я может что не так делаю, но мой шел эти команды не видит устанавливал так: скопировал на жд, запустил скрипт install.cmd