Как администрировать Microsoft Hyper-V из командной строки (CLI)

Опубликовано: 22 Апреля, 2023

Введение

Использование интерфейсов с графическим интерфейсом, таких как Hyper-V Manager или System Center Virtual Machine Manager (SCVMM), позволяет быстро и легко управлять Hyper-V. Однако во многих случаях вы можете сделать что-то быстрее, если у вас есть готовый сценарий командной строки. Или много раз вам приходилось использовать инструменты командной строки для управления Hyper-V, если вы хотите инициировать какое-либо действие через сценарий. В этой статье я покажу вам, как использовать Powershell для управления и настройки Microsoft Hyper-V.

Установка PowerShell

Для управления Hyper-V из командной строки вам понадобится Powershell. Вы можете установить его как на свой сервер Hyper-V (чтобы начать тестирование на локальной машине), так и на свой локальный ПК (чтобы вы могли удаленно запускать команды Powershell на сервер). В моем случае я просто установил его на сервер, так как именно там я буду демонстрировать команды Hyper-V Powershell.

Чтобы установить Powershell в Windows 2008, перейдите в «Диспетчер серверов», затем в «Функции». Щелкните Добавить функции. Установите флажок Windows Powershell и нажмите «Далее».

Изображение 28061
Рис. 1. Установка компонента Windows Powershell

Теперь нажмите «Установить», чтобы установить его.

Когда вы закончите, вы должны увидеть, что установка прошла успешно, и вы можете нажать «Закрыть».

Теперь, когда вы перейдете в «Пуск» — «Все программы», вы должны увидеть Windows Powershell, и вы можете нажать на Windows Powershell под ним.

Изображение 28062
Рисунок 2: Запуск инструмента командной строки Powershell

На этом этапе у вас должно появиться характерное темно-синее окно командной строки Windows Powershell, например:

Изображение 28063
Рисунок 3: Интерфейс Windows Powershell

Прежде чем вы действительно перейдете к запуску команд, есть кое-что еще, что вы действительно хотите получить — библиотеку Hyper-V Powershell.

Загрузка и установка библиотеки Hyper-V Powershell

Джеймс О’Нил — разработчик библиотеки управления Powershell для Hyper-V, и его библиотека бесценна, когда дело доходит до администрирования Hyper-V из командной строки. Чтобы загрузить и установить его, перейдите на указанный выше веб-сайт библиотеки управления Powershell и получите файл Hyperv.zip. Он содержит 2 файла внутри. Извлеките их в простой каталог, к которому вы можете легко получить доступ из командной строки, например C: emp, или создайте каталог, например C:powershell.

Теперь запустите PowerShell. Перейдите в каталог со сценариями библиотеки Hyper-V PowerShell.

Если вы не хотите использовать цифровую подпись сценариев PowerShell, вы можете временно отключить безопасность PowerShell, выполнив следующие действия:

Set-ExecutionPolicy без ограничений

Затем, чтобы загрузить эту новую библиотеку Hyper-V PowerShell, вам нужно сделать следующее:

. c: emphyperv.ps1

Обратите внимание на «точку», затем «пробел», а затем полный путь к файлу Hyper-V PS1. Это «точечное пространство» очень важно, потому что именно оно удерживает эту библиотеку в памяти на время сеанса PowerShell.

Отсюда вам будет выдано предупреждение системы безопасности, и вы должны нажать « R », чтобы запустить этот скрипт. Вы должны быть вознаграждены « Функциями виртуальной машины загружены » и списком всех команд, которые вы теперь можете выполнять, чтобы вы могли управлять своим сервером Hyper-V из командной строки PowerShell.

Вот как это выглядит:

Изображение 28064
Рисунок 4: Установка библиотеки Hyper-V PowerShell

Теперь, когда наша библиотека установлена, давайте узнаем, как ее использовать.

Администрирование Hyper-V с помощью библиотеки PowerShell

Руководство пользователя библиотеки Hyper-V PowerShell объясняет, как использовать почти 100 команд, включенных в библиотеку. И помните, что каждая из этих почти 100 команд имеет множество параметров. Таким образом, это огромная библиотека управления для Hyper-V, а не просто набор команд. Объяснение того, как использовать все команды, выходит за рамки этой статьи (именно поэтому существует 41-страничное руководство пользователя).

При этом позвольте мне показать вам, как использовать несколько основных команд в библиотеке Hyper-V PowerShell.

И имейте в виду, что любые команды, которые вы можете выполнять в командной строке, становятся экспоненциально более мощными в сочетании со сценариями, которые могут их разумно использовать.

Вот 5 команд библиотеки Hyper-V PowerShell и способы их использования:

  • Get-VMsummary — предоставляет подробную сводку обо всех гостевых виртуальных машинах на вашем сервере Hyper-V.

Изображение 28065
Рисунок 5: Выходные данные Get-VMsummary

  • Start-VM, Stop-VM, Suspend-VM и Shutdown-VM — назначение этих команд очевидно. Все, что вам нужно предоставить, — это VMElementName, как показано на рисунке 6.

Изображение 28066
Рисунок 6: Использование команды Start-VM

  • New-VM — как быстрее всего создать новую гостевую виртуальную машину? Просто введите New-VM, и вот что вы получите: новую виртуальную машину, которую вам еще нужно настроить и запустить.

Изображение 28067
Рисунок 7:
Создание новой виртуальной машины

  • Get-VMmemory перечисляет все виртуальные машины на хосте и объем их памяти.

Изображение 28068
Рисунок 8: Get-VMmemory

  • Get-VMsnapshot

Команда Get-VMsnapshot показывает все снимки, созданные в вашей среде Hyper-V. Когда дело доходит до моментальных снимков, вы также можете использовать такие команды, как Update-VMsnapshot, New-VMsnapshot, Apply-VMsnapshot, Get-VMsnapshotTree и Choose-VMsnapshot.

Изображение 28069
Рисунок 9: Get-VMsnapshot

Отдельное спасибо

Я хочу выразить особую благодарность Марку Уилсону и Джеймсу О`Нилу.

Идея этого поста возникла из видеоролика Марка Уилсона, посвященного управлению Hyper-V из командной строки. Для получения дополнительной информации о Марке посетите блог Марка.

Джеймс О`Нил — разработчик библиотеки управления Powershell для Hyper-V, и его библиотека превосходна! Вы можете узнать больше о Джеймсе в его блоге.

Вывод

В заключение, управление Hyper-V из командной строки необходимо для ИТ-администраторов. Делая это с помощью PowerShell, вы получаете еще больше возможностей. Хотя вы можете управлять Hyper-V с помощью PowerShell без библиотеки управления PowerShell — кому это нужно? Библиотека управления Powershell Джеймса О`Нилса для Hyper-V — огромный подарок для всех администраторов виртуализации, которые хотят использовать PowerShell и Hyper-V. Я призываю вас попробовать это для себя - это весело и легко!