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 не вимагає особливих коментарів - просто клацайте Next.
Якщо ви не хочете встановлювати товстого клієнта PowerCLI, ви можете встановити модуль VMware.PowerCLI з інтернету за допомогою наступної команди PowerShell.
Install-Module -Name VMware.PowerCLI -AllowClobber -Force
Для запуску консолі PowerCLI просто запустіть ярлик VMWare VSphere PowerCLI з правами адміністратора.
Для відображення списку доступних команд в консолі PowerCLI наберіть:
Get-Command
Отримати список команд для віртуальних машин можна так:
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!
Щоб отримати список віртуальних машин, які зареєстровані на вашому сервері ESXi (або vCenter), виконайте команду:
Get-VM
Можна вивести тільки включені ВМ:
Get-VM | Where $ _. Powerstate -eq "PoweredOn" | Select Name, VMHost, NumCPU, MemoryMB | ft
Список віртуалних машин можна вивантажити в 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