🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
我们没有DLL,但我们有:
Windows文件分析器和在线快速反病毒

一个简约的界面,具有快速搜索,方便的上传和干净的部分结构.

🛡️🔍 快速验证你的档案,只需要放上这个页面.
病毒检查,哈希,签名验证,架构,人工智能信息.

如何修复 "WinRM客户端无法处理请求.资源URI不有效:它不包含密钥,但所选类不是单元.

在WS管理协议中, singleton class 是一个只有一个实例 (例如,操作系统配置或本地时间) 的类.对于单元类,Resource URI足以定位资源.然而,对于可以有多个实例 (如本地用户,网络适配器或服务) 的标准类,您必须提供特定的密钥 (如名称或ID),以便 WinRM 确切知道您想要管理的实例.如果您使用没有这些密钥的基本 URI 针对多实例类,WinRM 将拒绝请求.


逐步修复问题

根据您执行命令的方式,使用以下方法之一来解决问题:

方法1:在命令中提供所需的密钥

如果您正在使用 Get-WSManInstance 或类似的WSMan cmdlets, 您必须通过特定实例键使用 -SelectorSet 参数

  1. 打开 PowerShell 作为一个管理员.
  2. 修改命令以包含您要查询的实例的确切密钥.
    • 错误 (导致错误):
      Get-WSManInstance -ResourceURI "wmicimv2/Win32_Service" -ComputerName "RemotePC"
    • 正确 (使用选择器设置修复):
      Get-WSManInstance -ResourceURI "wmicimv2/Win32_Service" -SelectorSet @{Name="wuauserv"} -ComputerName "RemotePC"

      (注: 取代 "wuauserv" 您需要向的特定服务名称或实例密钥).

方法2:切换到CIM或WMI Cmdlet (建议)

如果您的目标仅仅是查询或管理远程Windows管理仪器 (WMI) 类,使用CIM cmdlets更容易,因为它们通过WinRM自动处理实例格式化.

  1. 打开 PowerShell.
  2. 而不是使用原始的WS-Management cmdlets,使用 Get-CimInstance.
    • 固定命令:
      Get-CimInstance -ClassName Win32_Service -ComputerName "RemotePC"
  3. 如果您想要在没有手动 URI 构建的情况下对特定实例进行过,则添加过参数:
    • 设置过器命令:
      Get-CimInstance -ClassName Win32_Service -Filter "Name = 'wuauserv'" -ComputerName "RemotePC"

方法 3: 修复 WinRM 连接终点配置

如果在使用第三方管理软件或自动脚本时出现此错误,则可能是软件输入错误的默认配置终点.

  1. 打开 PowerShell 作为一个管理员.
  2. 检查您当前的 WinRM 收听器配置,运行:
    winrm e winrm/config/listener
  3. 将 WinRM 配置重置到默认的安全设置,以清除无效的自定义路由URI:
    winrm quickconfig -q
  4. 重新启动 WinRM 服务以应用更改:
    Restart-Service WinRM
ERROR_WSMAN_HTTP_CONTENT_TYPE_MISSMATCH_RESPONSE_DATA | ERROR_WSMAN_CANNOT_DECRYPT | ERROR_WSMAN_INVALID_URI_WMI_ENUM_WQL | ERROR_WSMAN_NO_IDENTIFY_FOR_LOCAL_SESSION | ERROR_WSMAN_NO_PUSH_SUBSCRIPTION_FOR_LOCAL_SESSION

可能有一些错误.. Learn Microsoft