🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
No tenemos DLL pero tenemos:
Analista de archivos de Windows y antivirus rápido en línea

Una interfaz minimalista con búsqueda rápida, carga conveniente y una estructura de sección limpia.

🛡️🔍 Verifique rápidamente su archivo, sólo déjame en esta página.
Verificación de virus, hashes, verificación de firmas, arquitectura, información de IA.

Corrección de error de Windows: Respuesta de caracteres inválidos del cliente WinRM

Descripción del error

El mensaje de error. "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.

Este problema surge cuando el servidor remoto procesa su comando pero devuelve una salida que contiene secuencias de bytes inesperadas, caracteres no ASCII o códigos de escape ANSI (a menudo utilizados para colorear texto o formatearlo por herramientas de línea de comandos, scripts o perfiles personalizados de terceros).


Soluciones paso a paso

Solución 1: Desactiva los perfiles personalizados y el formato de texto en la máquina remota

Si la cuenta de usuario con la que se está conectando tiene un perfil de PowerShell personalizado ( $PROFILE ) o un script de inicialización del prompt de comandos que emita texto, banners o colores al iniciar sesión, romperá WinRM.

  1. Inicie sesión en la máquina remota directamente (a través de RDP o acceso físico).
  2. Abra PowerShell y compruebe si existe un perfil ejecutando:
    Test-Path $PROFILE
  3. Si vuelve. $True, abra el archivo de perfil en el Bloc de notas:
    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 ) y de la Comisión).
  5. Guarde el archivo y reinicie su conexión WinRM.

Corrección 2: Cambia la codificación de salida a UTF-8

Forzar tanto al host como a la máquina remota a usar la codificación UTF-8 asegura que los caracteres especiales no se interpreten mal durante la transmisión.

  1. En la máquina local, abra PowerShell como Administrador.
  2. Ejecute los siguientes comandos para configurar el entorno para usar UTF-8:
    $OutputEncoding = [System.Text.Encoding]::UTF8
  3. Conecte a la máquina remota usando su sesión WinRM.
  4. Ejecute los mismos dos comandos en la sesión de la máquina remota antes de ejecutar su script o comando principal.

Solución 3: Elimine las advertencias, errores y flujos de palabras en sus comandos

Si una utilidad o comando específico dentro de su script emite caracteres de formato en bruto en las tuberías de error o advertencia, puede redirigir o suprimir explícitamente esos flujos.

  1. Identifique el comando que causa el problema dentro de su bloque remoto.
  2. En el apéndice. 6>null 7>null o parámetros de redirección para evitar que los flujos no estándar contaminen la salida XML. Por ejemplo:
    Invoke-Command -ComputerName "RemoteServer" -ScriptBlock { 
        Get-TargetData 3>$null 4>$null` 
    }
  3. Alternativamente, establezca las variables de preferencia al comienzo del bloque de script:
    \(WarningAction = 'SilentlyContinue'\)VerbosePreference = 'SilentlyContinue'

Corrección 4: Reinicie el servicio WinRM

Un estado de servicio WinRM dañado en ambos lados a veces puede desencadenar malos comportamientos de análisis.

  1. En la máquina remota, abra PowerShell como Administrador.
  2. Reinicie el servicio de administración remota de Windows ejecutando:
    Restart-Service WinRM -Force
  3. En su máquina local, abra PowerShell como Administrador y reinicie también su servicio WinRM local:
    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

Puede haber algunos errores.. Learn Microsoft