如何解决 gwmi:无效 class "WmiMonitorID" PowerShell 错误?

How to resolve a gwmi : Invalid class "WmiMonitorID" PowerShell error?

我收到以下错误:

gwmi : Invalid class "WmiMonitorID"
At line:1 char:1
+ gwmi WmiMonitorID -Namespace root\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 with/without admin)

我是不是忽略了什么?

非常感谢@Drew 指出空白。

所以看起来无论我从哪里 c&p 代码都是在代码中添加额外的空格,这会使它最终看起来像

gwmi(Space)(Space)WmiMonitorID(Space)(Space)-Namespace

或在末尾添加额外的空格

... -join ""}(Space)(Space)

解决方案是将其复制到 .txt 或粘贴箱中,并确保在复制回 PowerShell 之前没有多余的空格。