如何修复 "WS-Management服务无法处理请求.用于访问非DMTF类的DMTF资源URI.请再次使用非DMTF资源URI. "
这是一个Windows错误. "The WS-Management service cannot process the request. A DMTF resource URI was used to access a non-DMTF class. Try again using a non-DMTF resource URI" 通常发生在使用Windows远程管理 (WinRM) 执行PowerShell或Windows管理仪器 (WMI/MI) 命令时. 这意味着系统被指示使用分布式管理任务部队 (DMTF) 方案统一资源识别器 (URI) 查询标准微软WMI类,或者相反. 这通常发生在自动脚本,管理工具或手动命令使用目标CIM (共同信息模型) 实例的错误语法结构时.
下面是解决这个问题的步骤:
步骤1:验证和更正资源URI语法
如果您正在运行一个自定义的PowerShell命令使用 Get-CimInstance, Get-WSManInstance 或是 Invoke-WSManAction,检查资源URI是如何构建的.
- 打开你的脚本或命令行接口.
- 找出他们的位置.
-ResourceUri参数或路径声明. - 确保如果您的目标是标准的Windows WMI类 (如
Win32_Process),您使用标准的微软CIM命名空间URI (http://microsoft.com) 而不是DMTF标准URI (http://dmtf.org) 没有.
步骤2:从WSMan Cmdlets切换到CimCmdlets
标准的WSMan cmdlets可能对URI格式非常敏感.用现代CIM cmdlets替换它们通常会自动绕过严格的DMTF验证问题.
- 打开 PowerShell 作为一个管理员.
- 如果你的原始失败命令看起来像这样:
Get-WSManInstance -ResourceURI "http://dmtf.orgWin32_Service" -ComputerName "RemotePC" - 改变它使用更简单的.
Get-CimInstance处理URI映射的语法:Get-CimInstance -ClassName Win32_Service -ComputerName "RemotePC"
步骤3:重新启动Windows远程管理 (WinRM) 服务
损坏或卡住的WinRM会话可能会缓存错误的路由信息,导致这种错误即使在纠正语法后仍然存在.
- 按下 Windows Key + R 打开运行对话框.
- 它们的类型
services.msc然后按下. Enter. - 滚向下来,找到 Windows Remote Management (WS-Management) 服务.
- 在服务上右键单击,然后选择 Restart.
步骤4:重新注册WMI组件和MI提供商
如果在自动化系统管理任务 (如SCCM,SCOM或第三方监控工具) 中出现错误,则本地WMI存储库或管理基础设施 (MI) 提供商注册可能会受损.
- 点击开始菜单,输入
cmd,右键点击 Command Prompt,并选择 Run as administrator. - 运行以下命令编译核心WMI框架文件:
CD C:\Windows\System32\Wbem - 执行此循环命令,重新注册定义类的所有MOF文件:
for /f %s in ('dir /b *.mof') do mofcomp %s - 执行这个循环命令重新注册DLL文件:
for /f %s in ('dir /b *.dll') do regsvr32 /s %s - 重新启动您的计算机,以应用更改.
为了提供更多量身定制的故障排除步骤,请分享 what specific command or application 您是否正在对此进行操作? local or remote machine.
ERROR_WSMAN_POLYMORPHISM_MODE_UNSUPPORTED | ERROR_WSMAN_REQUEST_NOT_SUPPORTED_AT_SERVICE | ERROR_WSMAN_URI_WRONG_DMTF_VERSION | ERROR_WSMAN_PUSHSUBSCRIPTION_INVALIDUSERACCOUNT | ERROR_WSMAN_EVENTING_NONDOMAINJOINED_PUBLISHER可能有一些错误.. Learn Microsoft