我收到以下错误:
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)
我在俯视什么吗?
答案 0 :(得分:0)
非常感谢@Drew指出空白。
所以无论我是c&p还是我的代码,都在代码中添加了多余的空格,最终使它看起来像
gwmi(Space)(Space)WmiMonitorID(Space)(Space)-Namespace
或在末尾添加多余的空格
... -join ""}(Space)(Space)
解决方案是将其复制到.txt或粘贴到bin中,并确保在复制回PowerShell之前没有多余的空格。