我的最终目标是远程监控平板电脑上的 EstimatedChargeRemaining。我大部分时间都在工作,似乎我可以查询几乎任何东西,但电池除外!
在平板电脑上,我可以调用“wmic path win32_battery getestimatechargeremaining”并获取剩余电量百分比。我还可以查询 cim_battery 并获得两条记录,一条记录不存在的可选电池,一条记录实际安装的电池。在我想要进行监控的远程桌面上,运行这些查询当然会返回“没有可用的实例”,因为它没有电池。到目前为止,我为使远程 WMI 工作而检查并完成了以下工作:
- 两台机器上的防火墙都关闭。
- 启用 DCOM 以克服 0x80070005 访问被拒绝错误。
- 在 WMI 命名空间上授予“远程启用”权限以克服 0x80041003 权限错误。
现在,在桌面上,我可以运行 wmic 并设置 /node:IOS,MFS,其中 IOS 是桌面,MFS 是平板电脑。我随后运行的任何查询都将在两个节点上运行。我用“路径 win32_bios 获取描述”和“路径 win32_baseboard 获取制造商”之类的东西对其进行了测试,它们都为两个节点返回了适当的不同信息。(我知道我可以使用 BIOS 和 BASEBOARD 别名,但我想使用路径表示法与我的 win32_battery 查询保持一致,因为没有别名。)
但是,当我运行“path win32_battery getestimatechargeremaining”时,它会为两个节点返回“No Instance(s) Available”!并且“path cim_battery getestimatedchargeremaining”为桌面返回“No Instance(s) Available”,为平板电脑返回一条记录,即不存在的可选电池的一条记录!为什么查询不到实际安装的电池?
我正在使用默认的 /implevel:impersonate 和 /authlevel:pktprivacy。我尝试在平板电脑上使用管理员凭据指定 /user:,但这不起作用。我已向 WMI 命名空间 \root、\cimv2 和 \power 上的每个人授予“远程启用”权限。当然,我还没有详尽地尝试过查询其他对象,但是我尝试过的一切都有效,除了我真正想要的!我想念的秘诀是什么?