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

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

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

解决Windows错误:WinRM客户端无效字符响应

错误的描述

错误消息 "The WinRM client cannot process the request. The response received from the destination machine contains invalid characters and cannot be processed" typically occurs during remote management tasks using Windows Remote Management (WinRM) or PowerShell Remoting.

当远程服务器处理您的命令,但返回包含意想不到的字节序列,非ASCII字符或ANSI逃生代码的输出 (通常用于第三方命令行工具,脚本或自定义配置文件的文本彩色或格式化时) 时出现这个问题.由于WinRM XML解析器预计标准兼容的XML格式化,这些原始,未保存或非标准字符会破坏流,导致客户端拒绝整个响应.


逐步修复问题

修复1:在远程机器上禁用自定义配置文件和文本格式

如果您正在连接的用户帐户有一个自定义的PowerShell配置文件 ( $PROFILE ) 或命令提示符初始化脚本在登录时输出文本,横幅或颜色,它会破坏WinRM.

  1. 直接登录远程机器 (通过RDP或物理访问).
  2. 打开PowerShell,并通过运行:
    Test-Path $PROFILE
  3. 如果它回来 $True, 在笔记本中打开个人资料文件:
    notepad $PROFILE
  4. Comment out or remove any lines that generate visual output, print text banners, or modify text colors (such as third-party modules like Oh-My-Posh ) 没有.
  5. 保存文件并重新启动您的 WinRM 连接.

修复2:将输出编码更改为UTF-8

强迫主机和远程机器使用UTF-8编码确保特殊字符在传输过程中不会被误解.

  1. 在本地机器上,打开 PowerShell 作为管理员.
  2. 运行下列命令,将环境设置为UTF-8:
    $OutputEncoding = [System.Text.Encoding]::UTF8
  3. 使用您的WinRM会话连接到远程机器.
  4. 在运行主脚本或命令之前,在远程机器的会话中执行相同的两个命令.

解决方案3:在命令中删除警告,错误和语音流

如果您脚本中的特定实用程序或命令将原始格式化字符输出到错误或警告管道中,您可以明确重定向或抑制这些流.

  1. 在您的远程区块中识别导致问题的命令.
  2. 附加文 6>null 7>null 或重定向参数,以防止非标准流污染XML输出.例如:
    Invoke-Command -ComputerName "RemoteServer" -ScriptBlock { 
        Get-TargetData 3>$null 4>$null` 
    }
  3. 另一个选择是将偏好变量设置在脚本块的开始:
    \(WarningAction = 'SilentlyContinue'\)VerbosePreference = 'SilentlyContinue'

修复4:重新启动WinRM服务

任何一方的损坏的WinRM服务状态有时会引发解析失误.重置服务清除操作缓冲区.

  1. 在远程机器上,打开 PowerShell 作为管理员.
  2. 通过运行重新启动Windows远程管理服务:
    Restart-Service WinRM -Force
  3. 在本地机器上,打开 PowerShell 作为管理员,并重新启动本地 WinRM 服务:
    Restart-Service WinRM -Force

ERROR_WSMAN_ENUMERATE_WMI_INVALID_KEY | ERROR_WSMAN_INVALID_FRAGMENT_PATH_BLANK | ERROR_WSMAN_KERBEROS_IPADDRESS | ERROR_WSMAN_CLIENT_WORKGROUP_NO_KERBEROS | ERROR_WSMAN_INVALID_BATCH_SETTINGS_PARAMETER

可能有一些错误.. Learn Microsoft