まとめ

  • PowerShell Gallery に登録され、Install-Module コマンドレットでインストール
  • 既存バージョンは必ずアンインストールすること
  • スクリプトでの利用は Import-Module VMware.PowerCLI 一発
  • バージョンは x.y.z 形式に戻された

はじめに

VMware PowerCLI 6.5.1 が、先々月の 4 月にリリースされました。時間が経ってしまいましたが PowerCLI インストール ネタをいくつか整理してみます。

PowerCLI のリリース バージョン

PowerCLI 5.0.x までは、パッチリリースについては セマンティック バージョニングでいうところのパッチリリースとして番号が管理されていました。PowerCLI は 5.0 とし、その最初パッチは PowerCLI 5.0.1 とされていました。しかし、PowerCLI 5.1 からは 初期リリースを R1、最初のパッチリリースを R2 としてバージョニングするようになりました。このバージョニングは数ある VMware の製品でも PowerCLI だけだったため、個人的にはややこしいといった感がありました。途中 5.8 や 6.3 といった vSphere 以外の製品のバージョンを勘案した微妙なバージョンがリリースされ、PowerCLI 6.5 のパッチリリースから、R2 ではなく 6.5.1 という、セマンティック バージョニングに沿ったバージョニングに戻りました。何故にこのタイミング…Orz。

インストール要件

Compatibility Matrixes for VMware PowerCLI 6.5.1

基本的に上記 URL で、

  • Local Operating System Support
  • PowerShell Version

を確認します。Windows 2008 R2 などでは PowerShell のバージョンが古いため、まず新しい PowerShell をインストールする必要があります。

こちらの Windows Management Framework のページ から必要なバージョンをダウンロードし、インストールします。

インストール

まず、PowerShell で *-Module 関連のコマンドレットを利用できる様に、新しい PowerShell のバージョンを上の URL からダウンロードし、インストールします。

次に PowerCLI の既存バージョンをアンインストールします。これはでは C:\Program Files (x86)\VMware\Infrastructure\PowerCLI にインストールされていましたが、今後は C:\Program Files\WindowsPowerShell\Modules または C:\Users${Username}\Documents\WindowsPowerShell\Modules に PowerCLI はインストールされることになります。

仕上げに Install-Module コマンドレットを実行します。デフォルトでは PSGallery は、信頼されたリポジトリではありません。他にもモジュールを導入する場合、面倒な場合は、PSGallery を信頼されたリポジトリとセットしてしまうのもありかも知れません。この辺はセキュリティポジシーに準じて下さい。また、Install-Module コマンドレットの -Scope オプションで、現在のユーザーのみ PowerCLI を利用可能にするか、システムレベルで PowerCLI を利用にするかを選ぶことが出来ます。

    PS C:\Users\Administrator> Get-PSRepository
    
    Name                      InstallationPolicy   SourceLocation
    ----                      ------------------   --------------
    PSGallery                 Untrusted            https://www.powershellgallery.com/api/v2/
    
    PS C:\Users\Administrator> Install-Module -Name VMware.PowerCLI
    
    信頼されていないリポジトリ
    信頼されていないリポジトリからモジュールをインストールしようとしています。このリポジトリを信頼する場合は、Set-PSRepository コマンドレットを実行して、リポジトリの InstallationPolicy の値を変更してください。'PSGallery'からモジュールをインストールしますか?
    [Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y
    PS C:\Users\Administrator> 

スクリプトでの利用

スクリプトでの利用は、非常に単純になりました。PowerCLI 登場当初は

    Add-PSSnapin VMware.VimAutomation.Core

一発で済んでいた。しかし、様々な PowerCLI モジュール/スナップインが増え、単純化しても以下のスクリプトがせいぜいといった状態となってしまいました。

    if ( !(Get-Module -Name VMware.VimAutomation.Core -ErrorAction SilentlyContinue) ) {
    . C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1
    }

これが PowerCLI 6.5.1 では

    Import-Module VMware.PowerCLI

一発で済むようになりました。Happy your PowerCLI life!!

参考