VMWare ゲストのハードウェア バージョンをゲスト内部から確実に判断するにはどうすればよいですか?

VMWare ゲストのハードウェア バージョンをゲスト内部から確実に判断するにはどうすればよいですか?

多数の 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

関連情報