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での配布」になりました。
・PowerShellGalleryのPowerShellGet 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対応である模様。