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