🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WMI

WMIは、Windowsのシステムを管理する共通インターフェース。OSやコンピュータに関するインベントリ情報を取得し、設定・管理することが可能です。監視情報のデータ構造をCIMで標準化し、監視対象に関係なく共通のインターフェースを利用できます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

1回答

2576閲覧

Hyper-V環境の仮想マシン情報をWMIを使って取得したい

退会済みユーザー

退会済みユーザー

総合スコア0

WMI

WMIは、Windowsのシステムを管理する共通インターフェース。OSやコンピュータに関するインベントリ情報を取得し、設定・管理することが可能です。監視情報のデータ構造をCIMで標準化し、監視対象に関係なく共通のインターフェースを利用できます。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

0クリップ

投稿2019/11/19 00:00

編集2019/11/19 00:04

お世話になります。

WMIクライアントを使用してHyper-Vホスト(Windows Server 2012 R2)で稼働する仮想マシン(ゲストOSではなくVM)の情報を取得したいと考えています。Microsoftのサイトで調べてみましたが、以下の情報を提供するWMIのクラスを見つける事ができなかったため、ご存じの方がいらっしゃいましたら教えて下さい。

  1. 各仮想マシン名
  2. 仮想マシンにインストールしているOS(Windows Server 2012 R2 or RHEL7等)
  3. 仮想マシンに割り当てられたvCPU数、メモリ容量、仮想ディスク容量・使用量、仮想NIC数等のインベントリ情報
  4. 仮想マシンに割り当てられたvCPU使用率、メモリ使用率(量)、仮想ディスク使用率(IOPS等)、仮想NICスループット等のパフォーマンス情報

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/11/19 00:12

どこかにWMIでそういう情報がとれると書いてあったんでしょうか
退会済みユーザー

退会済みユーザー

2019/11/19 09:59

返信遅れまして申し訳ありません。正式なドキュメントに書いてあったわけではありません。
guest

回答1

0

ベストアンサー

ご所望の情報全てを網羅しているかは分かりませんが、以下のリファレンス辺りではないでしょうか

Hyper-V - Micorsoft Docs/ Windows/PowerShell

Get-VM や、Measure-VM などが該当してそうに思います。

投稿2019/11/19 02:09

dodox86

総合スコア9254

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/11/19 09:59 編集

アドバイスありがとうございます。 頂いた情報は主にPowerShellのものですが参考にさせて頂きながら調べています。 クラスのMsvm_ProcessorやMsvm_MemorySettingDataで仮想CPUやメモリ等の情報を取得できる事がわかりました。 ただ、どうしても仮想ディスク(VHD)の容量やその内の使用量に関しては情報を見つける事ができません。おそらく以下のあたりにありそうな気がするのですが見つけられず困っています。 ご存知ないでしょうか? https://docs.microsoft.com/en-us/windows/win32/hyperv_v2/storage-classes
dodox86

2019/11/19 10:26

> 頂いた情報は主にPowerShellのものですが おっと、すみません。WEBをあたっている内にご質問の内容を取り違えてしまったようです。大変失礼しました。 > おそらく以下のあたりにありそうな気がするのですが見つけられず困っています。 > https://docs.microsoft.com/ja-jp/windows/win32/hyperv_v2/hyper-v-wmi-classes ん?ここまでご自分で見つけられておいて、なぜいまだに疑問に思われるのでしょう。VHDに関しては、Msvm_VirtualHardDiskSettingData, Msvm_VirtualHardDiskState とか、それっぽくありませんか? > https://docs.microsoft.com/en-us/windows/win32/hyperv_v2/msvm-virtualharddiskstate
退会済みユーザー

退会済みユーザー

2019/11/19 10:47

説明が不足しており申し訳ありません。 実は記載頂いた2つ「Msvm_VirtualHardDiskSettingData」「Msvm_VirtualHardDiskState」は、既にクエリを実行(テスト)済みです。しかしこの2つは結果が何も帰ってこなかったため(エラーの表示も無い)、他のクラスを探しているという次第です。 ※WMIクラスの名前空間もRequirementsにある通りRoot\Virtualization\V2で実行しています。
dodox86

2019/11/19 11:41 編集

> 実は記載頂いた2つ「Msvm_VirtualHardDiskSettingData」「Msvm_VirtualHardDiskState」は、既にクエリを実行(テスト)済みです。しかしこの2つは結果が何も帰ってこなかった そういったことは質問文中に「試したこと」として記載いただかないと、今後も質問者さんにとっては既知の、無駄な回答を得てしまうのではないでしょうか。取得できなかったのは、VMが起動中か停止しているかで結果が変わったりしませんか。それもテスト済みでしょうか。 普通に考えるとマイクロソフトのリファレンスに記載が無ければ、それはもう「そのようなWMIクラスは無い」と言うことのように思いますが、そのものズバリのクラスが無くても複数のクラスを組み合わせることで欲しい情報が得られるのかもしれませんし、ドキュメントに無いこともあるかもしれませんので、引き続きより詳しい別回答者様の回答をお待ちいただくのが良いと思います。
退会済みユーザー

退会済みユーザー

2019/11/23 16:51

ご指摘の通りです。詳細な説明が抜けており大変失礼いたしました。 また、アドバイス頂いたようにそのものズバリのクラスが存在しない場合は、他のクラスとの組み合わせ等もあわせて探してみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問