" XML无效"当Get-CimInstance随-ComputerName一起提供时

时间:2014-10-20 20:46:57

标签: xml powershell

我一直在谷歌上搜索一段时间,但似乎无法找到正确的答案。

我的笔记本电脑是AD域的一部分。我用它来探索/开发PowerShell和WMI中的工具。我注意到每当我使用-ComputerName在Win32_ComputerSystem类上获取CimInstance时,我都会收到XML is Invalid错误:

PS C:\Users\jsung> Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName jsung03-pc
Get-CimInstance : The WS-Management service cannot process the request because the XML is invalid.
At line:1 char:1
+ Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName jsung03-pc
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ParserError: (root\cimv2:Win32_ComputerSystem:String) [Get-CimInstance], CimException
+ FullyQualifiedErrorId : HRESULT 0x80338043,Microsoft.Management.Infrastructure.CimCmdlets.GetCimInstanceCommand
+ PSComputerName        : jsung03-pc

jsung03-pc是我的笔记本电脑的主机名。如果我取出-ComputerName参数,查询将返回没有任何问题的结果。

我的笔记本电脑和台式机出现同样的症状。两者都运行Windows 7 SP1。我加载了RSAT 4.0和.NET 4.5.2。 WinRM和WsMAN通过Enable-PSRemoting启用。

PS C:\Users\jsung> $PSVersionTable.PSVersion
Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1

PS C:\Users\jsung> Get-Service wi*
Status   Name               DisplayName
------   ----               -----------
Stopped  WinDefend          Windows Defender
Running  WinHttpAutoProx... WinHTTP Web Proxy Auto-Discovery Se...
Running  Winmgmt            Windows Management Instrumentation
Running  WinRM              Windows Remote Management (WS-Manag...

如果我删除-ComputerName jsung03-pc,则cmdlet将返回无错误的结果:

PS C:\Users\jsung> Get-CimInstance -ClassName Win32_ComputerSystem
Name             PrimaryOwnerName         Domain                   TotalPhysicalMemory      Model                   Manufacturer
----             ----------------         ------                   -------------------      -----                   ------------
JSUNG03-PC       ntapadmin           <domain.com>            4147822592               4384BE6                 LENOVO

查询“Win32_Process”类时未显示此问题。

Test-WSMan显示系统正在运行3.0。

PS C:\Users\jsung> Test-WSMan -ComputerName jsung03-pc -Authentication Default
wsmid           : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor   : Microsoft Corporation
ProductVersion  : OS: 6.1.7601 SP: 1.0 Stack: 3.0

我运行了WMI诊断实用程序并尝试通过cscript WMIDiag.vbs WriteInRepository=Root恢复存储库,但仍然没有运气。关于XML is invalid几乎没有信息。

任何人都可以了解哪些数据库可能已损坏以及如何解决此问题?

2 个答案:

答案 0 :(得分:0)

您是否尝试用引号括起ComputerName?当计算机名称有连字符时,我发现这种奇怪的事情发生了。

答案 1 :(得分:0)

颠簸,

我知道这是一个旧帖子,但以防万一。 CIM 使用 https 通过 ws-man 进行通信,而 gwmi 使用 http。您可以将端口设置为侦听并根据需要对其进行修改以使其正常工作。

让它为我工作