3

PowerShellを介してWindowsWMIで利用可能ないくつかのデータにアクセスしようとしています。これは、おそらくCに移行する前に、基本を学ぶための簡単な出発点になると思いました。

最終的には、Open Hardware Monitorから(文書化されていない)WMIAPIを照会したいと思います。これは、ここでJensによって解決策の一部として提案されました:CPU温度を取得する方法は?

しかし、私は完全に迷子になっています。 最初にDLLをロードしてからクエリを実行するにはどうすればよいですか?

スターターとして、私はget-wmiobject-listからこのリストを見つけました

CIM_Sensor
CIM_BinarySensor
CIM_MultiStateSensor
CIM_DiscreteSensor
CIM_NumericSensor
CIM_TemperatureSensor
Win32_TemperatureProbe
CIM_Tachometer
CIM_VoltageSensor
Win32_VoltageProbe
CIM_CurrentSensor
Win32_CurrentProbe

残念ながら、 get-wmiobject -class XXこれらのいずれかで実行しても何も返されません。センサーに問い合わせることができると期待しています。 誰かが私に基本を見せたり、チュートリアルにリンクしたりできますか?

4

2 に答える 2

2

PowerShell v3は、Server2012またはWindows8マシンを検討している場合は確かに、より多くの機能を提供する可能性があります。

そうでなければ、問題はすでにあなたのテキストにあり、それらはしばしば文書化されていないか、不十分に文書化されています。

Get-WMIObject -Class CIM_SensorとWin32_TemperatureProbeを実行してデータを取得しましたが、他のいくつかのデータも取得しませんでした。

より役立つかもしれない他のものを見つけるために、あなたは以下のいくつかを試すことができます:

    Get-WmiObject -NameSpace 'root\wmi'
    Get-WmiObject -Class CLASSNAME | Get-Member
    (Get-WmiObject -List CLASSNAME -Amended).Qualifiers

Win32_クラスは、Microsoftが提供しているクラスであり、通常は扱いやすいため、おそらくWMIをさらに詳しく調べることが重要です。私は多くのWMIを使用していますが、ハードウェアやセンサ​​ーなどを直接指すのではなく、ドキュメント化、OSのチェック、またはOSの実行に使用しています。

同様に役立つかもしれないいくつかのサイト:

http://www.dmtf.org/standards/wbem

http://collaboration.opengroup.org/pegasus/

https://en.wikipedia.org/wiki/Windows_Management_Instrumentation

うまくいけば、それは少なくともあなたに仕事をするためのいくつかのより多くの情報を与えるか、あなたが正確に探しているものの線に沿って何かをもっと考えるようにさせることができます。

于 2012-10-12T04:34:51.360 に答える
0

すべてのWMIクラスと各クラスのプロパティを一覧表示するwmiexplorerというexeがあります。シンプルなGUIを備えており、必要なプロパティを見つけるのに非常に役立ちます。

また、対応するクエリも表示されます。これも試してみることができます。使用するWMIクラスがわからない場合に非常に便利です。

あなたはここでより多くの情報を見つけることができます

于 2013-07-16T17:33:15.227 に答える