
多数の VMWare VM の「ハードウェア」バージョンを判別しようとしています。vSphere コンソールにアクセスできません。
VMWare Tools サービスはインストールされており、C:\Program Files\VMWare\VMWare Tools\vmtoolsd.exe --cmd "info-get"
期待できそうですが、指定するキー名に関する詳細が見つかりません。
VMWare デバイス ドライバーのバージョンを確認したり、クエリを実行したりするなど、他の方法はありますかwmic
?
答え1
理論的には、あなたが求めていることは可能なはずです。
ただし、VMWare では特に適切に実装されていないようです。
おっしゃるとおり、拡張オプションは VMToolsd.exe が利用可能なゲストからクエリできるはずです。ただし、動作していないようです。
vmtoolsd.exe --cmd "info-get virtualHW.version"
vmx ファイルに含まれるハードウェア バージョンを返す必要がありますが、返されません。
このスレッドの simonbaev による投稿では、ゲストからこの情報を照会できるようにするにはハイパーバイザー レベルの変更が必要であるという問題が強調されているようです。 https://communities.vmware.com/message/2184934
$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" setguestinfo myTest "hello world"
setguestinfo(myTest hello world) = 1
$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" getguestinfo myTest
getguestinfo(myTest) = hello world
$ vmtoolsd --cmd "info-get guestinfo.myTest"
No value found
$ vmtoolsd --cmd "info-get myTest"
Invalid key name supplied
$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" setguestinfo guestinfo.myTest "bla-bla-bla"
setguestinfo(guestinfo.myTest bla-bla-bla) = 1
$ vmware-cmd --config esxi-24 "[DS_104.24_150] LTSP2/LTSP2.vmx" getguestinfo guestinfo.myTest
getguestinfo(guestinfo.myTest) = bla-bla-bla
$ vmtoolsd --cmd "info-get guestinfo.myTest"
bla-bla-bla
つまり、必要なときにその情報を表示するには、仮想化チームの支援が必要になります。
ただし、その時点では、すべての運用サーバーの構成ファイルをハッキングする必要がない方法で (おそらくすべてを再起動する必要もありません)、スクリプトを実行して情報を抽出してもらう方がよいでしょう。
例えばPowerCLIの場合
Get-VM | Get-VMAdvancedConfiguration -key virtualHW.version