Przewodnik VMWare PowerCLI: jak zainstalować i używać?

PowerCLI dla VMware vSphere to niezwykle potężne narzędzie oparte na Microsoft PowerShell. PowerCLI pozwala centralnie zarządzać serwerami ESXi i vCenter z poziomu wiersza poleceń i pozwala wykonywać do 98% rutynowych zadań zarządzania infrastrukturą wirtualną bez GUI. Za pomocą narzędzia PowerCLI można tworzyć skrypty, monitorować stan maszyn wirtualnych, magazynów, sieci, użytkowników i automatyzować wiele procesów.

PowerCLI zawiera ponad 1900 cmdletów do zarządzania chmurą VMware i infrastrukturą wirtualną: vSphere, vSAN, vRealize Operations Manager, vCloud Director, Site Recovery Manager, Horizon i vCloud Air. Podczas wykonywania poleceń cmdlet interfejs API jest wywoływany na określonym serwerze ESXi lub serwerze vCenter i wykonuje operacje na tym zdalnym serwerze.

PowerCLI można zainstalować na komputerach z systemem Microsoft Windows 7 / Windows Server 2008 R2 i nowszym, Ubuntu.

Możesz pobrać najnowszą wersję VMware PowerCLI 6.5 ze strony internetowej VMWare (wymagana rejestracja).

PowerCLI

Instalacja VMWare PowerCLI nie wymaga żadnych specjalnych komentarzy — wystarczy kliknąć przycisk Dalej.

vsphere powercli

Jeśli nie chcesz instalować grubego klienta PowerCLI, możesz zainstalować moduł VMware.PowerCLI z Internetu za pomocą następującego polecenia PowerShell:

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

Aby uruchomić konsolę PowerCLI, po prostu uruchom skrót VMWare VSphere PowerCLI jako administrator.

vmware powercli

Aby wyświetlić listę dostępnych poleceń w konsoli PowerCLI, wpisz:

Get – Command

Narzędzie vsphere powercli

Możesz uzyskać listę poleceń dla maszyn wirtualnych w następujący sposób:

Get-Command * vm

Aby uzyskać pomoc dotyczącą przypisania i pokazywania rozwiązań dotyczących używania tego lub innego polecenia cmdlet PowerCLI, możesz użyć polecenia help (Get-Help), na przykład:

help Connect – VIServer –Full
help Connect – VIServer –Examples

Aby rozpocząć zarządzanie infrastrukturą wirtualną, musisz połączyć się z serwerem vCenter Server lub określonym serwerem ESXi. Aby to zrobić, użyj polecenia Connect-VIServer. Polecenie połączenia może wyglądać następująco:

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

narzędzie powercli

Aby uzyskać listę maszyn wirtualnych zarejestrowanych na serwerze, uruchom następujące polecenie:

Uzyskaj – VM

Możesz wyświetlić tylko maszyny wirtualne z napędem:

Get-VM | Gdzie {$ _. Powerstate -eq „PoweredOn”} | Wybierz Nazwa, VMHost, NumCPU, MemoryMB | ft

narzędzie vmware powercli

Lista maszyn wirtualnych może być eksportowana do pliku CSV, XML lub HTML za pomocą pipeline i poleceń cmdlet Export-Csv, ConvertTo-Xml, ConvertTo-Html.

Uwaga. PowerCLI działa w trybie tylko do odczytu z ESXi Free Hypervisor (darmowa licencja). Oznacza to, że możesz go użyć do wyświetlenia niektórych właściwości i wartości, ale nie możesz ich zmienić.

Możesz wyświetlić migawki dla konkretnej maszyny wirtualnej w następujący sposób:

Get-VM | Pobierz migawkę | Lista formatów

Aby wykonać VMotion i przenieść działającą maszynę wirtualną na inny host, użyj polecenia Move-VM. Na przykład chcesz przenieść wszystkie maszyny wirtualne z hosta esxi1 do esxi2:

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

Aby utworzyć nową maszynę wirtualną, użyj polecenia cmdlet New-VM:

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

Możesz używać poleceń cmdlet PowerCLI do interakcji z systemem operacyjnym gościa, ale na nim musi być zainstalowany VMware Tools. Możesz zaktualizować Narzędzia VMware w następujący sposób:

Get-VMGuest VMname1 | Narzędzia aktualizacji

Aby skopiować określony plik na wszystkie maszyny wirtualne, uruchom następujące polecenie:

Get-VM | Copy-VMGuestFile -Source c: \ ps \ script1.vbs -Destination c: \ ps \ -GuestToLocal -HostUser root -HostPassword P @ ssw0rd -GuestUser administrator -GuestPassword P @ ssw0rd1

Za pomocą polecenia cmdlet Invoke-VMS można uruchomić skrypt w systemie-gościu:

$ script = '"% programfiles% \ Common Files \ Microsoft Shared \ MSInfo \ msinfo32.exe" / report "% tmp% \ inforeport"
Invoke-VMScript -ScriptText $ script -VM VMname1 -HostCredential $ hostCredential -GuestCredential $ guestCredential -ScriptType Bat
Link do głównej publikacji