【发布时间】:2019-11-25 19:35:19
【问题描述】:
我收到以下错误:
gwmi:无效的类“WmiMonitorID” 在行:1 字符:1 + gwmi WmiMonitorID -命名空间根\wmi | ForEach-Object {($_.UserFrie ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidType: (:) [Get-WmiObject], ManagementException + FullyQualifiedErrorId:GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand在尝试使用以下方式获取我的显示器的序列号时:
gwmi WmiMonitorID -Namespace root\wmi | ForEach-Object {
($_.UserFriendlyName -notmatch 0 | foreach {[char]$_}) -join "";
($_.SerialNumberID -notmatch 0 | foreach {[char]$_}) -join ""
}
我在大约 2 个月前使用过这个命令,它运行良好。 (甚至没有在管理员中运行 PowerShell)
现在无论有没有管理员,我都会收到上述错误。 (也尝试了 x64 和 x86 有/没有管理员)
我是否忽略了什么?
【问题讨论】:
-
可能是您的 WMI 已损坏。请尝试以下步骤virtuallyboring.com/…
-
@TheGameiswar 我的
WMI Control (Local)在截图中看起来不错 -
第二个屏幕截图看起来好像类中还有一个额外的空间。您可以在
Invalid Class " WmiMonitorID"中看到它,因此它可能正在读取空格。 -
@Drew 看起来你是对的,但现在出现了一个新错误。 i.imgur.com/jsRYonB.png
-
现在它看起来像是独立运行每一行而不是一个更大的表达式。
标签: powershell wmi powershell-core get-wmiobject