いつの間にかPowerCLIの入手方法が変わっていたので備忘録をかねてメモ。
PowerCLIとは
Windows向けのVMware コマンドラインツール群。APIを叩くこともできるし、Infrastructure as Code 的に仮想マシンのデプロイを半自動化することもできる。LinuxOSの場合はKickstart、Windowsの場合はSysprepを利用して、起動後の設定を半自動化することも可能。
特にWindows2008以降はPowerShellによるリモート操作が可能なので、例えばAnsibleとServerSpecを組み合わせることで、起動から構成確認までを自動処理することも可能。
この辺りは、かなり稚拙なやり方だがかなり昔にスクリプト化したことがある。(旧サイト)
以前の記事の続き。黒縁メガネさんの記事を参考に仮想マシンを一括で、(LinuxもWindowsも)作成するためのスクリプトを作成したので、備忘録を兼ねて記載。・複数vCenter対応・複数Template対応・CPU,メモリ,ディスクサイズ変更・(スクリプトを作成すれば)WindowsOSで仮想マシン作成後に、初回起動時にスクリプトを実行することも可能。キーワード:deploy powercli linux windows automation scripting...
(いずれ、整理したらリンクは貼り直しておく予定)
今では、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も試したけれど使い勝手はよくなかった。
インストール環境
動作環境は以下の通り
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| 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からのみのインストールとなっている。そのため、インストールは以下のコマンドを無心で叩けば良い。
コマンドの中身については適宜コメントを入れておくのであとあと参考に。
1
2
3
4
5
6
7
8
9
10
11
12
| 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
|
以上。