如何安裝 VMware PowerCLI 以實現 vSphere 管理自動化
PowerCLI 是管理與自動化 VMware vSphere 和 vCloud 的最強大工具之一。您可以透過它管理虛擬機器配置、儲存、網路、主機與客機的作業系統、變更,以及 VMware vSphere 的任何其他方面。讓我們來了解什麼是 PowerCLI,以及如何安裝這個 VMware vSphere 管理工具的基本步驟。
什麼是 PowerCLI?
PowerCLI 是 VMware 提供的一組 PowerShell 模組,可擴展 PowerShell 的功能,使其能理解更多指令並與 VMware 環境進行互動。安裝 PowerCLI 時,系統會一併安裝稱為 commandlets(或 cmdlets)的 VMware 專用 PowerShell 指令,這些指令可讓您操作 VMware vSphere 環境。
如何線上安裝 PowerCLI 模組
與早期版本不同,最新版本的 PowerShell 是以 PowerShell 模組的形式發行。在 Windows 中安裝 PowerCLI 有線上和離線兩種方法。我們先從最新版本(目前為 v.12.7.0)的線上安裝方法開始說明。
從 PowerShell Gallery 安裝 PowerCLI
PowerShell Gallery 是從網路上安裝 PowerShell 內容的中央儲存庫。PS Gallery 包含 PowerShell 模組、腳本、附帶 cmdlet 的模組,以及其他實用資料,這些內容都能快速且輕鬆地安裝。
註: 已解除安裝 Hyper-V 在我們即將安裝 PowerCLI 的電腦上。此舉旨在避免發生錯誤,因為 PowerShell 中用於管理 Hyper-V 和 VMware 環境的部分指令是相同的。
在 PowerShell Gallery 儲存庫中尋找 PowerCLI 模組:
Find-Module -Name VMware.PowerCLI
NuGet 是一款用於安裝軟體套件的套件管理工具,包括專為 .NET 開發的套件。若要從線上 PowerShell Gallery(有時也稱為 NuGet Gallery)安裝套件,必須安裝 NuGet。如果您尚未安裝 NuGet,請立即安裝這款 PowerShell 套件管理工具。
- 若要為所有使用者安裝 PowerCLI 模組,請執行以下命令:
Install-Module -Name VMware.PowerCLI
預設會安裝最新版本的 PowerCLI。
- 僅為當前使用者安裝 PowerCLI 且無需管理員權限的指令:
Install-Module -Name VMware.PowerCLI -Scope CurrentUser
註: 有時,當您將 PowerCLI 安裝為模組時,可能會看到以下錯誤:
無法安裝或更新模組"VMware.VimAutomation.Sdk",因為檔案"VMware.VimAutomation.Sdk.cat"的 Authenticode 簽章無效.
在這種情況下,請執行以下指令,即可順利安裝 PowerCLI:
install-module VMware.PowerCLI -scope AllUsers -force -SkipPublisherCheck -AllowClobber
- 安裝完成後,請檢查 PowerCLI 的版本:
Get-PowerCLIVersion
- 您可以設定是否參與 VMware 客戶體驗改善計畫。也就是說
No,請執行以下指令:
Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false
- 在安裝 PowerCLI 後,列出所有可用的 cmdlet:
Get-Command -Module *VMWare*
或
Get-Module -ListAvailable VMware* | Select Name,version
在 PowerShell 中更新 PowerCLI 模組的指令是:
Update-Module -Name VMware.PowerCLI
若要安裝特定版本,請使用以下指令。
- 查看線上儲存庫中可用的 vSphere PowerCLI 版本:
Find-Module -Name VMware.PowerCLI -AllVersions|select version
- 請輸入從前一個命令的輸出中選取的所需版本,例如: 12.4.1.18769701:
Install-Module -Name VMware.PowerCLI -RequiredVersion 12.4.1.18769701
完成 PowerCLI 安裝後,您即可在 PowerShell 中使用與 VMware vSphere 相關的 cmdlet。
- 請使用
Connect-VIServer執行該指令,並查看是否出現憑證錯誤。請嘗試使用以下指令解決此問題:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore
- 如果一切正常,您可以使用以下指令連線至 vCenter Server 或 ESXi 主機:
Connect-VIServer 10.10.10.11
請使用所需伺服器的主機名稱或 IP 位址。
- 取得由您已連線之伺服器所管理的 VMware 虛擬機器清單:
Get-VM
現在,您可以使用 VMware PowerCLI 執行其他指令並建立腳本。
如何使用 Chocolatey 安裝 PowerCLI
Chocolatey 是一款適用於 Windows 的套件管理工具。它可在 PowerShell 中使用,用於從線上儲存庫安裝軟體套件。Chocolatey(簡稱 choco)採用 NuGet 來打包軟體,並建構於其他 Windows 技術之上。這款套件管理工具能協助您輕鬆管理軟體,包括安裝與解除安裝套件。
- 若您尚未安裝 Choco,請設定正確的政策以進行安裝:
Set-ExecutionPolicy AllSigned
- 執行這個複雜的指令來安裝 Choco:
Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager]::SecurityProtocol =
[System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object
System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- 在線上備份儲存庫中搜尋 VMware 模組:
choco search vmware
- 從線上軟體儲存庫使用 Chocolatey 安裝 VMware PowerCLI:
choco install vmware-powercli-psmodule
類型 Y 或 A 繼續。
- 請等待所有套件元件下載並安裝完成:
如何離線安裝 PowerCLI
由於安全政策或其他原因,並非所有伺服器都能連線至網際網路。在此情況下,您可以透過離線安裝方式安裝 VMware PowerCLI。
透過複製檔案離線安裝 PowerCLI
安裝 PowerCLI 的第一種離線方法,是使用從 PS Gallery 下載的檔案。前幾個步驟與上述說明中尋找模組套件並將其安裝至 Windows 系統的步驟類似。
- 在 PowerShell Gallery 中尋找 PowerCLI 模組:
Find-Module -Name VMware.PowerCLI
- 將 PowerShell 的 PowerCLI 模組檔案下載並儲存至指定目錄,例如:
C:TempModules使用類似以下的指令:
Save-Module -Name VMware.PowerCLI -Path
就我們的情況而言,包含正確路徑的完整指令是:
Save-Module -Name VMware.PowerCLI -Path C:TempModules
- 將下載的檔案從
C:TempModules將您電腦中的資料夾複製到未連網的電腦上。
將複製的檔案放置於 C:WindowsSystem32WindowsPowerShellv1.0Modules
需要管理員權限。
- 解除下載檔案的封鎖:
cd "C:Program FilesWindowsPowerShellv1.0Modules"
Get-ChildItem * -Recurse | Unblock-File
- PowerCLI 的安裝已完成。現在,您應該可以在未連網的電腦上使用 vSphere PowerCLI。
如何從 ZIP 壓縮檔離線安裝 PowerCLI
VMware 提供了一個離線安裝程式,您可以下載並使用它,在多台電腦上離線安裝 PowerCLI。
- 請從 VMware 官方網站下載包含 PowerCLI 模組檔案的 ZIP 壓縮檔:
https://developer.vmware.com/web/tool/vmware-powercli
檔案名稱看起來像 VMware-PowerCLI-12.7.0-20091289.zip 檔案大小約為 100 MB。
- 請將下載的 ZIP 壓縮檔複製到未連網的電腦上。
- 將檔案解壓縮至 Windows 中安裝 PowerShell 模組的目錄,例如:
C:WindowsSystem32WindowsPowerShellv1.0Modules
- PowerCLI 安裝已完成。
如何在 Linux 上安裝 vSphere PowerCLI
VMware PowerCLI 僅能在 PowerShell 中執行,而 PowerShell 是 Windows 的原生命令列介面。然而,許多專業人士使用 Linux,並希望直接從 Linux 管理 VMware vSphere 環境。這並不意味著必須安裝一臺預載 PowerShell 的 Windows 虛擬機器,因為我們可以在 Linux 上安裝 PowerShell 和 PowerCLI。我們將在 Ubuntu Linux(v.20.04)上安裝 PowerCLI。 讓我們來看看具體操作步驟。
以 root 身分執行下列指令(您可以使用 sudo -i (使用此指令以取得 root 權限)。
- 更新套件儲存庫目錄:
apt-get update
- 更新 Ubuntu Linux 系統上已安裝的套件(建議):
apt-get upgrade
- 安裝 curl (客戶端 URL),這是一款可在命令列環境中透過多種協定,在伺服器與本地端之間傳輸資料的工具:
apt-get install curl
- 新增包含 Linux 版 PowerShell 的 Microsoft 儲存庫:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl -o /etc/apt/sources.list.d/microsoft.list
https://packages.microsoft.com/config/ubuntu/20.04/prod.list
- 新增 Microsoft 儲存庫後,請更新儲存庫樹狀結構。執行此指令後,
apt套件管理員將會知道這個新新增的 Microsoft 儲存庫:
apt-get update
註: 您可能會看到以下錯誤訊息:
W: GPG 錯誤:https://packages.microsoft.com/ubuntu/20.04/prod 焦點 InRelease:由於無法取得公鑰,以下簽名無法驗證:NO_PUBKEY EB3E94ADBE1229CF
E:儲存庫"https://packages.microsoft.com/ubuntu/20.04/prodfocal/InRelease"未經簽署。
N:從此類儲存庫進行更新無法確保安全性,因此預設為停用狀態.
要解決這個問題,我們需要加入上述的 EB3E94ADBE1229CF 手動輸入。該 apt 套件管理員會使用金鑰,從可信賴的軟體儲存庫安全地安裝套件。若缺少用於驗證套件的金鑰,便會發生此錯誤。
- 請使用以下指令新增該金鑰:
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EB3E94ADBE1229CF
- 再次更新儲存庫樹:
apt-get update
- 在 Ubuntu Linux 上安裝 PowerShell:
apt-get install powershell
- 要在 Linux 終端機中開啟 PowerShell 工作階段,請執行以下指令:
pwsh
註: 我們以 root 身分執行 PowerShell,因為在 Linux 上安裝 VMware PowerCLI 時有此需求。安裝 PowerCLI 後,您便無需提升權限即可執行 PowerShell。
- 請使用以下指令安裝 PowerCLI:
Install-Module -Name VMware.PowerCLI
新聞 y 或 a 繼續。
- 請檢查您最近安裝的 PowerCLI 版本:
Get-Module VMware.PowerCLI -ListAvailable
若要從 PowerShell 切換至 bash 控制台,請執行 exit 指令。完成 PowerCLI 安裝後,您可以退出根主控台,並以一般使用者身分執行指令。
結論
新的 PowerCLI 版本可透過多種線上及離線方式,在 Windows 甚至 Linux 系統上安裝為 PowerShell 模組。無論您使用何種方式管理 VMware vSphere 環境,請務必備份虛擬機器,並為任何資料遺失的情況做好準備。請考慮 NAKIVO Backup & Replication 作為適用於虛擬、實體、雲及 SaaS 環境(包括 VMware vSphere)的全面性資料保護解決方案。
立即下載免費版本,開始備份您的 VMware vSphere 虛擬機器。











