Hướng dẫn cài đặt PowerCLI trên windows 10

VMware PowerCLI hay gọi tắt là PowerCLI là công cụ giúp quản trị viên sử dụng dòng lệnh trên môi trường windows để quản lý nhằm tự động hóa hạ tầng Vmware. Nếu bạn cảm thấy giao diện UI nhàm chán rồi hoặc muốn khai thác khả năng tự động hóa thì thử cài PowerCLI theo hướng dẫn này nhé. PowerCLI có thể tương tác với toàn bộ các cấu phần trong bộ sản phẩm của vmware như: vCenter, ESXi, vSAN, NSX …

Dùng PowerCLI thì làm được gì:

  • Thay đổi các tương tác GUI như thường gặp với VMware.
  • Cung cấp công cụ để tự động hóa các việc lặp đi lặp lại mà sysadmin hay gặp với VMware: Tạo, sửa, xóa, theo dõi, kiểm tra log và nhiều thứ kỳ diệu khác.
  • Kích thích khả năng khám phá của bản thân.
  • Nâng cao kỹ năng tìm hiểu, học tập của cá nhân.

Mô hình

Mô hình triển khai PowerCLI rất đơn giản, bạn chỉ cần các điều kiện sau:

  • Máy laptop hoặc desktop hoặc máy ảo với hệ điều hành là Windows 10 (update bản mới nhất).
  • Máy windows 10 có khả năng kết nối internet để lấy gói về.
  • Cùng dải mạng quản trị của hạ tầng vSphere.
  • Có các tài khoản quản trị cần thiết của hạ tầng Vmware.
Mô hình triển khai PowerCLI đơn giản.

Trong mô hình trên, HCĐ sẽ cài hướng dẫn cài đặt PowerCLI trên máy laptop, sử dụng Windows 10 Enterprise 64 bit.

Cài đặt PowerCLI

Bước 1: Tạo thư mục chứa các module của PowerCLI

Login vào máy windows 10 và tạo thư mục chứa các module của PowerCLI sẽ sử dụng. Trong hướng dẫn này tạo thư mục C:\Temp\PowerCLI

Tạo thư mục C:\Temp\PowerCLI

Bước 2: Mở PowerShell trong windows 10 với quyền administrator.

Mở Windows PowerShell với quyền admin

Ta có màn hình PowerShell như bên dưới.

Màn hình Windows PowerShell

Bước 3: Phân quyền thực thi từ xa

Thực hiện lệnh Set-ExecutionPolicy RemoteSigned , chọn A khi được hỏi.

Sau đó cài đặt Nuget bằng lệnh Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Force

Thực hiện phân quyền.

Bước 4: Download VMware.PowerCLI.

Tải VMware.PowerCLI bằng lệnh Save-Module -Name VMware.PowerCLI -Path C:\Temp\PowerCLI . Bạn cần chờ vài phút để máy thực hiện tải các module về thư mục đã tạo ở bước 1.

Thực hiện tải VMware.PowerCLI.
Quả trình tải diễn ra

Sau khi tải xong, trong thư mục chứa các module sẽ có các file như hình dưới.

Các file được tải về nằm tại thư mục đã tạo.

Trong quá trình tải về, nếu máy bạn có internet kém thì rất có thể gặp lỗi. Hãy xóa các file đã tải trước đó và thực hiện lệnh tải lại.

Bước 5: Copy các module VMware PowerCLI vào Windows PowerShell.

Thực hiện các lệnh sau để copy các module vừa tải về vào thư mục PowerShell, cần chờ vài phút vì dung lượng copy khoảng trên 300MB.

Copy-Item -Recurse C:\Temp\PowerCLI\* -Destination C:\Windows\System32\WindowsPowerShell\v1.0\Modules 
Copy các module vào PowerShell

Thực hiện import moudle VMware.

Import-Module VMware.VimAutomation.Core

Tại bước này sẽ có cảnh báo, bỏ qua cảnh báo này.

Import VMware Module.

Cấu hình để bỏ qua chế độ check SSL khi kết nối với vCenter hoặc ESXi host. Chọn Y khi được hỏi ở màn hình.

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore
Cấu hình bỏ qua SSL khi kết nối từ PowerCLI.

Tới đây đã kết thúc việc cài đặt PowerCLI từ Windows PowerShell. Ta có thể thực hiện vài lệnh để kiểm tra thông tin trước khi chuyển sang phầm tiếp theo.

Kiểm tra version của PowerCLI: Get-Module hoặc sử dụng lệnh Get-PowerCLIVersion

Kết quả lệnh Get-Module
Kết quả lệnh: Get-PowerCLIVersion

Hướng dẫn sử dụng PowerCLI cơ bản.

Sau khi cài đặt PowerCLI, ta sẽ tìm hiểu cách sử dụng cơ bản. Trong hướng dẫn này tôi sẽ dùng PowerCLI kết nói tới ESXi host (cũng khá tương tự khi kết nối tới vCenter)

Tiên quyết khi muốn quản trị, vận hành, tự động hóa được vSphere thì cần phải kết nối được và các hệ thống của VMware trước.

Thực hiện kết nối tới ESXi host bằng tài khoản quản trị root` bằng cú pháp lệnh dưới.

Connect-VIServer -Server IP_ESXi_HOST -User 'root' -Password 'XXXXX' -WarningAction SilentlyContinue

Trong đó cần chú ý các tham số:

  • -Server IP_ESXi_HOST : Khai báo địa chỉ của ESXi hoặc vCenter.
  • -User 'root': Tài khoản của ESXi hoặc vCenter.
  • -Password 'XXXXX': Mật khẩu
Kết quả sau khi kết nối thành công tới ESXi host.

Một vài lệnh làm quen với PowerCLI

Kiểm tra trạng thái SSH của host ESxi.

Get-VMHost | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } | Select VMHost, Label, Policy, Running | ft -auto
Trạng thái dịch vụ SSH.

Sẽ có lệnh thực hiện start, stop dịch vụ SSH (tham khảo ở tài liệu cuối bài).

Kiểm tra thời gian của host ESXi.

Get-VMHost | Select Name,@{Name="Time";Expression={(get-view $_.ExtensionData.configManager.DateTimeSystem).QueryDateTime()}}
Thời gian của host.

Nếu thực kiện kết nối vào vCenter thì sẽ ra thời gian của các host.

Hiển thị tất cả các máy ảo gồm các cột: Name, Cluster, Data Storage

Get-VM | Select Name, @{N=”Cluster”;E={Get-Cluster -VM $_}},@{N=”ESX Host”;E={Get-VMHost -VM $_}},@{N=”Datastore”;E={Get-Datastore -VM $_}}
 
Liệt kê VM và hiển thị các các cột theo ý muôn.

List các máy chưa cài VMware tool.

Get-View -ViewType “VirtualMachine” -Property Guest,name  -filter @{“Guest.ToolsStatus”=”toolsNotInstalled”;”Guest.GuestState”=”running”} | Select Name
Các máy chưa cài VMware Tool.

Liệt kê các máy có trên 2 vCPU.

Get-VM | Where {$_.NumCPU -gt 2} | Select Name, NumCPU
Các máy có trên 02 CPU.

Bạn có thể trải nghiệm với các lệnh dưới nữa nhé.

Hiển thị 10 máy mới tạo gần đây.

Get-VIEvent -maxsamples 10000 |where {$_.Gettype().Name-eq "VmCreatedEvent" -or $_.Gettype().Name-eq "VmBeingClonedEvent" -or $_.Gettype().Name-eq "VmBeingDeployedEvent"} |Sort CreatedTime -Descending |Select CreatedTime, UserName,FullformattedMessage -First 10

Hiển thị 05 VM đã bị remove khỏi host hoặc cluster.

Get-VIEvent -maxsamples 10000 | where {$_.Gettype().Name -eq "VmRemovedEvent"} | Sort CreatedTime -Descending | Select CreatedTime, UserName, FullformattedMessage -First 19

Liệt kê tất cả các snapshot

Get-VM | Get-Snapshot | Select VM,Name,Description,Created

Và bạn có thể tham khảo theo link của @khoadd tại: github

Trên là hướng dẫn nhanh để các bạn có thể trải nghiệm từ đầu, hi vọng sẽ giúp các bạn bước đầu vọc vạch được với PowerCLI thuận lợi hơn. Các bạn hãy đón đọc các bài tiếp theo nhé, mình sẽ biên tập thêm các nội dung thực tế để ae cùng vọc.

P/S: Trân trọng cảm ơn em KhoaDD đã hỗ trợ và tư vấn, giới thiệu trạng hay cho HCĐ làm lab.

Tài liệu tham khảo:

  1. https://aventistech.com/2018/07/23/install-powercli-10-on-windows-10/
  2. https://github.com/D3spereaux/PowerCLI

Leave a Comment