PowerCLI : VMが稼動しているホスト情報を確認するには?

CJです。

vSphere 基盤を運用していると、以下のケースにおいて簡単な情報を素早く確認したい時があります。

・特定のホスト上で稼動している VM リストを確認

・VMが稼動中のホストを確認

もちろん、このような情報は GUI (vSphere Web Client) 上からも確認は可能ですが、VM数が数百台の規模とかになると、やはり確認に時間がかかったり、GUI操作に不便を感じるかと思います。その際にはぜひ以下の PowerCLI コマンドを試してみてください。

テスト環境

VMware PowerCLI 6.5.1 build 5377412 です。

Get-PowerCLIVersion

特定のホスト上で稼動している VM リストを確認

 

少し工夫して “host1.cjnotes.com”ホスト上で稼動しているVMで、電源ONかつVM名に “CJ” が入っているVMリストを確認してみます。

Get-VM | Where {$_.Name -eq “host1.cjnotes.com”} | get-vm | Where {$_.PowerState -eq “PoweredOn” -and $_.Name -like “CJ*”} | sort

すると、このようにVM情報が簡単に確認できます。

VMが稼動中のホストを確認

こちらも同じくVMが電源ONであり、VM名に “CJ” が含まれているVMリストのホスト情報を確認してみます。

 

Get-VM | Where {$_.PowerState -eq “PoweredOn” -and $_.Name -like “CJ*”} | sort | select Name,PowerState,VMHost

すると、このように各VMが稼動中のホスト情報も確認できます。

 

 

今回は割愛させていただいていますが、上記コマンドを CSVファイルなどへエクスポートすることも可能です。 メンテナンスなど、作業前後の状態を取得するケースでも有効なコマンドかと思いますので、ぜひお試しください。

最新の VMware PowerCLI をインストールには?

CJです。

vSphere環境を運用していると GUIもいいですが、やはりコマンドで操作したいケースもたくさんあります。その際に有効に使えるのが、VMware PowerCLI (以下、PowerCLI)ツールです。

ところで、最近 PowerCLIの入手方法が変わったこと、知ってますか?

今までだと、以下のようにVMwareサイト (myvmware)より、パッケージをダウンロードして、サーバーにインストールすることで該当のPowerCLIが使えました。

しかし、配布方法が、PowerCLI 6.5.1 バージョンより Microsoft PowerShell の配布モデル(PowerShell Gallery からインストールする方法)に合わせられているようです。

今回、PowerCLI 6.5.1 をインストールしたいサーバーは “Windows Server 2012 R2” を想定にしているとします。2012R2 では、デフォルトで WindowsPowerShell version 4 がインストールされていますが、このバージョンでは PowerCLI 6.5.1 をインストールするためのモジュールが入ってない状態です。そのため、まずは WindowsPowerShell バージョンを更新(4→5)し、その後に PowerCLI 6.5.1 をインストールする簡単な流れとなります。

では、早速スクリーンショットをベースで見ていきましょう。

1.まずは現在の Windwos PowerShell バージョン(ver.4) を確認しましょう。

$psversiontable.psversion コマンドにてバージョンが確認可能です。

2. Microsoft サイトより、Windows Management Framework 5.0をダウンロードします。

“Download” ボタンをクリックし、

“Win8.1AndW2K12R2-KB3134758-x64.msu”の Checkbox にCheckinしてファイルをダウンロードしてください。その後、ファイルを実行すると、

このように、”…インストールしますか?” とポップアップされます。

OSバージョンに互換性がないパッケージバージョンの場合は、次へ進めない旨のメッセージがポップアップされます。以降は、規約に同意して次へインストール進めていけばOKです。

3. インストール完了後、バージョンを確認すると ver.5 になっていることが確認できます。

4. これで VMware.PowerCLI がインストール可能な状態となりました。

以下のコマンドで PowerCLI モジュールがサーチできることを確認してください。

Find-Module -Name VMware.PowerCLI

5. VMware.PowerCLI モジュールも確認できましたし、次へローカルシステム上に使用可能な VMware モジュールがあるか確認します。

Get-Module VMware* -ListAvailable

では続いて、以下のコマンドにてモジュールをインストールしましょう。

Install-Module -Name VMware.PowerCLI

“…モジュールをインストールしますか?” と表示されたら “Y” でインストールへ進めてください。これで VMware PowerCLI 6.5.1 インストールが完了しました。

先ほどの 使用可能な VMware モジュールを確認してみると、いくつかのモジュールが表示されることが確認できるかと思います。

6. 最後に、vSAN 関連コマンドが表示されることも確認してみてください。

Get-Command -Name *vsan*

現時点の最新バージョンである PowerCLI 6.5.1 で追加された “Get-VsanView” などが表示されることも確認できます。

最新のPowerCLI (vSAN 関連機能など)を使いたいが、VMwareサイトでは見当たらず、迷っている方に少しでも役に立てればと思います。

 

[参考情報]

Welcome PowerCLI to the PowerShell Gallery – Install Process Updates

https://msdn.microsoft.com/en-us/powershell/scripting/setup/windows-powershell-system-requirements