PowerCLI 10.0 に更新した人から今までどおりのアクセスだと弾かれてしまい、vCenterに接続できないと問い合わせがあったので変更手順を記しておきます。
以下のように、Get-Credentialの値を変数に入れて、Connect-VIServer などに渡している場合、デフォルトでは今までは黄色い文字で警告が出てましたが、PowerCLI 10から以下のように "Invalid server certificate" で弾かれてしまうようです。
PS E:\> $cre = Get-Credential コマンド パイプライン位置 1 のコマンドレット Get-Credential 次のパラメーターに値を指定してください: Credential PS E:\> Connect-VIServer -Server ex-vcsa.techlab.local -Credential $cre Connect-VIServer : 2018/03/07 17:52:31 Connect-VIServe Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you'd like to connect once or to add a permane nt exception for this server. Additional Information: 機関 'ex-vcsa.techlab.local' との SSL/TLS のセキュリティで 保護されているチャネルに対する信頼関係を確立できませんでした。 発生場所 行:1 文字:1 + Connect-VIServer -Server ex-vcsa.techlab.local -Credential $cr ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : セキュリティ エラー: (: ) [Connect-VIServer]、ViSecurityNegotiationException + FullyQualifiedErrorId : Client20_ConnectivityServiceImpl_Reconnect_CertificateError,VMware.VimAutomation.ViCore.Cmdlets.Commands.ConnectVIServer
これを回避するためには Connect-VIServer のオプションで -Force を付けて実行するか、
以後、-Force オプションを付けずに接続可能なように、Set-PowerCLIConfiguration でPowerCLIの規定値を変えておきます。 規定値は以下のようになっていると思います。Get-PowerCLIConfiguration コマンドで確認します。
ちなみにそれぞれの値の意味は以下のとおりです。
Unset – デフォルト値。基本的にはWarnと同じです(ただ、PowerCLI10から少しセキュリティが強化された?)Prompt – サーバー証明書が信頼されていない場合、アクションを求めるプロンプトを表示します。Fail – 証明書が有効でない場合は接続は確立しません。Ignore – 証明書が無効であるかどうかを考慮せずに接続を確立します。Warn – 証明書が有効でない場合、その理由と証明書に関する追加情報が表示されます。
PS E:\> Get-PowerCLIConfiguration Scope ProxyPolicy DefaultVIServerMode InvalidCertificateAction DisplayDeprecationWarnings WebOperationTimeout Seconds ----- ----------- ------------------- ------------------------ -------------------------- ------------------- Session UseSystemProxy Multiple Unset True 300 User AllUsers
閉じた環境で接続先は信頼しているのであれば、"AllUser" に "Ignore" を入れてしまってもよいですが、今までのようにせめて黄色文字で警告文を出すのであれば "Warn" で設定します。
PS E:\> Set-PowerCLIConfiguration -InvalidCertificateAction Warn -Scope AllUsers 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"): A Scope ProxyPolicy DefaultVIServerMode InvalidCertificateAction DisplayDeprecationWarnings WebOperationTimeout Seconds ----- ----------- ------------------- ------------------------ -------------------------- ------------------- Session UseSystemProxy Multiple Warn True 300 User AllUsers Warn
Ignoreの場合は以下のように設定します。
PS E:\> Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Scope AllUsers 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"): A Scope ProxyPolicy DefaultVIServerMode InvalidCertificateAction DisplayDeprecationWarnings WebOperationTimeout Seconds ----- ----------- ------------------- ------------------------ -------------------------- ------------------- Session UseSystemProxy Multiple Ignore True 300 User AllUsers Ignore