2011年1月7日金曜日

VMware PowerCLIを使ってみる - スクリプト作成


PowerCLIのインストール等は準備編を参照してください。
スクリプトは、テキストファイルなどでファイル内に実行コマンドを記載し、ps1という拡張子で保存する。
スクリプトはおおよそ下記のような流れとなる。
  1. PowerCLIスナップインの読み込み
  2. vCenterへ接続
  3. 処理の記述
  4. vCenterから切断


1. PowerCLIスナップインの読み込み
PowerCLIスクリプトに下記を記載
Add-PSSnapin VMware.VimAutomation.Core


2. vCenterへ接続
PowerCLIスクリプトに下記を記載
IPアドレス、ホスト名、ユーザ名、パスワードはvCenterへログインする際に必要なIP、ユーザ、パスワードとなります。
vi変数(変数名はなんでもよし)へ接続したオブジェクトを格納(後述4のvCenterから切断する際に使用。)
$vi = Connect-VIServer -Server <ipアドレス or="" ホスト名=""> -User <ユーザ名> -Password <パスワード>


3. 処理の記述
PowerCLIスクリプトにGet-VM、Get-VMHostなどのオブジェクトを取得・操作する処理を記述します。


4. vCenterから切断
PowerCLIスクリプトに下記を記載
Disconnect-VIServer -Server $vi -Confirm:$False


ファイル例: sample.ps1
Add-PSSnapin VMware.VimAutomation.Core

#vCenterへ接続
$vi = Connect-VIServer -Server hostname -User administrator -Password password

#各種コマンドやスクリプト、コマンドはこちら
#ex:下記はホスト一覧を表示するコマンドレット
Get-VMHost

#vCenterから切断
Disconnect-VIServer -Server $vi -Confirm:$False


スクリプトの実行
・PowerCLIを起動します。






・保存したスクリプト(ps1ファイル)を実行します。
ファイルの実行は、.\などを付けて相対パスか絶対パスで指定します。
パスを付けないで実行しようとすると、コマンドを実行しようとしていると認識され、そんなコマンドはないと言われます。











・実行結果。
赤文字でエラーが表示されておりますが、こちらは、PowerCLIのWindowからスクリプトを実行した際には、前述1のスナップインの記載は必要ないために出力されます。無視してかまいません。
その後、vCenterへ接続が行われ、vCenterに登録されているESXホスト一覧が表示されます。















・コマンドプロンプトから実行する場合は、下記のように実行します。
まず、pwoershellを起動します。
その後、.\sample.ps1を実行します。

0 件のコメント: