PowerCLI. Invoke-VMScript. Установка IP-адреса гостя (static, DHCP).
В данной статье я расскажу как установить статический IP-адрес внутри гостевой системы посредством командлета Invoke-VMScript.
С помощью командлета Invoke-VMscript мы можем запускать скрипты внутри виртуальной машины. Для этого на гостевой ОС должны быть установлены VMware Tools и Windows Powershell.
Выполним
В параметре -InterfaceAlias «Ethernet0« необходимо указать имя вашего адаптера
Теперь выполним этот скрипт
В параметре -VM TestVM укажем имя требуемой ВМ.
Результат выполнения скрипта довольно обширный
Теперь создадим скрипт на установки IP-адреса DNC сервера
И снова запустим командлет Invoke-VMScript
После настройки адаптера нам хотелось бы убедиться в правильности настройки, запустив в госте ipconfig. Но заходить в консоль ВМ нет необходимости, — снова воспользуемся скриптом
Как видим все верно.
Но каждый раз модифицировать скрипт можно только в учебных целях. Для практических я задач я создал два скрипта, которые все делают за раз.
Первый скрип — это объединение рассмотренных выше скрпитов
Рассмотрим как он работает.
Блок New-NetIPAddress -InterfaceAlias «Ethernet0» -AddressFamily Ipv4 -IPAddress 10.10.10.210 -PrefixLength 24 -DefaultGateway 10.10.10.1 | Out-Null; устанавливает IP-адрес. При этом в окно терминала сообщения не выводятся, за что отвечает | Out-Null. Второй блок — установка DNC мы записываем после ; (точки с запятой), причем обязательно без пробелов. Затем идет команда Start-Sleep -Seconds 5, которая создает паузу в пять секунд, которая необходима для завершения обновления настроек на сетевом адаптере. Это время может быть как меньше так и больше, в зависимости от скорости обновления настроек в каждом конкретном случае. После этого выводится конфигурация сетевого адаптера.
Второй скрипт для получения адаптером сетевых настроек с DHCP сервера.
Первый блок — Remove-NetRoute -AddressFamily IPv4 -Confirm:$false удаляет маршруты. Если его не выполнять, то в настройках адаптера сохранится шлюз по умолчанию. Затем включается DHCP, удаляются существующие адреса DNS серверов для их получения посредством DHCP, также создается пауза для применения настроек и затем производится вывод полученной конфигурации.
Как видим, несмотря на наличие в скрипте командлета Out-Null, кроме конфигурации адаптера вывелась и информация о работе блока, очищающего маршрут. Вернее не работы — на экране мы видим именно ошибки, которые выводятся всегда и вне зависимости от наличия командлета Out-Null.