ここでの最終的な目標は、タブレット PC で EstimatedChargeRemaining をリモートで監視することです。私はそれをほとんど機能させており、バッテリー以外のほとんどすべてを照会できるようです!
タブレットでは、「wmic path win32_battery get Estimatedchargeremaining」を呼び出して、残りの充電率を取得できます。また、cim_battery をクエリして、2 つのレコードを取得することもできます。1 つは存在しないオプションのバッテリ用で、もう 1 つは実際に取り付けられているバッテリ用です。監視を行いたいリモート デスクトップでこれらのクエリを実行すると、もちろん、バッテリがないため、"No Instance(s) Available" が返されます。リモート WMI を機能させるために、これまでに確認して実行したことは次のとおりです。
- 両方のマシンでファイアウォールがオフになっています。
- DCOM が 0x80070005 アクセス拒否エラーを回避できるようにしました。
- 0x80041003 アクセス許可エラーを回避するために、WMI 名前空間で "リモート有効化" が付与されました。
これで、デスクトップで wmic を実行して /node:IOS,MFS を設定できます。ここで、IOS はデスクトップ、MFS はタブレットです。その後実行するクエリは、両方のノードで実行されます。「path win32_bios get description」や「path win32_baseboard get manufacturer」などでテストしたところ、どちらも両方のノードに適切な異なる情報を返しました。(BIOS および BASEBOARD エイリアスを使用できることはわかっていますが、エイリアスがない win32_battery クエリとの一貫性を保つために、パス表記を使用したかったのです。)
しかし、「path win32_battery get Estimatedchargeremaining」を実行すると、両方のノードで「No Instance(s) Available」が返されます! そして、"path cim_battery get Estimatedchargeremaining" は、デスクトップに対して "No Instance(s) Available" を返し、タブレットに対しては 1 つのレコードのみを返します。これは、存在しないオプションのバッテリーのレコードです! 実際に取り付けられたバッテリーを照会できないのはなぜですか?
デフォルトの /implevel:impersonate と /authlevel:pktprivacy を使用しています。タブレットの管理者資格情報で /user: を指定しようとしましたが、うまくいきませんでした。WMI 名前空間 \root、\cimv2、および \power の全員に「リモート有効化」を許可しました。もちろん、他のオブジェクトのクエリを徹底的に試したわけではありませんが、本当に必要なものを除いて、試したことはすべて機能します。私が見逃している秘密のソースは何ですか?