VMware Photon OS 2.0 に PowerShell Core と PowerCLI Core をインストールしてみます。

Photon OS PowerCLI を利用したい場合は Docker コンテナを利用すると簡単ですが、

今回はあえて、Install-Module で PowerShell Gallery からインストールしています。

 

PowerCLI Core を Docker コンテナで利用するときは、

下記のような感じになります。

※vmware/powerclicore イメージには PowerCLI だけでなく PowerNSX も含まれています。

Docker コンテナの PowerNSX を実行してみる。

 

Photon OS 2.0 むけ RPM の PowerShell には PowerShellGet がインストールされていないので、

PowerCLI の前に PowerShellGet とその関連モジュールをインストールします。

 

手順は、vmware/powerclicore Docker イメージのもとになる

Dockerfile を参考にしました。

powerclicore/Dockerfile at master · vmware/powerclicore · GitHub

 

インストール対象の Photon OS は、VMware GitHub からダウンロードできる

OVA ファイルのものをデプロイしています。

 

Photon OS 2.0 GA Binaries

OVA with virtual hardware v13 (ESX 6.5 and above)

Downloading Photon OS · vmware/photon Wiki · GitHub

 

今回の Photon OS です。

root@photon-machine [ ~ ]# cat /etc/photon-release

VMware Photon OS 2.0

PHOTON_BUILD_NUMBER=304b817

 

PowerShell Core のインストール。

Photon OS の パブリックな Yum リポジトリから、

PowerShell Core と unzip をインストールします。

root@photon-machine [ ~ ]# tdnf install -y powershell unzip

root@photon-machine [ ~ ]# rpm -q powershell

powershell-6.0.1-1.ph2.x86_64

 

PowerShellGet のインストール。

PowerShellGet 関連のモジュールを、ファイル配置することでインストールします。

 

PackageManagement

root@photon-machine [ ~ ]# curl -LO https://www.powershellgallery.com/api/v2/package/PackageManagement

root@photon-machine [ ~ ]# unzip PackageManagement -d /usr/lib/powershell/Modules/PackageManagement

root@photon-machine [ ~ ]# rm PackageManagement

 

PowerShellGet

root@photon-machine [ ~ ]# curl -LO https://www.powershellgallery.com/api/v2/package/PowerShellGet

root@photon-machine [ ~ ]# unzip PowerShellGet -d /usr/lib/powershell/Modules/PowerShellGet

root@photon-machine [ ~ ]# rm PowerShellGet

 

問題対策。

Add-Type の問題対策を設定しておきます。

PowerShell on Photon: Cannot add PowerShell Type · Issue #752 · vmware/photon · GitHub

root@photon-machine [ ~ ]#  mkdir -p /usr/lib/powershell/ref/

root@photon-machine [ ~ ]#  ln -s /usr/lib/powershell/*.dll /usr/lib/powershell/ref/

 

PowerCLI Core のインストール。

PowerShell Core(pwsh)を対話モードで起動します。

root@photon-machine [ ~ ]# pwsh -v

PowerShell v6.0.1

root@photon-machine [ ~ ]# pwsh -NoLogo

PS /root>

 

PowerShell Gallery から PowerCLI Core をインストールします。

PS /root> Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

PS /root> Install-Module VMware.PowerCLI

 

インストールされました。

PS /root> Get-Module VMware.PowerCLI -ListAvailable | select Version,Name

 

Version        Name

-------        ----

10.2.0.9372002 VMware.PowerCLI

 

 

vCenter にも接続できます。

※証明書エラー回避のため「-Force」をつけています。

PS /root> Connect-VIServer infra-vc-01.go-lab.jp -Force

 

Specify Credential

Please specify server credential

User: gowatana

Password for user gowatana: ***********

 

Name                           Port  User

----                           ----  ----

infra-vc-01.go-lab.jp          443   GO-LAB\gowatana

 

 

PS /root> Get-VMHost | select Name,Version,Build,ConnectionState | Sort-Object Name

 

Name                    Version Build   ConnectionState

----                    ------- -----   ---------------

infra-esxi-01.go-lab.jp 6.7.0   8169922       Connected

infra-esxi-02.go-lab.jp 6.7.0   8169922       Connected

infra-esxi-03.go-lab.jp 6.7.0   8169922       Connected

infra-esxi-04.go-lab.jp 6.7.0   8169922       Connected

infra-esxi-05.go-lab.jp 6.7.0   8169922       Connected

infra-esxi-06.go-lab.jp 6.7.0   8169922       Connected

 

 

PowerCLI にかぎらず、ほかの PowerShell モジュールも同様にインストールできるはずです。

 

以上、Photon OS 2.0 に PowerCLI Core をインストールしてみる話でした。