以前、PowerShell CoreとVMware PowerCLI Coreに関する記事を書いた。
現在は、VMware PowerCLI Coreが標準のVMware PowerCLIに統合され、またインストール手法も変わっている。
そこで、久しぶりにインストールしてみた。
まずは「Linux への PowerShell Core のインストール」記載の手順に従いインストール
1. Microsoftレポジトリの登録
「curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo」
[root@centos7 ~]# curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 193 100 193 0 0 70 0 0:00:02 0:00:02 --:--:-- 70 [packages-microsoft-com-prod] name=packages-microsoft-com-prod baseurl=https://packages.microsoft.com/rhel/7/prod/ enabled=1 gpgcheck=1 gpgkey=https://packages.microsoft.com/keys/microsoft.asc [root@centos7 ~]#
2. PowerShellのインストール
「yum install -y powershell」
[root@centos7 ~]# yum install -y powershell 読み込んだプラグイン:fastestmirror Determining fastest mirrors <略> 依存性を解決しました ================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================ インストール中: powershell x86_64 6.1.0~preview.2-1.rhel.7 packages-microsoft-com-prod 50 M 依存性関連でのインストールをします: libunwind x86_64 2:1.2-2.el7 base 57 k トランザクションの要約 ================================================================================ インストール 1 パッケージ (+1 個の依存関係のパッケージ) 総ダウンロード容量: 50 M インストール容量: 50 M <略> https://packages.microsoft.com/keys/microsoft.asc から鍵を取得中です。 Importing GPG key 0xBE1229CF: Userid : "Microsoft (Release signing) <gpgsecurity@microsoft.com>" Fingerprint: bc52 8686 b50d 79e3 39d3 721c eb3e 94ad be12 29cf From : https://packages.microsoft.com/keys/microsoft.asc Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : 2:libunwind-1.2-2.el7.x86_64 1/2 インストール中 : powershell-6.1.0~preview.2-1.rhel.7.x86_64 2/2 検証中 : 2:libunwind-1.2-2.el7.x86_64 1/2 検証中 : powershell-6.1.0~preview.2-1.rhel.7.x86_64 2/2 インストール: powershell.x86_64 0:6.1.0~preview.2-1.rhel.7 依存性関連をインストールしました: libunwind.x86_64 2:1.2-2.el7 完了しました! [root@centos7 ~]#
これでPowerShellを「pwsh」で実行できるようになりました。
続いてvSphere環境をコントロールするためにPowerCLI
「VMware PowerCLI 10.11」
といっても、以前はパッケージをダウンロードしてインストールという形態だったものが、現状は、MicrosoftのPowerShellギャラリーに登録されています。
PowerShell Gallery「VMware.PowerCLI」
インストール方法もとっても簡単。
「Install-Module -Name VMware.PowerCLI」を実行するだけ。
途中で「Untrusted repositoryからのインストールを行うか」という質問に「y」と答える必要があります。
[root@centos7 ~]# pwsh PowerShell v6.1.0-preview.2 Copyright (c) Microsoft Corporation. All rights reserved. https://aka.ms/pscore6-docs Type 'help' to get help. PS /root> Install-Module -Name VMware.PowerCLI Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"):y <いろんなVMwareモジュールを追加インストール> PS /root>
まずは、初期状態で読み込まれているモジュールを確認
PS /root> Get-Module ModuleType Version Name ExportedCommands ---------- ------- ---- ---------------- Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Content, Clea... Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-T... Script 1.1.7.0 PackageManagement {Find-Package, Fin... Script 1.6.0 PowerShellGet {Find-Command, Fin... Script 1.2 PSReadLine {Get-PSReadlineKey... PS /root>
現在使えるモジュールを確認。
PS /root> Get-Module -ListAvailable Directory: /usr/local/share/powershell/Modules ModuleType Version Name ExportedCommands ---------- ------- ---- ---------------- Script 6.7.0.8... VMware.DeployAutomation {Add-DeployRule, A... Script 6.7.0.8... VMware.ImageBuilder {Add-EsxSoftwareDe... Manifest 10.1.1.... VMware.PowerCLI Script 6.7.0.8... VMware.Vim Script 10.1.0.... VMware.VimAutomation.Cis.Core {Connect-CisServer... Script 10.0.0.... VMware.VimAutomation.Cloud {Add-CIDatastore, ... Script 10.1.0.... VMware.VimAutomation.Common Script 10.1.0.... VMware.VimAutomation.Core {Add-PassthroughDe... Script 6.5.4.7... VMware.VimAutomation.HA Get-DrmInfo Script 7.5.0.8... VMware.VimAutomation.HorizonView {Connect-HVServer,... Script 10.0.0.... VMware.VimAutomation.License Get-LicenseDataMan... Script 10.1.0.... VMware.VimAutomation.Nsxt {Connect-NsxtServe... Script 10.0.0.... VMware.VimAutomation.PCloud {Connect-PIServer,... Script 10.1.0.... VMware.VimAutomation.Sdk Script 10.0.0.... VMware.VimAutomation.Srm {Connect-SrmServer... Script 10.1.0.... VMware.VimAutomation.Storage {Add-KeyManagement... Script 1.2.0.0 VMware.VimAutomation.StorageUtility Update-VmfsDatastore Script 10.1.0.... VMware.VimAutomation.Vds {Add-VDSwitchPhysi... Script 10.0.0.... VMware.VimAutomation.Vmc {Connect-Vmc, Disc... Script 10.0.0.... VMware.VimAutomation.vROps {Connect-OMServer,... Script 6.5.1.7... VMware.VumAutomation {Add-EntityBaselin... Directory: /opt/microsoft/powershell/6.1.0~preview.2/Modules ModuleType Version Name ExportedCommands ---------- ------- ---- ---------------- Manifest 1.1.0.0 Microsoft.PowerShell.Archive {Compress-Archive,... Manifest 3.0.0.0 Microsoft.PowerShell.Host {Start-Transcript,... Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Content, Clea... Manifest 3.0.0.0 Microsoft.PowerShell.Security {Get-Credential, G... Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Format-List, Form... Script 1.1.7.0 PackageManagement {Find-Package, Get... Script 1.6.0 PowerShellGet {Install-Module, F... Script 0.0 PSDesiredStateConfiguration {Get-PublicKeyFrom... Script 1.2 PSReadLine {Get-PSReadlineKey... PS /root>
以前、「PowerCLIとPowerCLI Coreの双方で動くPowerShellスクリプトの作り方」では、それぞれでモジュール名が異なっていた。
PowerCLI Coreでのモジュール名変更は無かったことになった模様。
とりあえず、VI-Connectで接続をかけてみる・・・
PS /root> Connect-VIServer -Server IPアドレス -User root -Password password -WarningAction 0 Connect-VIServer : 2018/07/06 14:29:03 Connect-VIServer Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Ignore to ignore the certificate errors for this connection. Additional Information: Could not establish trust relationship for the SSL/TLS secure channel with authority 'IPアドレス'. At line:1 char:1 + Connect-VIServer -Server IPアドレス -User root -Password password - ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [Connect-VIServer], ViSecurityNegotiationException + FullyQualifiedErrorId : Client20_ConnectivityServiceImpl_Reconnect_CertificateError,VMware.VimAutomation.ViCore.Cmdlets.Commands.ConnectVIServer PS /root>
おや?
デフォルト証明書の場合の取り扱いが変わった模様。
VMware PowerCLI Blog「New Release: VMware PowerCLI 10.0.0」の「Default Certificate Handling」に記載がある。
エラーメッセージもあるように「Set-PowerCLIConfiguration -InvalidCertificateAction Ignore」を実行して無視するようにする、と。
PS /root> 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>
改めて接続を実行
PS /root> Connect-VIServer -Server IPアドレス -User root -Password password Name Port User ---- ---- ---- IPアドレス 443 root PS /root>
問題なく動作しましたね。
“CentOS7環境にPowerShell CoreとVMware PowerCLIをインストール” への2件の返信