Установка и использование VMWare PowerCLI для управления ESXi и vSphere

PowerCLI для VMware vSphere — невероятно мощный инструмент, основанный на Microsoft PowerShell. PowerCLI позволяет выполнять из командной строки 98% рутинных операций по управлению виртуальной инфраструктурой. PowerCLI – это инструмент, который позволяет централизованно управлять из командной строки серверами ESXi и vCenter Server. При помощи утилиты PowerCLI возможно создавать сценарии, контролировать состояние виртуальных машин, хранилищ, сетей, пользователей и автоматизировать ряд процессов.

PowerCLI можно установить на компьютеры с Microsoft Windows 7 / Windows Server 2008 R2 и выше и Ubuntu.

В состав PowerCLI вход более 1900 командлетов для управления облачной и виртуальной инфраструктурой VMware (vSphere, vSAN, vRealize Operations Manager, vCloud Director, Site Recovery Manager, Horizon 7 and vCloud Air). При выполнении командлета происходит обращение к API на указанном сервере ESXi или сервере vCenter и выполняет свою работу на этом сервере.

Вы можете бесплатно скачать последнюю версию VMware PowerCLI 6.5 с сайта VMWare (потребуется регистрация).

скачать  VMware PowerCLIс сайта VMWare

Установка VMWare PowerCLI не требует особых комментариев – просто щелкайте Next.

vmware vsphere powercli установка

Если вы не хотите устанавливать толстого клиента PowerCLI, вы можете установить модуль VMware.PowerCLI из интернета с помощью следующей команды PowerShell.

Install-Module -Name VMware.PowerCLI -AllowClobber -Force

Для запуска консоли PowerCLI просто запустите ярлык VMWare VSphere PowerCLI с правами администратора.

запуск vmware powercli в windows

Для отображения списка доступных команд в консоли PowerCLI наберите:

Get–Command

powercli - вывести список доступных командлетов

Получить список команд для виртуальных машин можно так:

Get-Command *vm

Для получения справки о назначении, и примерами использования того или иного командлета PowerCLI можно воспользоваться командой help (Get-Help), например:

help Connect–VIServer –Full

help Connect–VIServer –Examples

Чтобы начать управление виртуальной инфраструктурой, нужно подключится к vCenter Server или к конкретному серверу ESXi. Для этого используется команду Connect-VIServer. Команда подключения может выглядеть так:

Connect-VIServer vsphere6 -User corp\aborisov_admin -Password VMware1!

Connect-VIServer подключение к vmware vcenter powercli

Чтобы получить список виртуальных машин, которые зарегистрированы на вашем сервере ESXi (или vCenter), выполните команду:

Get–VM

Можно вывести только включенные ВМ:

Get-VM | Where {$_.Powerstate -eq “PoweredOn”} | Select Name, VMHost, NumCPU, MemoryMB| ft

powercli вывести список включенных виртуальных машин в vmware vsphere

Список виртуалных машин можно выгрузить в CSV, XML или HTML файл с помощью pipline и командлетов Export-Csv, ConvertTo-Xml, ConvertTo-Html.

Информация. PowerCLI работает в режиме только чтения (read-only) с бесплатным VMware vSphere Hypervisor. Это означает, что вы можете использовать ее для просмотра каких-то свойств и значений хоста и ВМ, но не сможете их изменять.

Вы можете вывести список снапшотов для конкретной ВМ так:

Get-VM| Get-Snapshot| Format-List

Чтобы выполнить VMotion и переместить запущенную ВМ на другой хост, воспользуйтесь командой Move-VM. Например, мы хотим перенести все ВМ с хоста esxi1 на esxi2:

Get-VMHost esxi1|Get-Vm| Move-VM –Destination (Get-VMHost esxi2)

Чтобы создать новую виртуальную машину используются командлет New-VM:

New-VM –Name VMname1 -VMHost esxi1 –ResourcePool Production –DiskGB 20 –DiskStorageFormat Thin –Datastore EVA64VMFS

С помощью командлетов можно взаимодействовать и с гостевой операционной системой. Для этого на ней должны быть установлены VMware Tools. Вы можете обновить VMware Tools так:

Get-VMGuest VMname1 | Update-Tools

Чтобы скопировать определенный файл на все ВМ, выполните команду:
Get-VM | Copy-VMGuestFile -Source c:\ps\reset_id.vbs -Destination c:\ps\ -GuestToLocal -HostUser root -HostPassword P@ssw0rd -GuestUser administrator -GuestPassword $uper$trong2

С помощью командлета Invoke-VMS можно выполнить скрипт в гостевой ОС виртуальной машины с Windows:

$script = '"%programfiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe" /report "%tmp%\inforeport"'

Invoke-VMScript -ScriptText $script -VM VMname1 -HostCredential $hostCredential -GuestCredential $guestCredential -ScriptType Bat


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

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

Я не робот( Обязательно отметьте)