連載 :
  VMwareの現在

vSphere APIを活用する

2010年6月23日(水)
ヴイエムウェア株式会社

ここで、いくつかvSphere PowerCLIのサンプルを紹介する。いずれもConnect-VIServerを実行し、vCenter Serverにログインした状態で利用できる。サンプル(5)はGet-Viewを使わなければ実現できない処理である。

(1)テンプレートから128台の仮想マシンをクローンする(仮想マシン名vm-1~vm-128)

1<!--//--><![CDATA[// ><!--
2 
3$esx = Get-VMHost <esx-name>
4$tmpl = Get-Template <template-name>
51..128 | foreach { New-VM -VMHost $esx -Name ("vm-" + $_) -Template $tmpl }
6 
7//--><!

(2)仮想ネットワーク・アダプタの接続ポート・グループをまとめて切り替える

1<!--//--><![CDATA[// ><!--
2 
3Get-VM | Get-NetworkAdapter | Where-Object { $_.NetworkName -eq <old-pgname> } | Set-NetworkAdapter -Network <new-pgname>
4 
5//--><!

(3)取得から1ヶ月以上経過した古いスナップショットを削除する

1<!--//--><![CDATA[// ><!--
2 
3Get-VM | Get-Snapshot | Where-Object { $_.Created -lt (Get-Date).AddMonths(-1) } | Remove-Snapshot
4 
5//--><!

(4)パフォーマンス・データをCSVに書き出す

1<!--//--><![CDATA[// ><!--
2 
3Get-Stat -Realtime -Entity (Get-VM <vmname>) | Export-csv -encoding unicode <filename>
4 
5//--><!

(5)「VMware Tools のインストール」状態(CDマウント)のままになっている仮想マシンを一覧化

1<!--//--><![CDATA[// ><!--
2 
3Get-VM | Get-View | Where-Object {$_.Summary.Runtime.ToolsInstallerMounted -eq $True } | Select Name
4 
5//--><!

VMwareのコミュニティ「Developer: vSphere PowerCLI Sample Code(英語サイト)」では、より本格的なサンプルを入手できる。

さて、ここまでは、いずれもvSphere PowerCLIのシェルでインタラクティブ(対話形式)に実行している例を紹介してきたが、スクリプトとして保存するには、下記のような流れになる。

1<!--//--><![CDATA[// ><!--
2 
3Add-PSSnapin VMware.VimAutomation.Core
4$vi = Connect-VIServer -Server <ipaddress> -User <username> -Password <password>
5(ここに、今回紹介したような実際の処理を記述する)
6Disconnect-VIServer -Server $vi -Confirm:$False
7 
8//--><!

スクリプトをps1という拡張子で保存することで、必要な時に直ちに実行できるだけでなく、Windowsのタスクを用いて定期的に実行することや、vCenter Serverのアラーム機能のトリガーに指定することなど、さまざまなやり方でできる。

まとめ

今回は、vSphere APIを利用した管理の自動化を行うために、vSphere APIの概要とPowerShellでのAPI利用方法について紹介した。次回は、昨今注目を集める仮想デスクトップ・ソフトであるVMware Viewを紹介する。

著者
ヴイエムウェア株式会社

ヴイエムウェアは、デスクトップからデータセンターにわたる仮想化ソリューションにおけるグローバルリーダーです。ヴイエムウェアソリューションは、設備投資や運営経費の削減、ビジネス継続性の確保、およびセキュリティーの強化を、環境に配慮した運営と共に実現します。http://www.vmware.com/jp/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています