オフラインで VMware PowerCLI 6.5.1 をインストールする

/ 2019-06-27 09:48

  • オフライン環境でも VMware PowerCLI 6.5.1 のインストールは可能
  • インターネットに接続できる環境で Save-Module コマンドレットでモジュールファイルをダウンロード
  • ダウンロードしたフォルダ群を PowerShell のモジュール フォルダにコピー

VMware PowerCLI 6.5.1 のインストールは、これまでの MSI パッケージによるインストールから PowerShell Gallery からのモジュール インストールに変更になっています。つまり、インストール対象のマシンは PowerShell Gallery に接続しなければなりません。業務システムではインターネットに接続できないケースはよくあるので、この制約は乗り越える必要があります。

マニアな人は PowerShell のリポジトリを自力で立ち上げて下さいませ。

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:UsersAdministratorDocumentsWindowsPowerShellModules;C:Program FilesWindowsPowerShellModules;C:Windowssystem32WindowsPowerShellv1.0Modules   

それぞれ以下のような使い分けとなり、C:¥Windows フォルダ配下のモジュール フォルダは利用することは出来ません。

  • C:Users${USERNAME}DocumentsWindowsPowerShellModules (ユーザー固有のモジュール)
  • C:Program FilesWindowsPowerShellModules (システムワイドのモジュール)
  • C:Windowssystem32WindowsPowerShellv1.0Modules (Windows によって Reserved)

VMware PowerCLI 6.5 R1 (6.5.0) 以前がインストールされている場合は C:Program Files (x86)VMwareInfrastructurePowerCLIModules が最後に追加されているかも知れません。

単純ではありますが、このコピー作業のみで 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>    

関連

Shared via Inoreader