Как включить виртуальную машину через консоль PowerCLi для ESXi хоста

Posted by

Задача: разобрать, как подключиться к ESXi, включить определенную VM, а после подключиться к ней с указанными учетными данными.

В наличии есть ESXi версии 5.0.0 (Build914586), а также VM: srv-wsus которую нужно включить на данном хосте.

Приступаю к решению поставленной задачи:

Скачиваю с сайта vmware.com (потребуется зарегистрированный аккаунт) версию командного интерпретатора PowerCLI версии 5.0, после устанавливаем, в процессе установки нет ничего сложного, даже не подготовленный пользователь в этом сможет разобраться. Шаги: Далее (Next)– Далее (Next) – Далее (Next).

Запускаю командную оснастку:

Пуск – Все программы – Vmware — VMware vSphere PowerCLI – (т.к. моя система x64, то запускаю) — VMware vSphere PowerCLI, но после обнаруживаю, что в моей системе запрещено выполнение скриптов. Обычно так сделано по умолчанию,

Не удается загрузить файл C:\Program Files (x86)\VMware\Infrastructure\vSphere

PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1, таккак выполнение скрипто

в запрещено для данной системы. Введите «get-help about_signing» для получения

дополнительных сведений.

строка:1 знак:2

+ . <<<<  «C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\Script

s\Initialize-PowerCLIEnvironment.ps1″

+ CategoryInfo          : NotSpecified: (:) [], PSSecurityException

+ FullyQualifiedErrorId : RuntimeException

Чтобы разрешить запуск скриптов воспользуемся моей заметкой:

PS C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI> set-executionpolicy remotesigned

Изменение политики выполнения

Политика выполнения обеспечивает защиту компьютера от ненадежных скриптов.

Изменение политики выполнения может подвергнуть компьютер риску нарушения

системы безопасности, как описано в разделе справки, вызываемом командой

about_Execution_Policies. Изменить политику выполнения?

[Y] Да — Y  [N] Нет — N  [S] Приостановить — S  [?] Справка

(значением по умолчанию является «Y»):Y

Теперь авторизуюсь на моём ESXi:

PS C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI> cd c:\

Для справки: пользователь ekzorchik состоит в группе root и обладает полными правами к данному хосту.

PS C:\> connect-viserver -server 192.168.0.7 -protocol https -user ekzorchik -password 712mbddr@

ПРЕДУПРЕЖДЕНИЕ: There were one or more problems with the server certificate:

* The X509 chain could not be built up to the root certificate.

* The certificate’s CN name does not match the passed value.

Certificate: [Subject]

OID.1.2.840.113549.1.9.2=»1404297297,564d7761726520496e632e»,

CN=localhost.localdomain, E=ssl-certificates@vmware.com, OU=VMware ESX Server

Default Certificate, O=»VMware, Inc», L=Palo Alto, S=California, C=US

[Issuer]

O=VMware Installer

[Serial Number]

00A55B506FA329

[Not Before]

02.07.2014 14:34:58

[Not After]

31.12.2025 14:34:58

[Thumbprint]

433C98F28662EF8411EA14A303617BA6CFDCA791

The server certificate is not valid.

ПРЕДУПРЕЖДЕНИЕ: THE DEFAULT BEHAVIOR UPON INVALID SERVER CERTIFICATE WILL

CHANGE IN A FUTURE RELEASE. To ensure scripts are not affected by the change,

use Set-PowerCLIConfiguration to set a value for the InvalidCertificateAction

Name                           Port  User

—-                           —-  —-

192.168.0.7                    443   ekzorchik

PS C:\>

Выведем, какие виртуальные машины есть на данном хосте:

PS C:\> get-vm

Name                 PowerState Num CPUs MemoryGB

—-                 ———- ——— ———

1C_83                PoweredOn  8        20,000

vmwHost0             PoweredOff 2        6,000

ELMEBETAL            PoweredOn  1        2,000

KERIO                PoweredOn  4        4,000

srv-wsus             PoweredOn  2        2,000

srv-ad               PoweredOn  2        2,000

CRM                  PoweredOn  4        2,000

CAD4                 PoweredOn  1        1,000

Мне нужно включить VM: srv-wsus, она сейчас выключена, включаю:

PS C:\> get-vm | where-object {$_.Name -eq "srv-wsus"} | start-vm

Name                 PowerState Num CPUs MemoryGB

—-                 ———- ——— ———

srv-wsus             PoweredOn  2        2,000

Проверяю, что у данной VMпорт: 3389 открыт, через некоторое время после которого запустил виртуальную машину:

PS C:\> telnet srv-wsus 3389

В ответ консоль командной строки должна стать полностью черной, без каких либо символов, этим характеризуется, что VMвключилась и к ней уже можно подключиться через клиент удаленного подключения, делаю:

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

PS C:\> cmdkey /generic:TERMSRV/"srv-wsus" /user:"Administrator" /pass:"712mbddr@"

CMDKEY. Учетные данные добавлены успешно.

, если неправильно указали, к примеру, пароль, то удаляем учетные данные, так:

PS C:\> cmdkey /delete:TERMSRV/"srv-wsus"

CMDKEY. Учетные данные удалены успешно.

, если же учетные данные верны то подключаемся:

PS C:\> /v:"srv-wsus"

Успешное подключение к системе с сохраненными учетными данными

Из скриншота выше я наглядно демонстрирую, что удаленное подключение к системе с предопределенными учетными данными прошло успешно.

Можно сказать, что поставленная задача выполнена. Данная задача ставилась себе с целью последующего автоматизированного управления с одного места и посредством консольных утилиты, а не GUI’шный, т.к. в моем случае узнавая, как подключиться и обслуживать удаленные системы через консоль я получаю наивысшее удовольствие, мне это интересно. Стараюсь все делать через консоль, хотя сперва пробую через GUI интерфейс, а же после через консоль, но консоль потом становится на первом место. Вообщем-то все под данной заметки, до встречи, с уважением автор блога ekzorchik.

One comment

  1. Спасибо большое, вот этот способ аутентификации с сохраненными учетными данными для RDP соединения мне очень был нужен, теперь не ставя никакой софт а используя лишь внутренности консольных системных утилит у меня все работает. Спасибо ekzorchik. Так держать.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

12 − 10 =