オフラインで VMware PowerCLI 6.5.1 をインストールする
まとめ
- オフライン環境でも VMware PowerCLI 6.5.1 のインストールは可能
- インターネットに接続できる環境で Save-Module コマンドレットでモジュールファイルをダウンロード
- ダウンロードしたフォルダ群を PowerShell のモジュール フォルダにコピー
はじめに
VMware PowerCLI 6.5.1 のインストールは、これまでの MSI パッケージによるインストールから PowerShell Gallery からのモジュール インストールに変更になっています。つまり、インストール対象のマシンは PowerShell Gallery に接続しなければなりません。業務システムではインターネットに接続できないケースはよくあるので、この制約は乗り越える必要があります。
マニアな人は PowerShell のリポジトリを自力で立ち上げて下さいませ。
オフラインでの VMware PowerCLI 6.5.1 のインストール
Install-Module コマンドレットでローカル フォルダをリポジトリにするオプションがあるのかと思いきや、残念ながら見当たりません。Microsoft Developer Network の Installing a PowerShell Module の記事を参考に、PowerShell Gallery からダウンロードしたモジュールを、インストール対象マシンにコピーすることで、オフラインでの VMware PowerCLI 6.5.1 のインストールを実現します。
PowerShell Gallery からのモジュールダウンロード
Save-Module コマンドレットで任意のフォルダに、関連するモジュール全てをダウンロードすることができます。これは作業用の PC などで行います。
PS C:\Temp> Save-Module -Name VMware.PowerCLI -Path C:\Temp
PS C:\Temp> dir
ディレクトリ: C:\Temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2017/06/14 19:49 VMware.DeployAutomation
d----- 2017/06/14 19:48 VMware.ImageBuilder
d----- 2017/06/14 19:49 VMware.PowerCLI
d----- 2017/06/14 19:47 VMware.VimAutomation.Cis.Core
d----- 2017/06/14 19:48 VMware.VimAutomation.Cloud
d----- 2017/06/14 19:45 VMware.VimAutomation.Common
d----- 2017/06/14 19:47 VMware.VimAutomation.Core
d----- 2017/06/14 19:48 VMware.VimAutomation.HA
d----- 2017/06/14 19:48 VMware.VimAutomation.HorizonView
d----- 2017/06/14 19:48 VMware.VimAutomation.License
d----- 2017/06/14 19:48 VMware.VimAutomation.PCloud
d----- 2017/06/14 19:45 VMware.VimAutomation.Sdk
d----- 2017/06/14 19:48 VMware.VimAutomation.Srm
d----- 2017/06/14 19:49 VMware.VimAutomation.Storage
d----- 2017/06/14 19:49 VMware.VimAutomation.StorageUtility
d----- 2017/06/14 19:48 VMware.VimAutomation.Vds
d----- 2017/06/14 19:48 VMware.VimAutomation.vROps
d----- 2017/06/14 19:49 VMware.VumAutomation
PS C:\Temp>
インストール対象マシンへのモジュール ファイルのコピー
PowerShell のモジュール フォルダは、変数 $Env:PSModulePath にカンマ刻みで設定されています。
PS C:\Temp> $Env:PSModulePath
C:\Users\Administrator\Documents\WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
それぞれ以下のような使い分けとなり、C:¥Windows フォルダ配下のモジュール フォルダは利用することは出来ません。
- C:\Users${USERNAME}\Documents\WindowsPowerShell\Modules (ユーザー固有のモジュール)
- C:\Program Files\WindowsPowerShell\Modules (システムワイドのモジュール)
- C:\Windows\system32\WindowsPowerShell\v1.0\Modules (Windows によって Reserved)
VMware PowerCLI 6.5 R1 (6.5.0) 以前がインストールされている場合は C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Modules が最後に追加されているかも知れません。
単純ではありますが、このコピー作業のみで VMware PowerCLI 6.5.1 のインストールは完了です。
私自身は動作確認のために利用することが多いので、C:¥Program Files¥WindowsPowerShell¥Modules 配下にモジュールをコピーしています。ズボラなので ExecutionPolicy なぞは Bypass (以下ry
PS C:\Temp> Import-Module VMware.PowerCLI
Import-Module : モジュール ディレクトリに有効なモジュール ファイルが見つからなかったため、指定されたモジュール 'VMware.PowerCLI' は読み込まれませんでした。
発生場所 行:1 文字:1
+ import-module VMware.PowerCLI
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (VMware.PowerCLI:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
...snip...
ここでモジュールファイルをコピーする
...snip...
PS C:\Temp> Import-Module VMware.PowerCLI
Welcome to VMware PowerCLI!
Log in to a vCenter Server or ESX host: Connect-VIServer
To find out what commands are available, type: Get-VICommand
To show searchable help for all PowerCLI commands: Get-PowerCLIHelp
Once you've connected, display all virtual machines: Get-VM
If you need more help, visit the PowerCLI community: Get-PowerCLICommunity
Copyright (C) VMware, Inc. All rights reserved.
PS C:\Temp>