古いOS(WIn2012等)で最新のVMware.PowerCLIをインストールする方法


古いWin2012等のOSで、VMWareのAPIであるPowerCLI動かす方法を調べてみました。
(現時点での最新バージョンは 13.2.1)

最新のVMware.PowerCLIは、以下の前提ソフトが必要なようです。
・.NET Framework 4.7.2 or later または .NET Core 3.1
・Windows PowerShell 5.1 または PowerShell 7.x

この条件は、Windows7(Win2008R2)以降であれば、MSからインストーラがダウンロードできますので、何とかなりそうです。

いろいろ試行錯誤した結果、
以下の方法で、インストール出来ることを確認しました。

  • .netframework 4.7.2 以上に更新(OS再起動要求有)

    現在の .netframework のバージョンを確認するには、以下のコマンドをpowershellで実行してください

  • Windows Management Frameworkを5.1以上に更新(OS再起動要求有)
    バージョンを確認するには、Powershell上で以下のコマンドを実行し、
    PSVersion行を確認してください。
  • Install-Moduleが「NuGet プロバイダーが必要です」というエラーで失敗する場合、
    Netの通信プロトコルをTLS1.2に変更する必要があります。
    (TLS1.2に対応していない場合、powershellで実行)。

    (設定確認)
    [Net.ServicePointManager]::SecurityProtocol
    (設定変更)
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
  • 既存PowerCLIアンインストール
    (旧バージョンを既に導入していた場合、プログラムと機能から実施)
  • PowerCLIのインストール(powershellからコマンド実行)
    Install-Module VMware.PowerCLI

これで一旦インストールできました。

なお、今までは、Connect-VIServer接続時に、証明書エラーがあっても、黄色い文字で警告が出るのみで、処理の継続ができていましたが、
PowerCLI10以降では、完全にエラーとなり、処理が進まなくなっているようです。

これを回避するには、2つあり、以下のいずれかで対応します。

  • Connect-VIServerのオプションで、-Force を付けて実行
  • Set-PowerCLIConfiguration でPowerCLIの規定値を変える

現在のPowerCLIコマンドのバージョンは以下のコマンドで確認できます。

PowerCLIのバージョンアップは、PowerCLI 6.5.1以降をPowerShell Galleryからすでにインストールしている場合は、以下のコマンドで実行できます。

PowerCLI 6.5.1以降インストール済での、PowerCLI削除は以下のコマンドで可能です。。

関連URL

Compatibility Matrix for VMware PowerCLI

.NET Framework 4.7.2 をダウンロード | 無料の公式ダウンロード (microsoft.com)

Download Windows Management Framework 5.1 from Official Microsoft Download Center

【PowerShell】Install-Module MSOnline実施時に「NuGet プロバイダーが必要です」と表示された場合 (zenn.dev)

PowerCLI のインストール (vmware.com)

PowerShell Gallery からの PowerCLI インストール・アップデート方法

PowerCLIのセキュリティ警告を無視する設定

vCenter Server のローカル ユーザー アカウントの作成についてのメモ(VCSA6.7以降で確認)

 

VCSA(vCenter Serverアプライアンス) のローカル ユーザー アカウントの作成については、コマンドで実施します。

アプライアンスシェルコマンド

ユーザリスト表示
Command> localaccounts.user.list

ユーザ作成
Command> localaccounts.user.add –role <ロール名> –username <ユーザ名> –password

<ロール名>はoperator, admin, superAdmin から選択

パスワード変更
Command> localaccounts.user.password.update –username <ユーザ名> –password

ユーザ削除
Command> localaccounts.user.delete –username <ユーザ名>

bashシェルコマンド

パスワード変更
# passwd <ユーザ名>

ただし、最近のvCenterでは、パスワードの複雑性条件がかなり高くなっているので、
パスワードによっては、以下のようなメッセージを出して、パスワードの更新に失敗します。
(ユーザそのものは作成されているようです。)

Bashシェルでのパスワード更新の場合は、以下のような感じでエラーになります。

この場合は、VCSAのローカルユーザのパスワードポリシーを変更します。

デフォルト設定(/etc/pam.d/system-passwordファイル)

この場合、パスワードは以下の条件を持たす必要があります。

[pam_cracklib.so]
大文字を1つ以上含む (dcredit=-1)
小文字を1つ以上含む (ucredit=-1)
数字を1つ以上含む (lcredit=-1)
特殊文字を1つ以上含む (ocredit=-1)
パスワード長6文字以上 (minlen=6)
前回のパスワードから4文字以上変更されている必要あり (difok=4)
rootユーザであっても、上記条件を適用する (enforce_for_root)

[pam_pwhistory.so]
過去5パスワードは再利用不可 (remember=5)

ポリシーの変更については、
具体的には/etc/pam.d/system-passwordファイルを編集します。

これで、rootユーザでログインしていれば、
localaccounts.user.addや、localaccounts.user.password.updateでパスワードが設定できるようになるようです。

passwdコマンドでのコマンドでも、ワーニングは出ますが更新できるようになります。
ワーニングも出ないようにするには、各項目も変更します。

ちなみに、デフォルトでは過去5パスワードは再利用不可なのですが、以下の行をコメント化すれば、すぐに再利用可能となります。

password required pam_pwhistory.so debug use_authtok enforce_for_root remember=5





参考URL

vCenter Server Appliance のローカル ユーザー アカウントの作成
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.vcenter.configuration.doc/GUID-533AE852-A1F9-404E-8AC6-5D9FD65464E5.html

【VMware】vCSAのローカルユーザ作成で苦戦した話(エラーコード:8002)
https://tech.kikublog.net/vmware-vcsa-err8002/

パスワードポリシーの変更
https://vhoge.hateblo.jp/entry/2021/05/24/003725

CentOS/パスワードの長さや文字などの制限事項を設定する方法
https://linux.just4fun.biz/?CentOS/%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AE%E9%95%B7%E3%81%95%E3%82%84%E6%96%87%E5%AD%97%E3%81%AA%E3%81%A9%E3%81%AE%E5%88%B6%E9%99%90%E4%BA%8B%E9%A0%85%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

GALLERIA QF970HGのメンテナンス情報

長年利用しているノートPCである「GALLERIA QF970HG」の調子がすこぶる悪い。

Driver Power State FailureやPage faultが頻発するようになってきた。
Driver Power State Failureは、ドライバの更新でちょっと落ちついたが、その分Page faultが頻発してしまうように。

このPCは操作コンソール用なので、調子が悪くなっても再起動すればいいのだが、
(メインサービスは、別部屋で稼働させている別サーバ[Z820 Xen E5-2687W x2 , MEM 256GB のESXi]で処理しているので)
そろそろ、CPU性能2倍になるノートが出始めたので、安定できなさそうであれば新PC購入も検討しないとという段階なのだが、現状性能的に困っていないというのも事実だったりもする。

Windows標準のメモリチェックしても、特に問題は見つからなかったので、難儀していたのだが、Memtest64を1晩回したら特定のパターンでのみエラーを検知。
1枚ずつ調査したら、4枚中2枚でエラーという悲惨な状況でした。

とりあえず、エラーの出たメモリモジュール2枚を外してメモリ16GBで稼働中
現状は安定稼働しているので、新PC導入はもう少し後になりそうだ・・・。


ただ、このモデルのメモリの交換は結構癖があり、情報がぜんぜん見つからなかったので改めて調査したので健忘録としてメモ。



GALLERIA QF970HGのスペックは以下の通り(私の使用しているモデル)
ドスパラの17インチゲーミングノート GALLERIA(ガレリア) QF970HG レビュー

・17.3インチ液晶(1920×1080)
・インテル Core i7-4710MQ (4Core/HT対応/定格2.50GHz/TB時最大3.50GHz)
・32GB DDR3 SO-DIMM (PC3-12800/8GBx4/デュアルチャネル)
・GPU Intel HD 4600 + NVIDIA GeForce GTX970M 6GB
・SSD MSATA 256GBx1
・HDD 2.5インチ 2TBx1
・BD-Reドライブ

色々調べてみると、この機種はMSIのGT70というゲーミングPCをドスパラがカスタマイズイズしたもののようだ。
大きな違いだと、
GT70(20Dモデル)だと、CPUが4700MQ、GPUがGeforce GTX780Mが、
QF970HGの場合は、CPUが4810MG、GPUがGeforce GTX970Mになっています。

これは、ビデオカードがMXM規格という交換可能なモジュールとして搭載されているので、CPUだけでなくいろいろなGPUに対応できるので、ドスパラにもGALLERIA QF970HGの兄弟機として、GTX980Mを搭載した「QF980HG」というモデルもあります。

MXM規格のGTX970Mモジュール

分解方法ですが、MSI GT70としての分解説動画がyoutubeにいくつかあるので、参考になります。

How to Replace Laptop Motherboard | MSI GT70

MSI GT70 MS-1762 disassemble to clean cooling system and detect graphic card problem

MSI GAMING G Series GT70 MS-1763 Laptop dc power jack repair fix charge port broken socket

Take Apart MSI GT70 Gaming Laptop


この機種は比較的メンテナンス性はいいほうですが、メモリ交換についてはちょっと注意が必要です。

このモデルはメモリモジュールが4枚付けられるモデルなのですが、2枚はキーボード裏からアクセス。残り2枚は背面カバーを開けたところからアクセスです。

キーボード裏のメモリは、以下のようにアクセスします。
・背面カバーのキーボードマークがついたねじを外します。
・キーボード上部の境目に5か所ほどくぼみがあるので、そこにマイナスドライバを突っ込んでキーボードの上部にあるのパネル(電源ボタンなどがあるパネル)を外します。
・キーボード上部が5か所のネジで止まっているのネジを外して、上方向にスライドさせると取り外せます(ケーブルを外す必要はありませんが、注意してください)。
・キーボードの裏側にある2枚のシートをめくると、メモリモジュールにアクセスできます。

キーボード外した下のSODIMMスロット

背面カバー側のメモリは、以下のようにアクセスします。

  • 背面カバーのネジを外すと、メモリモジュールスロットが見えます
    ただし、GPUのヒートパイプが邪魔をして、メモリモジュールの取り外しができませんので、以下の手順でGPUのヒートシンクと、CPUのヒートシンクを外す必要があります。
    • ファンモジュールがあるので、ネジを1つ外して、ファンモジュールを取り外します(ケーブルも外します)。
    • GPUのヒートシンクネジ(4つ)とCPUのヒートシンクネジ(3つ)を外すと、GPU,CPUのヒートシンクが外れます(GPUだけでも外れますが耐熱ゴムでくっついているので一緒に取り外したほうがいいです)。
    • これで、メモリモジュールの取り外しができます。
      (元に戻す際は、GPU,CPUの塗り直しをしたほうがいいかもしれません。)
メモリモジュールとヒートシンク&ファン



その他保守情報

背面カバー&ファンモジュール取り外し後の状態:

背面カバー取り外し多状態

BIOS設定画面表示:
PC起動直後にDEL連打

起動メディア選択:
PC起動直後にF11連打

バッテリの型番:
BTY-M6D (まだAmazonなどで入手できます)

メモリモジュール種類:
DDR3L 1600(12800) SODIMM (1.35V) 最大4枚まで(8GBx4=32GB)

MSATAスロット:
3つまで搭載可?

MSATA搭載用モジュール

2.5インチHDD:
1つまで搭載可

2.5″HDD

ファンモジュール:
PABD19735BM-N273

MXM GPUモジュール:
AMAZONに、GT70用のGTX1060のMXMモジュールがありました(GPU性能は1.4倍くらいになるようだけど・・・)
ただ、BIOS側のサポートも必要になるようなので、動くかどうかは賭けですね。