Zainstaluj i użyj VMWare PowerCLI do zarządzania ESXi i vSphere

PowerCLI dla VMware vSphere to niezwykle potężne narzędzie oparte na Microsoft PowerShell. PowerCLI pozwala wykonywać 98% rutynowych operacji zarządzania infrastrukturą wirtualną z poziomu wiersza poleceń. PowerCLI to narzędzie, które pozwala centralnie zarządzać ESXi i vCenter Server z poziomu wiersza poleceń. 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 można zainstalować na komputerach z systemem Microsoft Windows 7 / Windows Server 2008 R2 i nowszym oraz Ubuntu.

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 7 i vCloud Air). Po uruchomieniu polecenia cmdlet interfejs API jest wywoływany na określonym serwerze ESXi lub serwerze vCenter i wykonuje swoją pracę na tym serwerze.

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

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

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, wystarczy uruchomić skrót VMWare VSphere PowerCLI z uprawnieniami administratora.

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

Uzyskaj polecenie

Możesz uzyskać listę poleceń dla maszyn wirtualnych:

Uzyskaj polecenie * vm

Aby uzyskać pomoc dotyczącą celu i przykłady użycia jednego lub drugiego polecenia cmdlet PowerCLI, można użyć polecenia help (Get-Help), na przykład:

pomoc Connect-VIServer -Full

pomoc 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 \ aborisov_admin -Password VMware1!

Aby wyświetlić listę maszyn wirtualnych zarejestrowanych na serwerze ESXi (lub vCenter), uruchom polecenie:

Get-VM

Można wyświetlać tylko włączone maszyny wirtualne:

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

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

Informacja. PowerCLI jest tylko do odczytu dzięki bezpłatnemu VMware vSphere Hypervisor. Oznacza to, że można go użyć do wyświetlenia niektórych właściwości i wartości hosta i maszyny wirtualnej, ale nie będzie można ich zmienić.

Możesz wyświetlić migawki dla konkretnej maszyny wirtualnej, takie jak to:

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

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

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

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

Nowa-VM -Nazwa VMname1 -VMHost esxi1 -ResourcePool Production -DiskGB 20 -DiskStorageFormat Thin -Datastore EVA64VMFS

Za pomocą poleceń cmdlet można wchodzić w interakcje z systemem operacyjnym gościa. Aby to zrobić, należy na nim zainstalować VMware Tools. Możesz zaktualizować Narzędzia VMware w następujący sposób:

Get-VMGuest VMname1 | Zaktualizuj narzędzia

Aby skopiować określony plik do wszystkich maszyn wirtualnych, uruchom polecenie:
Get-VM | Copy-VMGuestFile -Source c: \ ps \ reset_id.vbs -Destination c: \ ps \ -GuestToLocal -HostUser root -HostPassword P @ ssw0rd -GuestUser administrator -GuestPassword $ uper $ trong2

Za pomocą polecenia cmdlet Invoke-VMS można uruchomić skrypt w systemie-gościu maszyny wirtualnej 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