PowerCLIとPowerCLI Coreの双方で動くPowerShellスクリプトの作り方

2018/07/06追記

PowerCLI Coreが無くなり、VMware PowerCLI本体の方でPowerShell Coreへの対応が行われるようになった結果、ここに書いたようなモジュール名の使い分けが不要になりました。
詳細は「CentOS7環境にPowerShell CoreとVMware PowerCLIをインストール」に記載しました。


Windows環境以外でも、動作するようになったPowerShellと、VMware PowerCLI
(Power Shell Core 6.0をCentOS7で使ってみる)
(Linux上のPowerShellでvSphereの操作を行うPowerCLI Coreを試す+CentOS7で使うための回避策)

いままで作ったPowerCLI用のスクリプトを使おうとして問題発覚。

PowerCLIモジュールを「Import-Module -Name VMware.VimAutomation.Core」で読み込ませていたのだが、PowerCLI Coreではモジュール名が「PowerCLI.ViCore」に変更されていた。

また、PoweCLI Coreの手順だと、モジュール名を特定しなくとも、条件にあてはまるものを全て読み込む、ということができるやり方が提示されていた。

そこで、PowerCLIとPowerCLI Coreのどちらでも、関連モジュールを全て読み込むような記述を考えて作成した。

Write-Host "初期のモジュール読み込み状況"
Get-Module
Write-Host ""

# Windows用PowerCLIがインストールされているか?
$modulelist=Get-Module -ListAvailable VMware.Vim*
if($modulelist -eq $null){
	# modulelist Coreがインストールされているか?
	$modulelist=Get-Module -ListAvailable PowerCLI*
}
if($modulelist -eq $null){
	Write-Host "PowerCLIがインストールされていません"
	exit 1
}
$modulelist | Import-Module
Write-Host ""
Write-Host "現在のモジュール読み込み状況"
Get-Module

Windows環境での実行結果

PS C:\tmp> .\importmodule.ps1
初期のモジュール読み込み状況

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   3.1.0.0    Microsoft.PowerShell.Management     {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Con...
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Add-Member, Add-Type, Clear-Variable, Compare-Object...}


現在のモジュール読み込み状況
Script     0.0        Initialize-VMware.VimAutomation....
Script     0.0        Initialize-VMware.VimAutomation....
Script     0.0        Initialize-VMware_VimAutomation_Cis
Manifest   3.1.0.0    Microsoft.PowerShell.Management     {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Con...
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Binary     6.5.0.4... VMware.VimAutomation.Cis.Core       {Connect-CisServer, Disconnect-CisServer, Get-CisService}
Manifest   6.5.0.4... VMware.VimAutomation.Common
Binary     6.5.0.2... VMware.VimAutomation.Core           {Add-PassthroughDevice, Add-VirtualSwitchPhysicalNetworkAd...
Binary     6.0.0.0    VMware.VimAutomation.HA             Get-DrmInfo
Binary     6.5.0.4... VMware.VimAutomation.License        Get-LicenseDataManager
Manifest   6.5.0.4... VMware.VimAutomation.Sdk            Get-PSVersion
Binary     6.5.0.4... VMware.VimAutomation.Storage        {Copy-VDisk, Export-SpbmStoragePolicy, Get-NfsUser, Get-Sp...
Binary     6.5.0.4... VMware.VimAutomation.Vds            {Add-VDSwitchPhysicalNetworkAdapter, Add-VDSwitchVMHost, E...
Binary     6.5.0.4... VMware.VimAutomation.vROps          {Connect-OMServer, Disconnect-OMServer, Get-OMAlert, Get-O...


 C:\tmp>

CentOS7環境での実行例

# cat importmodule.ps1 |powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS /root> Write-Host "初期のモジュール読み込み状況"
初期のモジュール読み込み状況
PS /root> Get-Module

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Add-Member, Add-T...
Script     1.2        PSReadLine                          {Get-PSReadlineKey...


PS /root> Write-Host ""

PS /root>
PS /root> # Windows用PowerCLIがインストールされているか?
PS /root> $modulelist=Get-Module -ListAvailable VMware.Vim*
PS /root> if($modulelist -eq $null){
>>      # modulelist Coreがインストールされているか?
>>      $modulelist=Get-Module -ListAvailable PowerCLI*
>> }
>> if($modulelist -eq $null){
>>      Write-Host "PowerCLIがインストールされていません"
>>      exit 1
>> }
>> $modulelist | Import-Module
>> Write-Host ""
>> Write-Host "現在のモジュール読み込み状況"
>> Get-Module
>>

現在のモジュール読み込み状況

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     0.0        Initialize
Script     0.0        Initialize-VMware_VimAutomation_Vds
Manifest   3.1.0.0    Microsoft.PowerShell.Management     {Add-Content, Clea...
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Add-Member, Add-T...
Binary     1.21       PowerCLI.Vds                        {Add-VDSwitchPhysi...
Binary     1.21       PowerCLI.ViCore                     {Add-PassthroughDe...
Script     1.2        PSReadLine                          {Get-PSReadlineKey...


PS /root> #

Aliexpressで$39.99で売ってる1000Mbps対応のPLC(電力線LAN)は日本で使えるのか?

2023/09/05追記+2023/09/07 HD-PLCがNessumに改称したが詳細についてはまだこれからの模様

2023/10/30追記 Nessum対応のアップデート

2023年10月末時点でのNessum関連について

2023年10月2日に規格名だけでなく、団体名であるところのHD-PLCアライアンスもNessum(ネッサム)アライアンスに改称した。

NessumではNessum WIREという同軸ケーブルもしくは電力線を使った規格と、Nessum AIRという低周波数帯域を使った無線規格の2種類が提供されることになった。

Nessum WIREの電力線に旧HD-PLC4相当の1Gbps対応が含まれているので使えそう、とか感じますが、別ページに「国内:2~28MHz 注:国内の電力線通信で使用可能な周波数は電波法により規定されています」という注釈があり、220Mbpsまでの記載がある。

このため、2023年10月末時点では、引き続き日本国内で1GbpsのPLC機器を使うと違法となる状況は変わっていない模様である。

Nessum WIREの1Gbps対応製品は国外も含めてまだ出ていないようだ。

また、海外ではHomePlus AV2 Standard / AV2000 規格で2Gbpsまで出る規格があり、製品化もされている。

2023年9月時点での現状について

PLCの規格について「HD-PLCの標準化」に現状のまとめがある。
 2010年12月 HD-PLCが IEEE 1901として承認
 ITU-Tが標準化を進めているホームネットワーク仕様が G.hn規格
  G.9960が物理層、G.9961がMAC層、G.9972が他規格との共存仕様

製品がリリースされている高速度なPLC規格は以下の4つがある

・HomePlug AV2 Standard / AV2000
・HomePlug AV2 Standard / AV1300
・G.hn wave 2 / G.hn 2400
・G.hn wave 1 / G.hn 1200

HomePlug系を定義した HomePlug は2019年以降アクセスできず消息不明のため継続性が謎。

G.hn系はHomeGrid Forum だが、このフォーラムとしては宅内配線だけではなく、GiGAWaire(G.hn Access) という宅外配線も含んだ規格を制定している。

HD-PLC(日本語)は現存しているが、2018年のHD-PLC3 multi-hopでは240Mbpsまでで、2022年予定の1Gbps規格がHD-PLC4ということになっているようだ。

HD-PLC4の場合は、2~100MHzの帯域を使用することになっているが、製品はまだない??
 → HD-PLC™ 第 4 世代規格 IEEE1901-2020 準拠 LSI ”SC1320A”を量産出荷開始 とチップは出ているが一般向け製品はまだ

G.hn製品についてはHomeGrid ForumのCertified Systems から製品検索ができる。

比較的入手しやすそうなベンダ例としてTP-LinkとXyxelをあげておく

TP-Linkの製品
 AV2000対応 TL-PA9020P KIT
 AV1300対応 TL-PA8010P KIT
 G,hn 2400対応 PG2400P KIT
 G.hn 1200対応 PG1200 KIT

Xyxelの製品
 AV2000対応 PLA5456
 G.hn 2400対応 PLA6456


当初の記載

2021/08/02: リンク先がいくつか無くなったりしてたので修正

Aliexpressを見てたら、PLC(電力線LAN)装置のペアが$39.99で販売していた。

安いけど、日本で使えるんだろうか?と調べてみた。

まず、上記の機器について調査。
中国の「Tenda」というメーカの「PH3」といい商品。
HomePlug AV2という規格に対応し、通信速度は1000Mbs。
この他に旧規格のHome Plug AVとIEEE 1901にも対応とのこと。

Tendaでは、HomePlug AV2に対応した製品を全部で4種類出している
・「PH3」ペア販売で、基本系で、LANは1ポート(2台セット)
・「PA6」無線LAN APを兼ねているもの。LANは2ポート(1台)
・「P1001P」コンセントを消費してしまうのを避けるためにタップ機能も用意。LANは1ポート(1台)
・「P1002P」P1001PのLANが2ポートになったモデル(1台)
この4製品で混在可能。


さて、規格について確認。

・HomePlug(団体名)
 「HOMEPLUG
 ここが制定してる規格がHomePlug
 2019年4月以降Webがアクセスできず、HomePlugの現状は不明

・HomePlug 1.0
 2001年リリース。
 2008年にTIA-1113として承認

・HomePlug AV 1
 2005年リリース。13Mbps~200Mbpsの規格
 家庭内でのAudio/Video配信に耐えられる規格として制定
 2010年にIEEE1901として承認された
 2~30MHzの帯域幅を使う

・HomePlug AV 2
 2012年リリース。~1300Mbpsの規格
 実行速度は出ても550Mbps
 2~30MHzに加えて、30~86MHzの帯域幅を使う

・HomePlug Green PHY
 2010年リリース。スマートグリッド向け
 HomePlug AV 1のサブセット
 10Mbpsまで

・HD-PLC(団体名)
 「HD-PLCアプライアンス
 HomePlugとは別の団体で、日本のパナソニックなどが主体となっている。
 ここが制定してる規格がHD-PLC

・HD-PLC 1
 2~28MHzの帯域幅を使用

・HD-PLC 2
 2~28MHzの帯域幅を使用
 ~210Mbpsの規格
電力線を使うだけでなく、同軸ケーブルを使用する製品も存在している

・HD-PLC 3
 新世代IEEE1901 「HD-PLC3」
(Complete、inside)について

 2~28MHzの帯域幅を使用
 ~240Mbpsの規格
電力線を使うだけでなく、同軸ケーブルを使用する製品も存在している

HD-PLC4 (Quatro Core)
 2019年3月にIEEE 1901aとして承認されたもの
 2~100MHz帯を使用し、~1000Mbpsの規格
 ただし1000Mbpsは同軸ケーブル利用の場合で、電力線は250Mbpsまで

・HomeGrid Forum(団体名)
 「HomeGrid Forum
 中国発祥の規格。

・G.hn
 HomeGrid Forumが制定するGigabit Home Networkingの規格
 TVアンテナ用の同軸ケーブルなどを利用する製品
 先日エレコムが出した「エレコム、既設の同軸ケーブルをイーサネット化するコンバーター、最長1100mの通信が可能はG.hn製品

GiGA Wire
 G.hnをベースにした拡張規格


日本で使えるか?という点について確認する

HD-PLCフォーラムの「高速PLC通信とは?」に下記記載があった。

一方、日本国内では、これまで低速PLC通信が、450kHz以下の周波数帯で商用認可されていましたが、高速PLC通信の利用は、規制されていました。 その後、高速PLC通信ニーズの高まりにより、2006年10月から短波帯(2M~30MHz)を使用した屋内利用が、規制緩和されインターネット利用で順調に市場が拡大し、出荷累計120万台を超える市場に成長しています。 また、最近では、無線LAN利用拡大に伴う通信障害対策としての利用ニーズも高まりを見せています。 このような背景の下、2013年9月には、屋外利用の規制緩和も行われ今後、高速PLCの利用範囲は、更にさまざまな分野に広がるものと期待されています。

2~30MHz帯を使えば問題ないが、それ以上を使うHomePlug AV2では問題があるようだ。

Remix OS for Mobile

2018/01/22追記
Jideはサイトは生きてますが、サポートページ消滅、アップデートも提供されない、クラウドファンディングも中止と、死にました。
この「Remix OS for Mobile」は姿を見せることはありませんでした。

Remix OSと同じようにIntelアーキテクチャ向けのタブレット/ノートパソコン向けAndroid OSとして「Phoenix OS」というのがでています。


Jideが作成しているAndroid OS+UbuntuみたいなRemix OSというのがある。

主にタブレット向けとして出ていて、ARM系CPUのものと、Intel CPUのものをサポートしている。
ただし、ARM系のサポートは結構微妙で、Remix OS 1.0のみ、とか、Remix OS 2.0のみ、とか結構ある。
これじゃ、元のAndroid側で、タブレットで採用されやすいRockchipなどのSoCへの対応具合が微妙なところがあるから・・・

さて、そんなRemix OSから新しい展開が発表。
Remix OS for Mobile

Windows 10 Mobileの「Windows Continuum」と同じように、スマホを利用して、大画面でキーボードとマウスによるマルチウィンドウ操作が行えるようになる、というもののようだ。

恐らく、同じLinux系ベースの「Ubuntu Mobile」がやろうとしていた「Ubuntu Convergence」のあたりも利用していそうな気がします

現在、スマホ向けのRemix OSを採用しているところはないので、実現するかどうかは、非常に微妙じゃないかなーという気もしますが、果たしてどうなりますことやら?

なお、Remix OSですが、一部にGoogle Playストアが使える、という話が書かれていたりします。
しかし、これは、どっちかというと非公式にインストールされているもので、正式にはGoogle Playストアは入っていないことになっています。
(注:初期は、Google Playストアが入っていましたが、Googleからのクレームで除去されました)

muninのDisk IOs per deviceからsdaなどを除外する

Linux LVMベースでパーテーションが構成されている環境で、muninを使ったら、Disk IOs per deviceなどで、「sda」が存在していた。

今回の環境だと、sda内に、それ以外のLVMが含まれている形となるので、sda自体を表示する意味がほとんど無いので、除外しようと思う。

資料は「diskstats 」。

「/etc/munin/plugin-conf.d/diskstats」というファイルに下記を記載した。

[diskstats]
env.exclude sda

この変更を行った後は、下記の様なグラフとなった。

Linux上のPowerShellでvSphereの操作を行うPowerCLI Coreを試す+CentOS7で使うための回避策

2018/07/06追記

PowerCLI Coreが無くなり、VMware PowerCLI本体の方でPowerShell Coreへの対応が行われるようになり、
RHEL7/CentOS7にも正式に対応したので、手順がだいぶ変わりました。
詳細は「CentOS7環境にPowerShell CoreとVMware PowerCLIをインストール」に記載しました。


2018/05/25 追記

時々アクセスがあるので、2018/05/25時点での状況を書いておきます。
・PowerCLIの公式ページは「https://code.vmware.com/web/dp/tool/vmware-powercli/
・PowerCLI Coreという単品はなくなり、PowerCLI本体でPowerShellとPowerShell Core双方に対応します。
・インストーラーによる配布はなくなり、「PowerShell Galleryでの配布」になりました。
PowerShellGalleryPowerShellGet moduleがインストールされている環境では「Install-Module -Name VMware.PowerCLI」を実行するだけでダウンロード&インストールを行います。
・PowerShell Core 6では標準でPowerShellGet moduleがインストールされているので、コマンドを実行するだけでした。
・パッケージ名は「VMware.PowerCLI」です。パッケージのインストール状況を確認する場合は「Get-Module -ListAvailable VMware*」でやります。


(以下、過去記事)
先日、インストールしてみたPowerShell Core(Power Shell Core 6.0をCentOS7で使ってみる)。

これ、もしかして、vSphere環境の操作を行うVMware PowerCLIが動かないかな?と思って調べてみると、開発中の「PowerCLI Core」というのがあるのを発見。

「October 17, 2016 v1.0」版では、かなりサポート範囲が狭い。まさに「Core」

Module Description PowerCLI for Windows PowerCLI Core
Core vCenter and ESXi Cmdlets
VDS vSphere Distributed Switch Cmdlets
Storage Storage Cmdlets ×
License License View Cmdlets ×
VUM Update Manager Cmdlets ×
Auto Deploy Auto Deploy Cmdlets ×
Image Builder Image Builder Cmdletes ×
VCD vCloud Director Cmdlets ×
vCloud Air vCloud Air Cmdlets ×
Content Library COntent Library Cmdlets ×

さて、インストール。

1. PowerCLI CoreからPowerCLI_Core.zipを入手
ファイルを展開し、中にある、PowerCLI.ViCore.zipとPowerCLI.Vds.zipを適当な場所に置く。
(今回は~/work/に置いた)

2. powershell Core上で「$env:PSModulePath」を実行し、モジュールを読み込むディレクトリを確認

# powershell "$env:PSModulePath"
:PSModulePath : The term ':PSModulePath' is not recognized as the name of a cmd
let, function, script file, or operable program. Check the spelling of the name
, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ :PSModulePath
+ ~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (:PSModulePath:String) [], Comma
   ndNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
#

ん?

# powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS /root> $env:PSModulePath
PS /root> exit
#

どうやら、環境変数「PSModulePath」が定義されていないらしい。

3. 個人用のModuleインストール先として「~/.local/share/powershell/Modules」を作成

# mkdir -p ~/.local/share/powershell/Modules
#

4. 作成したディレクトリ内にPowerCLI.ViCore.zipとPowerCLI.Vds.zipを展開

# cd ~/.local/share/powershell/Modules
# unzip ~/work/PowerCLI.ViCore.zip
Archive:  ~/work/PowerCLI.ViCore.zip
  inflating: PowerCLI.ViCore/ComponentDescriptor-VMware.VimAutomation.Vds.xml
  inflating: PowerCLI.ViCore/ComponentDescriptor-VMware.VimAutomation.ViCore.Cmdlets.xml
  inflating: PowerCLI.ViCore/ComponentDescriptor-VMware.VimAutomation.ViCore.xml
  inflating: PowerCLI.ViCore/ICSharpCode.SharpZipLib.Tar.dll
  inflating: PowerCLI.ViCore/ICSharpCode.SharpZipLib.Tar.pdb
  inflating: PowerCLI.ViCore/Initialize.ps1
  inflating: PowerCLI.ViCore/InternalVimService50.dll
  inflating: PowerCLI.ViCore/InventoryService55.dll
  inflating: PowerCLI.ViCore/log4net.dll
  inflating: PowerCLI.ViCore/Newtonsoft.Json.dll
  inflating: PowerCLI.ViCore/phclient.dll
  inflating: PowerCLI.ViCore/PowerCLI.ViCore.psd1
  inflating: PowerCLI.ViCore/System.Drawing.Primitives.dll
  inflating: PowerCLI.ViCore/System.Management.Automation.dll
  inflating: PowerCLI.ViCore/System.Net.WebSockets.Client.dll
  inflating: PowerCLI.ViCore/System.Net.WebSockets.dll
  inflating: PowerCLI.ViCore/System.Runtime.Serialization.Formatters.dll
  inflating: PowerCLI.ViCore/VimService.dll
  inflating: PowerCLI.ViCore/VMware.AspNet.WebApi.Client.dll
  inflating: PowerCLI.ViCore/VMware.AspNet.WebApi.Client.pdb
  inflating: PowerCLI.ViCore/VMware.Binding.Ls2.dll
  inflating: PowerCLI.ViCore/VMware.Binding.Ls2.pdb
  inflating: PowerCLI.ViCore/VMware.Binding.Wcf.dll
  inflating: PowerCLI.ViCore/VMware.Binding.Wcf.pdb
  inflating: PowerCLI.ViCore/VMware.System.Private.ServiceModel.dll
  inflating: PowerCLI.ViCore/VMware.Vim.dll
  inflating: PowerCLI.ViCore/VMware.Vim.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Ceip.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Ceip.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Interop.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Interop.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Types.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Types.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Util10.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Util10.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Util10Ps.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Common.Util10Ps.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Format.ps1xml
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Impl.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Impl.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Interop.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Interop.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Types.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Types.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Util10.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Util10.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Util10Ps.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Sdk.Util10Ps.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Vds.Impl.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Vds.Impl.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Vds.Interop.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Vds.Interop.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Vds.Types.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.Vds.Types.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Cmdlets.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Cmdlets.dll-Help.xml
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Cmdlets.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Impl.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Impl.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Interop.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Interop.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Types.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Types.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Util10.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Util10.pdb
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Util10Ps.dll
  inflating: PowerCLI.ViCore/VMware.VimAutomation.ViCore.Util10Ps.pdb
  inflating: PowerCLI.ViCore/Scripts/GetVmGuestNetworkInterface_LinuxGuest
  inflating: PowerCLI.ViCore/Scripts/GetVmGuestNetworkInterface_windows7Server64Guest.bat
  inflating: PowerCLI.ViCore/Scripts/GetVmGuestNetworkInterface_windows7_64Guest.bat
  inflating: PowerCLI.ViCore/Scripts/GetVmGuestNetworkInterface_WindowsGuest.bat
  inflating: PowerCLI.ViCore/Scripts/GetVMGuestRoute_LinuxGuest
  inflating: PowerCLI.ViCore/Scripts/GetVMGuestRoute_WindowsGuest.bat
  inflating: PowerCLI.ViCore/Scripts/GuestDiskExpansion_LinuxGuest
  inflating: PowerCLI.ViCore/Scripts/GuestDiskExpansion_rhel5Guest
  inflating: PowerCLI.ViCore/Scripts/GuestDiskExpansion_WindowsGuest.bat
  inflating: PowerCLI.ViCore/Scripts/GuestDiskExpansion_winXPProGuest.bat
  inflating: PowerCLI.ViCore/Scripts/NewVMGuestRoute_LinuxGuest
  inflating: PowerCLI.ViCore/Scripts/NewVMGuestRoute_WindowsGuest.bat
  inflating: PowerCLI.ViCore/Scripts/RemoveVMGuestRoute_LinuxGuest
  inflating: PowerCLI.ViCore/Scripts/RemoveVMGuestRoute_WindowsGuest.bat
  inflating: PowerCLI.ViCore/Scripts/SetVMGuestNetworkInterface_LinuxGuest
  inflating: PowerCLI.ViCore/Scripts/SetVMGuestNetworkInterface_windows7Server64Guest.bat
  inflating: PowerCLI.ViCore/Scripts/SetVMGuestNetworkInterface_windows7_64Guest.bat
  inflating: PowerCLI.ViCore/Scripts/SetVMGuestNetworkInterface_WindowsGuest.bat
# unzip ~/work/PowerCLI.Vds.zip
Archive:  ~/work/PowerCLI.Vds.zip
  inflating: PowerCLI.Vds/ComponentDescriptor-VMware.VimAutomation.Vds.Commands.xml
  inflating: PowerCLI.Vds/Initialize-VMware_VimAutomation_Vds.ps1
  inflating: PowerCLI.Vds/PowerCLI.Vds.psd1
  inflating: PowerCLI.Vds/VMware.VimAutomation.Vds.Commands.dll
  inflating: PowerCLI.Vds/VMware.VimAutomation.Vds.Commands.dll-Help.xml
  inflating: PowerCLI.Vds/VMware.VimAutomation.Vds.Commands.pdb
  inflating: PowerCLI.Vds/VMware.VimAutomation.Vds.Format.ps1xml
# ls -F
PowerCLI.Vds/  PowerCLI.ViCore/
#

5. PowerShell上でモジュールが認識されていることを確認
「Get-Module -ListAvailable」の出力結果内に「PowerCLI.ViCore」と「PowerCLI.Vds」があることを確認。

# powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS /root/work> $env:PSModulePath
PS /root/work> Get-Module -ListAvailable PowerCLI*


    Directory: /root/.local/share/powershell/Modules


ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Binary     1.21       PowerCLI.Vds
Binary     1.21       PowerCLI.ViCore                     HookGetViewAutoCom...


PS /root/work>

6. 上記のモジュールを読み込み利用可能状態とする

PS /root/work> Get-Module -ListAvailable PowerCLI* | Import-Module
PS /root/work>

(モジュール名がPowerCLIと異なるため注意。どちらでも動かすやり方→「PowerCLIとPowerCLI Coreの双方で動くPowerShellスクリプトの作り方」)

7. vCenterへの接続テストをしてみる

PS /root/work> Connect-VIServer -Server サーバ名 -User ユーザ名 -Password "パスワード"
Connect-VIServer : 2017/02/22 17:40:20  Connect-VIServer                The libcurl library in
 use (7.29.0) and its SSL backend ("NSS/3.21 Basic ECC") do not support custom
handling of certificates. A libcurl built with OpenSSL is required.
At line:1 char:1
+ Connect-VIServer -Server サーバ名 -User ユーザ名 -Password "パスワード"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Connect-VIServer], ViError
    + FullyQualifiedErrorId : Client20_ConnectivityServiceImpl_Reconnect_Excep
   tion,VMware.VimAutomation.ViCore.Cmdlets.Commands.ConnectVIServer

PS /root/work>

手順にある証明書の問題を無視する設定を飛ばしたせいかな?と次を実施。

8. 証明書の問題を無視する設定を実施
手順書では「Set-PowerCLIConfiguration -InvalidCertificateAction Ignore」、プロンプトを出したくないのであれば、「Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false」を実行

PS /root/work> Set-PowerCLIConfiguration -InvalidCertificateAction Ignore

Perform operation?
Performing operation 'Update PowerCLI configuration.'?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):y

Scope    ProxyPolicy     DefaultVIServerMode InvalidCertificateAction  DisplayD
                                                                       eprecati
                                                                       onWarnin
                                                                       gs
-----    -----------     ------------------- ------------------------  --------
Session  UseSystemProxy  Multiple            Ignore                    True
User                                         Ignore
AllUsers


PS /root/work> Connect-VIServer -Server サーバ名 -User ユーザ名 -Password "パスワード"

Connect-VIServer : 2017/02/22 17:43:23  Connect-VIServer                The libcurl library in
 use (7.29.0) and its SSL backend ("NSS/3.21 Basic ECC") do not support custom
handling of certificates. A libcurl built with OpenSSL is required.
At line:1 char:1
+ Connect-VIServer -Server サーバ名 -User ユーザ名 -Password "パスワード"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Connect-VIServer], ViError
    + FullyQualifiedErrorId : Client20_ConnectivityServiceImpl_Reconnect_Excep
   tion,VMware.VimAutomation.ViCore.Cmdlets.Commands.ConnectVIServer

PS /root/work>

あれ?
証明書を無視するという問題ではなかった模様。

調べるとGithubのPowerShell Issue#2511と同じ状況
On CentOS Powershell uses the system libcurl that does not support custom SSL certificate validation #2511
現時点では、「CERN CentOS 7」に含まれている「libcurl-openssl」をインストールすると回避できるらしい。

CERN CentOS7を利用する回避手順
(1) 標準状態のCentOS7での「libcurl」関連パッケージの状況を確認

# yum search libcurl
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
============================= N/S matched: libcurl =============================
libcurl-devel.i686 : Files needed for building applications with libcurl
libcurl-devel.x86_64 : Files needed for building applications with libcurl
libcurl.i686 : A library for getting files from web servers
libcurl.x86_64 : A library for getting files from web servers
perl-WWW-Curl.x86_64 : Perl extension interface for libcurl
python-pycurl.x86_64 : A Python interface to libcurl

  Name and summary matches only, use "search all" for everything.
#

(2) CERN CentOS 7のレポジトリ設定が含まれるcentos-release-~cern.rpmを取得
http://linuxsoft.cern.ch/cern/centos/7/cern/x86_64/Packages/から「centos-release-~.el7.cern.x86_64.rpm」の一番新しいものをダウンロード

(3) rpmファイルを展開し、CentOS-CERN.repoファイルを入手
「rpm2cpio centos-release-~.el7.cern.x86_64.rpm | cpio -ivd」で展開すると「./etc/yum.repos.d/CentOS-CERN.repo」などが作成される
2017/02/22の段階でのCentOS-CERN.repoファイルは下記の内容だった。

# CentOS-CERN.repo
#
# CERN CentOS 7 uses local repositories at http://linuxsoft.cern.ch distribution service
#

[cern]
name=CentOS-$releasever - CERN
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern/$basearch/
gpgcheck=1
enabled=1
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cern-testing]
name=CentOS-$releasever - CERN Testing
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern-testing/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cernonly]
name=CentOS-$releasever - CERN Only
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cernonly-testing]
name=CentOS-$releasever - CERN Only Testing
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly-testing/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cern-debug]
name=CentOS-7 - CERN - Debuginfo
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern/Debug/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cernonly-debug]
name=CentOS-7 - CERN Only - Debuginfo
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly/Debug/$basearch/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cern-source]
name=CentOS-$releasever - CERN Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern/Sources/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cernonly-source]
name=CentOS-$releasever - CERN Only Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly/Sources/
gpgcheck=1
enabled=0
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cern-testing-source]
name=CentOS-$releasever - CERN Testing Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cern-testing/Sources/
gpgcheck=1
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

[cernonly-testing-source]
name=CentOS-$releasever - CERN Only Testing Sources
baseurl=http://linuxsoft.cern.ch/cern/centos/$releasever/cernonly-testing/Sources/
gpgcheck=1
enabled=0
enabled=0
protect=1
priority=5
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern

(4) ./etc/yum.repos.d/CentOS-CERN.repoを「/etc/yum.repos.d/」にコピー
(5) ./etc/pki/rpm-gpg/RPM-GPG-KEY-cernを「/etc/pki/rpm-gpg/」にコピー

(6) CERNレポジトリが登録されている状態で「libcurl」関連を検索

# yum search libcurl
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
============================= N/S matched: libcurl =============================
libcurl-devel.i686 : Files needed for building applications with libcurl
libcurl-devel.x86_64 : Files needed for building applications with libcurl
libcurl-openssl-devel.x86_64 : Files needed for building applications with
                             : libcurl-openssl
libcurl.i686 : A library for getting files from web servers
libcurl.x86_64 : A library for getting files from web servers
libcurl-openssl.x86_64 : A library for getting files from web servers
perl-WWW-Curl.x86_64 : Perl extension interface for libcurl
python-pycurl.x86_64 : A Python interface to libcurl

  Name and summary matches only, use "search all" for everything.
#

(7) libcurl-opensslをインストール

# yum install libcurl-openssl
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ libcurl-openssl.x86_64 0:7.51.0-2.1.el7.cern を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package               アーキテクチャー
                                    バージョン                 リポジトリー
                                                                           容量
================================================================================
インストール中:
 libcurl-openssl       x86_64       7.51.0-2.1.el7.cern        cern       215 k

トランザクションの要約
================================================================================
インストール  1 パッケージ

合計容量: 215 k
インストール容量: 446 k
Is this ok [y/d/N]: y
Downloading packages:
警告: /var/cache/yum/x86_64/7/cern/packages/libcurl-openssl-7.51.0-2.1.el7.cern.x86_64.rpm: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 1d1e034b: NOKEY
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-cern から鍵を取得中です。
Importing GPG key 0x1D1E034B:
 Userid     : "CERN Linux Support (RPM signing key for CERN Linux Support) <linux.support@cern.ch>"
 Fingerprint: 86b5 5b37 12c1 e4a4 13c9 60e6 5e03 fde5 1d1e 034b
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-cern
上記の処理を行います。よろしいでしょうか? [y/N]y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告: RPMDB は yum 以外で変更されました。
  インストール中          : libcurl-openssl-7.51.0-2.1.el7.cern.x86_64      1/1
  検証中                  : libcurl-openssl-7.51.0-2.1.el7.cern.x86_64      1/1

インストール:
  libcurl-openssl.x86_64 0:7.51.0-2.1.el7.cern

完了しました!
#

(8)普段の運用に差し支える可能性があるので普段はCERNレポジトリを無効化する
「/etc/yum.repos.d/CentOS-CERN.repo」内にある「enabled=1」を「enabled=0」に変更する

(9) libcurl-opensslが/opt/shibboleth/lib64/にインストールされていることを確認

# ls /opt/shibboleth/lib64/
libcurl.so.4  libcurl.so.4.4.0
#

(10) LD_LIBRARY_PATHに「/opt/shibboleth/lib64/」を追加

# export LD_LIBRARY_PATH=/opt/shibboleth/lib64/:$LD_LIBRARY_PATH
#

9. 改めてPowerShellを起動しなおして接続

# powershell
PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS /root> Get-Module -ListAvailable PowerCLI* | Import-Module
PS /root> Connect-VIServer -Server サーバ名 -User ユーザ名 -Password "パスワード"

Name                           Port  User
----                           ----  ----
サーバ名                       443   ユーザ名


PS /root>

問題なく成功

Get-VMとかも通常のPowerCLIと同様に可能

PS /root> Get-VM

Name                 PowerState Num CPUs MemoryGB
----                 ---------- -------- --------
仮想マシン名         PoweredOn  2        8.000


PS /root>

ということで、PowerCLI COREで利用可能なコマンドレットの一覧。

PS /root> Get-Module

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     0.0        Initialize
Script     0.0        Initialize-VMware_VimAutomation_Vds
Manifest   3.1.0.0    Microsoft.PowerShell.Management     {Add-Content, Clea...
Manifest   3.1.0.0    Microsoft.PowerShell.Utility        {Add-Member, Add-T...
Binary     1.21       PowerCLI.Vds                        {Add-VDSwitchPhysi...
Binary     1.21       PowerCLI.ViCore                     {Add-PassthroughDe...
Script     1.2        PSReadLine                          {Get-PSReadlineKey...


PS /root> (Get-Module PowerCLI.ViCore).ExportedCommands

Key                                        Value
---                                        -----
Add-PassthroughDevice                      Add-PassthroughDevice
Add-VirtualSwitchPhysicalNetworkAdapter    Add-VirtualSwitchPhysicalNetworkA...
Add-VMHost                                 Add-VMHost
Add-VMHostNtpServer                        Add-VMHostNtpServer
Connect-VIServer                           Connect-VIServer
Copy-DatastoreItem                         Copy-DatastoreItem
Copy-HardDisk                              Copy-HardDisk
Copy-VMGuestFile                           Copy-VMGuestFile
Disconnect-VIServer                        Disconnect-VIServer
Dismount-Tools                             Dismount-Tools
Export-VApp                                Export-VApp
Export-VMHostProfile                       Export-VMHostProfile
Format-VMHostDiskPartition                 Format-VMHostDiskPartition
Get-AdvancedSetting                        Get-AdvancedSetting
Get-AlarmAction                            Get-AlarmAction
Get-AlarmActionTrigger                     Get-AlarmActionTrigger
Get-AlarmDefinition                        Get-AlarmDefinition
Get-Annotation                             Get-Annotation
Get-CDDrive                                Get-CDDrive
Get-Cluster                                Get-Cluster
Get-ContentLibraryItem                     Get-ContentLibraryItem
Get-CustomAttribute                        Get-CustomAttribute
Get-Datacenter                             Get-Datacenter
Get-Datastore                              Get-Datastore
Get-DatastoreCluster                       Get-DatastoreCluster
Get-DrsRecommendation                      Get-DrsRecommendation
Get-DrsRule                                Get-DrsRule
Get-EsxCli                                 Get-EsxCli
Get-EsxTop                                 Get-EsxTop
Get-FloppyDrive                            Get-FloppyDrive
Get-Folder                                 Get-Folder
Get-HAPrimaryVMHost                        Get-HAPrimaryVMHost
Get-HardDisk                               Get-HardDisk
Get-Inventory                              Get-Inventory
Get-IScsiHbaTarget                         Get-IScsiHbaTarget
Get-Log                                    Get-Log
Get-LogType                                Get-LogType
Get-NetworkAdapter                         Get-NetworkAdapter
Get-NicTeamingPolicy                       Get-NicTeamingPolicy
Get-OSCustomizationNicMapping              Get-OSCustomizationNicMapping
Get-OSCustomizationSpec                    Get-OSCustomizationSpec
Get-OvfConfiguration                       Get-OvfConfiguration
Get-PassthroughDevice                      Get-PassthroughDevice
Get-PowerCLIConfiguration                  Get-PowerCLIConfiguration
Get-PowerCLIVersion                        Get-PowerCLIVersion
Get-ResourcePool                           Get-ResourcePool
Get-ScsiController                         Get-ScsiController
Get-ScsiLun                                Get-ScsiLun
Get-ScsiLunPath                            Get-ScsiLunPath
Get-SecurityPolicy                         Get-SecurityPolicy
Get-Snapshot                               Get-Snapshot
Get-Stat                                   Get-Stat
Get-StatInterval                           Get-StatInterval
Get-StatType                               Get-StatType
Get-Tag                                    Get-Tag
Get-TagAssignment                          Get-TagAssignment
Get-TagCategory                            Get-TagCategory
Get-Task                                   Get-Task
Get-Template                               Get-Template
Get-UsbDevice                              Get-UsbDevice
Get-VApp                                   Get-VApp
Get-VIAccount                              Get-VIAccount
Get-VIEvent                                Get-VIEvent
Get-View                                   Get-View
Get-VIObjectByVIView                       Get-VIObjectByVIView
Get-VIPermission                           Get-VIPermission
Get-VIPrivilege                            Get-VIPrivilege
Get-VIProperty                             Get-VIProperty
Get-VIRole                                 Get-VIRole
Get-VirtualPortGroup                       Get-VirtualPortGroup
Get-VirtualSwitch                          Get-VirtualSwitch
Get-VM                                     Get-VM
Get-VMGuest                                Get-VMGuest
Get-VMGuestNetworkInterface                Get-VMGuestNetworkInterface
Get-VMGuestRoute                           Get-VMGuestRoute
Get-VMHost                                 Get-VMHost
Get-VMHostAccount                          Get-VMHostAccount
Get-VMHostAdvancedConfiguration            Get-VMHostAdvancedConfiguration
Get-VMHostAuthentication                   Get-VMHostAuthentication
Get-VMHostAvailableTimeZone                Get-VMHostAvailableTimeZone
Get-VMHostDiagnosticPartition              Get-VMHostDiagnosticPartition
Get-VMHostDisk                             Get-VMHostDisk
Get-VMHostDiskPartition                    Get-VMHostDiskPartition
Get-VMHostFirewallDefaultPolicy            Get-VMHostFirewallDefaultPolicy
Get-VMHostFirewallException                Get-VMHostFirewallException
Get-VMHostFirmware                         Get-VMHostFirmware
Get-VMHostHardware                         Get-VMHostHardware
Get-VMHostHba                              Get-VMHostHba
Get-VMHostModule                           Get-VMHostModule
Get-VMHostNetwork                          Get-VMHostNetwork
Get-VMHostNetworkAdapter                   Get-VMHostNetworkAdapter
Get-VMHostNtpServer                        Get-VMHostNtpServer
Get-VMHostPatch                            Get-VMHostPatch
Get-VMHostPciDevice                        Get-VMHostPciDevice
Get-VMHostProfile                          Get-VMHostProfile
Get-VMHostProfileRequiredInput             Get-VMHostProfileRequiredInput
Get-VMHostRoute                            Get-VMHostRoute
Get-VMHostService                          Get-VMHostService
Get-VMHostSnmp                             Get-VMHostSnmp
Get-VMHostStartPolicy                      Get-VMHostStartPolicy
Get-VMHostStorage                          Get-VMHostStorage
Get-VMHostSysLogServer                     Get-VMHostSysLogServer
Get-VMQuestion                             Get-VMQuestion
Get-VMResourceConfiguration                Get-VMResourceConfiguration
Get-VMStartPolicy                          Get-VMStartPolicy
Import-VApp                                Import-VApp
Import-VMHostProfile                       Import-VMHostProfile
Install-VMHostPatch                        Install-VMHostPatch
Invoke-DrsRecommendation                   Invoke-DrsRecommendation
Invoke-VMHostProfile                       Invoke-VMHostProfile
Invoke-VMScript                            Invoke-VMScript
Mount-Tools                                Mount-Tools
Move-Cluster                               Move-Cluster
Move-Datacenter                            Move-Datacenter
Move-Datastore                             Move-Datastore
Move-Folder                                Move-Folder
Move-HardDisk                              Move-HardDisk
Move-Inventory                             Move-Inventory
Move-ResourcePool                          Move-ResourcePool
Move-Template                              Move-Template
Move-VApp                                  Move-VApp
Move-VM                                    Move-VM
Move-VMHost                                Move-VMHost
New-AdvancedSetting                        New-AdvancedSetting
New-AlarmAction                            New-AlarmAction
New-AlarmActionTrigger                     New-AlarmActionTrigger
New-CDDrive                                New-CDDrive
New-Cluster                                New-Cluster
New-CustomAttribute                        New-CustomAttribute
New-Datacenter                             New-Datacenter
New-Datastore                              New-Datastore
New-DatastoreCluster                       New-DatastoreCluster
New-DrsRule                                New-DrsRule
New-FloppyDrive                            New-FloppyDrive
New-Folder                                 New-Folder
New-HardDisk                               New-HardDisk
New-IScsiHbaTarget                         New-IScsiHbaTarget
New-NetworkAdapter                         New-NetworkAdapter
New-OSCustomizationNicMapping              New-OSCustomizationNicMapping
New-OSCustomizationSpec                    New-OSCustomizationSpec
New-ResourcePool                           New-ResourcePool
New-ScsiController                         New-ScsiController
New-Snapshot                               New-Snapshot
New-StatInterval                           New-StatInterval
New-Tag                                    New-Tag
New-TagAssignment                          New-TagAssignment
New-TagCategory                            New-TagCategory
New-Template                               New-Template
New-VApp                                   New-VApp
New-VIPermission                           New-VIPermission
New-VIProperty                             New-VIProperty
New-VIRole                                 New-VIRole
New-VirtualPortGroup                       New-VirtualPortGroup
New-VirtualSwitch                          New-VirtualSwitch
New-VM                                     New-VM
New-VMGuestRoute                           New-VMGuestRoute
New-VMHostAccount                          New-VMHostAccount
New-VMHostNetworkAdapter                   New-VMHostNetworkAdapter
New-VMHostProfile                          New-VMHostProfile
New-VMHostRoute                            New-VMHostRoute
Open-VMConsoleWindow                       Open-VMConsoleWindow
Remove-AdvancedSetting                     Remove-AdvancedSetting
Remove-AlarmAction                         Remove-AlarmAction
Remove-AlarmActionTrigger                  Remove-AlarmActionTrigger
Remove-CDDrive                             Remove-CDDrive
Remove-Cluster                             Remove-Cluster
Remove-CustomAttribute                     Remove-CustomAttribute
Remove-Datacenter                          Remove-Datacenter
Remove-Datastore                           Remove-Datastore
Remove-DatastoreCluster                    Remove-DatastoreCluster
Remove-DrsRule                             Remove-DrsRule
Remove-FloppyDrive                         Remove-FloppyDrive
Remove-Folder                              Remove-Folder
Remove-HardDisk                            Remove-HardDisk
Remove-Inventory                           Remove-Inventory
Remove-IScsiHbaTarget                      Remove-IScsiHbaTarget
Remove-NetworkAdapter                      Remove-NetworkAdapter
Remove-OSCustomizationNicMapping           Remove-OSCustomizationNicMapping
Remove-OSCustomizationSpec                 Remove-OSCustomizationSpec
Remove-PassthroughDevice                   Remove-PassthroughDevice
Remove-ResourcePool                        Remove-ResourcePool
Remove-Snapshot                            Remove-Snapshot
Remove-StatInterval                        Remove-StatInterval
Remove-Tag                                 Remove-Tag
Remove-TagAssignment                       Remove-TagAssignment
Remove-TagCategory                         Remove-TagCategory
Remove-Template                            Remove-Template
Remove-UsbDevice                           Remove-UsbDevice
Remove-VApp                                Remove-VApp
Remove-VIPermission                        Remove-VIPermission
Remove-VIProperty                          Remove-VIProperty
Remove-VIRole                              Remove-VIRole
Remove-VirtualPortGroup                    Remove-VirtualPortGroup
Remove-VirtualSwitch                       Remove-VirtualSwitch
Remove-VirtualSwitchPhysicalNetworkAdapter Remove-VirtualSwitchPhysicalNetwo...
Remove-VM                                  Remove-VM
Remove-VMGuestRoute                        Remove-VMGuestRoute
Remove-VMHost                              Remove-VMHost
Remove-VMHostAccount                       Remove-VMHostAccount
Remove-VMHostNetworkAdapter                Remove-VMHostNetworkAdapter
Remove-VMHostNtpServer                     Remove-VMHostNtpServer
Remove-VMHostProfile                       Remove-VMHostProfile
Remove-VMHostRoute                         Remove-VMHostRoute
Restart-VM                                 Restart-VM
Restart-VMGuest                            Restart-VMGuest
Restart-VMHost                             Restart-VMHost
Restart-VMHostService                      Restart-VMHostService
Set-AdvancedSetting                        Set-AdvancedSetting
Set-AlarmDefinition                        Set-AlarmDefinition
Set-Annotation                             Set-Annotation
Set-CDDrive                                Set-CDDrive
Set-Cluster                                Set-Cluster
Set-CustomAttribute                        Set-CustomAttribute
Set-Datacenter                             Set-Datacenter
Set-Datastore                              Set-Datastore
Set-DatastoreCluster                       Set-DatastoreCluster
Set-DrsRule                                Set-DrsRule
Set-FloppyDrive                            Set-FloppyDrive
Set-Folder                                 Set-Folder
Set-HardDisk                               Set-HardDisk
Set-IScsiHbaTarget                         Set-IScsiHbaTarget
Set-NetworkAdapter                         Set-NetworkAdapter
Set-NicTeamingPolicy                       Set-NicTeamingPolicy
Set-OSCustomizationNicMapping              Set-OSCustomizationNicMapping
Set-OSCustomizationSpec                    Set-OSCustomizationSpec
Set-PowerCLIConfiguration                  Set-PowerCLIConfiguration
Set-ResourcePool                           Set-ResourcePool
Set-ScsiController                         Set-ScsiController
Set-ScsiLun                                Set-ScsiLun
Set-ScsiLunPath                            Set-ScsiLunPath
Set-SecurityPolicy                         Set-SecurityPolicy
Set-Snapshot                               Set-Snapshot
Set-StatInterval                           Set-StatInterval
Set-Tag                                    Set-Tag
Set-TagCategory                            Set-TagCategory
Set-Template                               Set-Template
Set-VApp                                   Set-VApp
Set-VIPermission                           Set-VIPermission
Set-VIRole                                 Set-VIRole
Set-VirtualPortGroup                       Set-VirtualPortGroup
Set-VirtualSwitch                          Set-VirtualSwitch
Set-VM                                     Set-VM
Set-VMGuestNetworkInterface                Set-VMGuestNetworkInterface
Set-VMHost                                 Set-VMHost
Set-VMHostAccount                          Set-VMHostAccount
Set-VMHostAdvancedConfiguration            Set-VMHostAdvancedConfiguration
Set-VMHostAuthentication                   Set-VMHostAuthentication
Set-VMHostDiagnosticPartition              Set-VMHostDiagnosticPartition
Set-VMHostFirewallDefaultPolicy            Set-VMHostFirewallDefaultPolicy
Set-VMHostFirewallException                Set-VMHostFirewallException
Set-VMHostFirmware                         Set-VMHostFirmware
Set-VMHostHba                              Set-VMHostHba
Set-VMHostModule                           Set-VMHostModule
Set-VMHostNetwork                          Set-VMHostNetwork
Set-VMHostNetworkAdapter                   Set-VMHostNetworkAdapter
Set-VMHostProfile                          Set-VMHostProfile
Set-VMHostRoute                            Set-VMHostRoute
Set-VMHostService                          Set-VMHostService
Set-VMHostSnmp                             Set-VMHostSnmp
Set-VMHostStartPolicy                      Set-VMHostStartPolicy
Set-VMHostStorage                          Set-VMHostStorage
Set-VMHostSysLogServer                     Set-VMHostSysLogServer
Set-VMQuestion                             Set-VMQuestion
Set-VMResourceConfiguration                Set-VMResourceConfiguration
Set-VMStartPolicy                          Set-VMStartPolicy
Start-VApp                                 Start-VApp
Start-VM                                   Start-VM
Start-VMHost                               Start-VMHost
Start-VMHostService                        Start-VMHostService
Stop-Task                                  Stop-Task
Stop-VApp                                  Stop-VApp
Stop-VM                                    Stop-VM
Stop-VMGuest                               Stop-VMGuest
Stop-VMHost                                Stop-VMHost
Stop-VMHostService                         Stop-VMHostService
Suspend-VM                                 Suspend-VM
Suspend-VMGuest                            Suspend-VMGuest
Suspend-VMHost                             Suspend-VMHost
Test-VMHostProfileCompliance               Test-VMHostProfileCompliance
Test-VMHostSnmp                            Test-VMHostSnmp
Update-Tools                               Update-Tools
Wait-Task                                  Wait-Task
Wait-Tools                                 Wait-Tools


PS /root> (Get-Module PowerCLI.Vds).ExportedCommands

Key                                   Value
---                                   -----
Add-VDSwitchPhysicalNetworkAdapter    Add-VDSwitchPhysicalNetworkAdapter
Add-VDSwitchVMHost                    Add-VDSwitchVMHost
Export-VDPortGroup                    Export-VDPortGroup
Export-VDSwitch                       Export-VDSwitch
Get-VDBlockedPolicy                   Get-VDBlockedPolicy
Get-VDPort                            Get-VDPort
Get-VDPortgroup                       Get-VDPortgroup
Get-VDPortgroupOverridePolicy         Get-VDPortgroupOverridePolicy
Get-VDSecurityPolicy                  Get-VDSecurityPolicy
Get-VDSwitch                          Get-VDSwitch
Get-VDSwitchPrivateVlan               Get-VDSwitchPrivateVlan
Get-VDTrafficShapingPolicy            Get-VDTrafficShapingPolicy
Get-VDUplinkLacpPolicy                Get-VDUplinkLacpPolicy
Get-VDUplinkTeamingPolicy             Get-VDUplinkTeamingPolicy
New-VDPortgroup                       New-VDPortgroup
New-VDSwitch                          New-VDSwitch
New-VDSwitchPrivateVlan               New-VDSwitchPrivateVlan
Remove-VDPortGroup                    Remove-VDPortGroup
Remove-VDSwitch                       Remove-VDSwitch
Remove-VDSwitchPhysicalNetworkAdapter Remove-VDSwitchPhysicalNetworkAdapter
Remove-VDSwitchPrivateVlan            Remove-VDSwitchPrivateVlan
Remove-VDSwitchVMHost                 Remove-VDSwitchVMHost
Set-VDBlockedPolicy                   Set-VDBlockedPolicy
Set-VDPort                            Set-VDPort
Set-VDPortgroup                       Set-VDPortgroup
Set-VDPortgroupOverridePolicy         Set-VDPortgroupOverridePolicy
Set-VDSecurityPolicy                  Set-VDSecurityPolicy
Set-VDSwitch                          Set-VDSwitch
Set-VDTrafficShapingPolicy            Set-VDTrafficShapingPolicy
Set-VDUplinkLacpPolicy                Set-VDUplinkLacpPolicy
Set-VDUplinkTeamingPolicy             Set-VDUplinkTeamingPolicy
Set-VDVlanConfiguration               Set-VDVlanConfiguration


PS /root>

GithubのPowerShell Issue#2511の関連を調べたら、「PowervRA」と「PowervRO」があるのを発見。
どちらもPowerShell Core対応である模様。