blog.bouzuya.net

2012-08-13 WMIクエリーを投げるスクリプト

WMIスクリプト入門の1〜3部を読み終えた。ざっとだけれど。

読み終えたことで、WMIクエリーを投げてクラスのプロパティを読み取れば良いことくらいは分かった。ほかにも例のWMI Fun!!Creating a WMI Scriptなどを見た。読んだではなく見た。

SWbemLocatorで特定のサーバーに接続して、SWbemServicesを取得する。SWbemServicesにWMIクエリーを投げると、SWbemObjectSetが得られる。名前の通りSWbemObjectSetはSWbemObjectの集合なので、For Eachなどで各SWbemObjectを取り出してやる。SWbemObjectから任意のプロパティを取得することで、欲しい情報を取得する。何のことやらと言った感じだが、おおよそこの流れで間違いない。

試しにスクリプトを書いてみた。

スクリプト全体はwsh-wmi-studyという名前でGitHubに公開した。以下にコアな部分のみを抜き出したものを示す。

引数で渡されたクラスのプロパティを一覧表示するスクリプトである。省略可能引数で表示する対象を絞り込むことができる。wmicコマンドでできそうな気はするが、まあいいだろう。

28 min.