vSphere指令管理-開發環境

vSphere指令管理-開發環境

一、開發環境

要使用vSphere的指令進行自動化管理或撰寫指令碼,必須先下載『vSphere PowerCLI』

http://communities.vmware.com/community/vmtn/vsphere/automationtools/powercli?source=hp&q=powercli&aq=f&aqi=g4g-s1g5&aql=&oq=&gs_rfai=

系統需求

需要PowerShell,1.0版即可(2.0也行),Windows 2008 R2及Windows 7均內建。若系統Windows 2003 R2(請至少上到SP2)或Windows XP(至少SP2),到微軟網站下載對應系統的PowerShell安裝。

值得一提PowerShell Script撰寫,有個免費好用的編輯器,叫『PowerGUI』。

網址 http://www.powergui.org/index.jspa

不過這玩意兒最新版需要PowerShell 2.0,而且需要安裝Net Framework(安裝最新版的即可)。同時撰寫PowerCli時要注意引入項目,後面會提到。

二、安裝PowerCLI

請先安裝Net Framework(至少2.0版或以上),這裡我們裝的是Framework 3.5 SP1

image

裝完之後安裝PowerShell。

這裡我們下載安裝的是PowerShell 2.0 for Windows 2003 R2版。

Windows Management Framework Core包含PowerShell 2

image

安裝完畢,在命令視窗輸入PowerShell,輸入Get-Host可顯示PowerShell版本及區域

image

緊接著繼續安裝PowerCLI

image

提示安裝完後,會自動加載VIM元件,確定即可。

image

此訊息挺重要的。目的是提醒將原本PowerShell限制指令執行的原則,改為『RemoteSigned』狀態,屆時PowerCLI才能正常執行指令。請務必修改之。裝完再改,或馬上改均可。

image

image

繼續安裝

image

都是下一步,畫面略過。

image

安裝完畢,桌面出現捷徑,此捷徑與一般直接執行PowerShell,此捷徑執行的是一個指令碼,執行PowerShell時,會加載VIM相關物件,以正確執行vSphere的相關指令。

image

上面是加料的PowerCLI,下面是一般正常的PowerShell。

image

執行一個簡單的連接vCenter Server指令

有引入物件的正確執行

image

未加載的,會不認得PoweCLI指令。

image

三、Script 編輯器

好的編輯器,能加速開發除錯。

NotePad++

http://notepad-plus-plus.org/

它不是專為PowerShell提供的,其提供幾乎所有的指令語言方便編寫的環境。安裝快速方便輕巧。

算是一個簡便的編輯器。

 

image

PowerGUI

在輔助編寫PowerShell程式方面,這套具備自動帶出物件方法或屬性的功能,且為免費軟體,極為推薦。

不過目前2.1.1版只適用PowerShell 2.0,因此如要裝這套,請不要裝Powershell 1.0。

image

記得進入PowerGUI,把PowerCLI的Library加進來。

image

image

加完後,執行PowerGUIl Script Editor

image

寫一個簡單指令測試

便可以自動帶出VI指令物件相關屬性方法,對於初階編寫PowerCLI指令,在對整個Objects還不很熟悉情況下,是很好的輔助編輯器。

image

image

可以直接在編輯器內執行測試程式結果,並觀察變數。

image

顯示執行結果。

image

要注意的是,在指令碼最前面加入這行

Add-PSSnapin VMWare.VimAutomation.Core

以確保指令正常執行。同時在排程執行指令時,也需要該行以指示物件。

image

PowerGUI有各種PowerPacks可供擴充,包括VM

http://www.powergui.org/kbcategory.jspa?categoryID=21

image

image

Import進來

imageimage 

image

多了VMWare的類別

image

左邊樹狀物件多了一個VMWare的結構。

image

要使用VMWare節點物件,必須先基本上連到一個VC或ESX Host。

image

選Custom Script,直接輸入要連接的Host。

image

輸入如下指令

Connect-VIServer -Server "伺服器DNS名稱或IP" -User "登入帳號名稱" -Password "密碼"

按下Apply就行了。

image

接上之後,就可以瀏覽左邊子節點產生的結果。

image

右鍵內容,還可觀摩學習其指令內容

image

四、備註

在測跑PowerCli的指令碼時,有時F5執行結果錯誤,不見得是錯誤。可嘗試呼叫PowerShell來執行看看,也許有不一樣的結果。而實際上也應當以PowerShell內執行的為準。

image