我通常让我的笔记本电脑 24x7 运行,一天结束时,我的大腿因为过热而被烧伤真的很烦人。
过热似乎是 WMI 提供程序主机 (WmiPrvSE.exe) 每隔几分钟将 CPU 利用率飙升至 25% 的结果。为什么会发生这种情况?
我有一台运行在 Windows 7 Home Premium 上的 HP Envy 14(带有 HP 捆绑的垃圾)。
(注意:根据@nhinkle过去的观察,似乎 HP Wireless Manager 可能是罪魁祸首,有什么办法可以证实这一点?)
这个问题是本周的超级用户问题。
阅读 2011 年 2 月 28 日的博客条目以了解更多详细信息或提交您自己的本周问题。
该文件夹C:\Windows\System32\wbem\在我的 SSD 驱动器上占用了近 100 GB。这感觉不像是我的 SSD 驱动器的最佳利用。可以减少吗?
我遇到了一些似乎与wbem目录相关的“重建 WMI 存储库”的参考资料。所以我试过这样做,但尺寸并没有明显减少。
wbem目录中的内容是很多文件夹repository.xxx,其中命名xxx为 001 到 096。这些文件夹的大小范围从 758 MB 到 1 140 MB。还有一个名为only 的文件夹repository,大小为1 078 MB。
我使用的是 Windows 8 Enterprise 64 位(不是 Win 8.1)。我刚刚跑了winmgmt /verifyrepository,得到了结果:WMI repository is consistent
在装有电池的设备上运行的 Windows 10(以及其他版本)上,我可以使用它powercfg /batteryreport来获取电池的“设计容量”和“上次完全充电容量”,从而了解电池的剩余使用寿命以及它的容量因使用而降低了多少。
C:\Users\superuser\AppData\Local\Temp>powercfg /batteryreport
Battery life report saved to C:\Users\superuser\AppData\Local\Temp\battery-report.html
Run Code Online (Sandbox Code Playgroud)
HTML 报告是即时生成的,并显示我感兴趣的统计数据等:
此外,我可以启动到这台笔记本电脑的内置诊断环境,它显示类似的数字,以及电池的放电周期数。
这些值是从哪里获得的?我希望能够随着时间的推移跟踪一组笔记本电脑的电池寿命数据,最好是通过 Powershell 脚本。这些数据似乎应该在 WMI 中,果然,有一个Win32_Battery 类具有DesignCapacity和FullChargeCapacity字段,但在我测试过的所有系统上,它们都是未定义的:
PS C:\Users\superuser> Get-WmiObject -Class Win32_Battery | Select-Object -Property *Capacity | Format-List
DesignCapacity :
FullChargeCapacity :
Run Code Online (Sandbox Code Playgroud)
必须有一些程序化的方式来访问这些信息,因为powercfg正在这样做。如果有一些 WMI、.NET 或 Powershell 方法可以做到这一点,我想知道。我可以生成powercfg报告然后解析它,但我真的不想实施一个丑陋的解决方法,当最有可能有一种“正确”的方法来做它只是逃避我。
我的 Microsoft SQL Server 2008 有问题,导入数据和生成脚本,所以我决定卸载它。当我尝试将其删除时,检查屏幕出现错误。WMI 服务已损坏,因此我需要一种方法来重置 WMI 服务。
平台:Windows 7 64位
我确实尝试过 winmgmt /resetrepository
没有效果。
没有重新安装 Windows,我该怎么办?
有各种各样的命令可以WMIC接受,例如
WMIC Path Win32_Battery
WMIC Path Win32_Processor
WMIC Class Win32_Battery
WMIC Class ComputerSystem
Run Code Online (Sandbox Code Playgroud)
等等。
有没有办法从命令行列出所有这些潜在的“路径”和“类”等?
我有一台笔记本电脑,它通过播放小 ba-dum 声音定期通知我安装/删除了某些硬件。我不知道什么硬件正在改变 - 我没有添加或删除任何设备。是否有一个软件或者一个 PowerShell 脚本我可以运行它挂钩到 WMI 或任何类似的事件实际上会触发要播放的声音并获取有关哪些设备正在从我的系统中出现或消失的更多信息?我很想知道是什么导致了这种情况,以便我可以更换/重新配置/淘汰这件硬件。
更新 1:硬件是 HP 8760w 笔记本电脑,带底座。当停靠时,这个问题肯定会更加明显。
更新 2:我打开设备管理器并将查看菜单选项切换为按连接设备,并展开树的每个元素。通过一些淘汰的过程,只是看着它,我把它缩小到下图所示的元素。有一个“通用 USB 集线器”附加到可能与指纹读取器相关的内容上。因为我不需要指纹读取器,也不需要任何连接到 EHCI 控制器 1C2D 的 USB 集线器 - 我现在只是在设备管理器中禁用了它。我可能会查看是否可以在 BIOS 中禁用指纹读取器。

更新 3:我想仍然保持打开状态,因为没有通过软件/脚本/PowerShell/WMI 来“检测硬件更改”的答案。人类解析器只有在有限的时间才能如此准确:)
我想知道.用作本地计算机名称快捷方式的句点字符。例如,您可以在登录 Windows 7 时使用它来指定您输入的用户帐户属于本地计算机而不是域:
.\MyLocalUserAccount
Run Code Online (Sandbox Code Playgroud)
您可以在 Windows Management Instrumentation (WMI) 查询中使用它来指示目标是本地计算机而不是远程计算机。您也可以在使用命名管道时将其用于类似目的。
但是,您不能将其用作计算机的 UNC 网络名称,如下所示:
\\.\MyShare
Run Code Online (Sandbox Code Playgroud)
此角色是否有正式名称(例如“LocalHostToken”)以及何时何地可以用于此目的?
我有几台机器联网在一起,我使用有关主板的信息来唯一地标识它们。这是我用来获取它的 Windows PowerShell 代码:
\n>> $Manufacturer\xc2\xa0=\xc2\xa0Get-WmiObject\xc2\xa0win32_baseboard\xc2\xa0|\xc2\xa0select-object\xc2\xa0-expand\xc2\xa0Manufacturer\n>> $Product\xc2\xa0=\xc2\xa0Get-WmiObject\xc2\xa0win32_baseboard\xc2\xa0|\xc2\xa0select-object\xc2\xa0-expand\xc2\xa0Product\n>> $SerialNumber\xc2\xa0=\xc2\xa0Get-WmiObject\xc2\xa0win32_baseboard\xc2\xa0|\xc2\xa0select-object\xc2\xa0-expand\xc2\xa0SerialNumber\n>> $UUID\xc2\xa0=\xc2\xa0(Get-WmiObject\xc2\xa0-Class\xc2\xa0Win32_ComputerSystemProduct).UUID\n>> write-host\xc2\xa0$Manufacturer~$Product~$SerialNumber~$UUID\nMicro-Star International Co., Ltd.~PRO B650M-A WIFI (MS-7D77)~To be filled by O.E.M.~FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF\nRun Code Online (Sandbox Code Playgroud)\n然而,我最近获得的一款二手主板的序列号和 UUID 值有一些异常。
\n显然序列号以某种方式被擦除了?它被返回为To be filled by O.E.M.. 而且 UUID 也不起作用;我刚刚得到FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF。
我碰巧有另一个型号完全相同的主板,当我在其上运行相同的命令时,我确实获得了唯一的序列号和唯一的 UUID。
\n这是我在 Ebay 上购买并使用过的制造商 (MSI) 翻新板。我不确定这是否是翻新主板上的典型行为?
\n有什么方法可以恢复序列号(理想情况下,win32_baseboard 命令可以正确返回序列号)和/或生成保留在主板上的新 UUID?
\n有没有办法使用 WSH 或 WMI 或类似方法访问 Windows 中的窗口句柄?我只想将一个窗口标记为始终在顶部。理想情况下,我会为此使用 Windows 脚本主机。
(也应标记为 WSH)。
问候,