PowerCLI最新版のインストール方法が変わっていた

VMware

いつの間にかPowerCLIの入手方法が変わっていたので備忘録をかねてメモ。

PowerCLIとは

Windows向けのVMware コマンドラインツール群。APIを叩くこともできるし、Infrastructure as Code 的に仮想マシンのデプロイを半自動化することもできる。LinuxOSの場合はKickstart、Windowsの場合はSysprepを利用して、起動後の設定を半自動化することも可能。

特にWindows2008以降はPowerShellによるリモート操作が可能なので、例えばAnsibleとServerSpecを組み合わせることで、起動から構成確認までを自動処理することも可能。

この辺りは、かなり稚拙なやり方だがかなり昔にスクリプト化したことがある。(旧サイト)

http://gatolynx.blog100.fc2.com/blog-entry-284.html

(いずれ、整理したらリンクは貼り直しておく予定)

今では、vSphereだけではなく、vCloud, vROPS, Horizonなども操作が可能。5.x代のHorizonなどはView Administrator Serverでしか起動できなかったが(サーバセットアップ時にモジュールがインストールされていて、公開されていなかった)、View7.0.3以降は、クライアント端末から操作できるPowerCLIの追加モジュールとしてHorizon PowerCLIが提供されている模様

最新版のPowerCLIのインストール方法

クライアントとして利用しているWindows端末はWindows7 SP1 32Bit(Esxi6.0上)なので、こちらにインストールしていくことにする。余談ですが、Windows8 64BitからアップデートしたWindows10のクライアントがあるのだが、いまだに使い慣れないのと、各種ツール群が32Bitの方にあります。これらの移行をしようと思いつつ、効率の良いやり方が思いつかない。

メインのラップトップはOSXで、基本的に端末のセットアップはAnsibleとBrewで完了しているのですが、Windowsのツール管理が課題。cinstも試したけれど使い勝手はよくなかった。

 

環境

動作環境は以下の通り

Windows PowerShell
Copyright (C) 2015 Microsoft Corporation. All rights reserved.

PS C:\Users> #PowershellでOSのバージョン確認
PS C:\Users> [System.Environment]::OSVersion

Platform ServicePack    Version        VersionString
-------- -----------    -------        -------------
 Win32NT Service Pack 1 6.1.7601.65536 Microsoft Windows NT 6.1.7601 Service Pack 1

PS C:\Users> #PowershellでPowershellのバージョン確認
PS C:\Users> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      10586  117

インストールコマンド

以前のインストール方法は、MyVmwareからPowerCLIのインストーラーをダウンロードして実行、だったが、少し前からPowerShell Galleryからのみのインストールとなっている。そのため、インストールは以下のコマンドを無心で叩けば良い。

コマンドの中身については適宜コメントを入れておくのであとあと参考に。


PS C:\Users> #Powershell Gallery でモジュールの検索

PS C:\Users> Find-Module -Name VMware.PowerCLI

PS C:\Users> #Powershell Gallery から名前を指定してモジュールのインストール
PS C:\Users> Install-Module -Name VMware.PowerCLI

PS C:\Users> #なんらかの事情により、端末全体ではなく特定ユーザについてのみインストールしたい場合は以下
PS C:\Users> Install-Module -Name VMware.PowerCLI -Scope CurrentUser

PS C:\Users> #端末にインストールされている VMwareから始まるモジュールを取得
PS C:\Users> Get-Module VMware* -ListAvailable

以上。