🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
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.

Solución para el error de Windows: Variable de entorno del cliente de WinRM Shell nulo o cero

Esta guía completa explica la causa del error WinRM y proporciona métodos fáciles y paso a paso para resolverlo.


Resumen de los errores

Lo que significa

El mensaje de error. "The WinRM Shell client cannot process the request. One of the environment variable name passed to the WSManCreateShell function is null or zero." ocurre cuando Windows Remote Management (WinRM) intenta iniciar una sesión remota de PowerShell o Prompt de comandos, pero falla porque una o más variables de entorno en el equipo local (cliente) o el equipo remoto (servidor) están dañadas, vacías o mal formateadas.

Por qué sucede


Soluciones paso a paso

Método 1: Compruebe y corrija las variables de entorno vacías a través de PowerShell

Un nombre de variable vacío dentro del bloque de configuración del entorno es la causa más común. Puede encontrarlo y eliminarlo usando una ventana local de PowerShell.

  1. Open PowerShell as Administrator:

    • Haga clic en el Start El menú.
    • ¿ Qué tipo ? PowerShell.
    • pulsa con el botón derecho. Windows PowerShell y seleccione Run as administrator.
  2. Scan for Corrupted Variables:

    • Copie y pegue el siguiente script en la ventana de PowerShell, luego presione Enter:
      [Environment]::GetEnvironmentVariables().Keys | ForEach-Object {
          if ([string]::IsNullOrEmpty($_) -or \(_ -match "^\s*\)") {
              Write-Host "Found an empty or null environment variable name!" -ForegroundColor Red
          }
      }
  3. Identify and Remove via GUI (If Found):

    • Presione. Win + R en su teclado para abrir el Run Cuadro de diálogo.
    • ¿ Qué tipo ? sysdm.cpl y presiona. Enter para abrir. System Properties.
    • Ve a la... Advanced Es una tabla.
    • Haga clic en el Environment Variables el botón en la parte inferior.
    • Mira a través de ambos. User variables ¿ Y qué ? System variables.
    • Busca específicamente cualquier fila donde el Variable columna está completamente vacía, sólo contiene espacios, o muestra símbolos dañados.
    • Seleccione la fila rota y haga clic Delete.
    • Haga clic OK en todas las ventanas abiertas para guardar los cambios.

Método 2: Limpiar las claves del registro del entorno

If the GUI does not display the broken variable, it may be hidden as a malformed entry inside the Windows Registry.

  1. Open the Registry Editor:

    • Presione. Win + R en su teclado.
    • ¿ Qué tipo ? regedit y presiona. Enter.
    • Haga clic Yes si aparece el mensaje de control de cuentas de usuario (UAC).
  2. Check User Environment Variables:

    • Navegar a la siguiente ruta en la barra lateral izquierda: HKEY_CURRENT_USER\Environment
    • Mira el... Name columna en el panel derecho.
    • Ensure every entry has a valid name. If you see an entry with a blank name, right-click it and select Delete.
  3. Check System Environment Variables:

    • Navegue a la siguiente ruta: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
    • Revisa el... Name columna en el panel derecho.
    • Identifique cualquier entrada con nombres nulos, vacíos o sólo espacios.
    • Haga clic derecho en la entrada no válida y seleccione Delete.
  4. Restart Your Computer:

    • Cierra el editor de registro.
    • Reinicie su PC para aplicar los cambios de registro al estado del sistema.

Método 3: restablecer el servicio WinRM

Si las variables de entorno están claras, pero el cliente WinRM sigue sin funcionar, restablecer las configuraciones del servicio WinRM restablecerá las operaciones predeterminadas.

  1. Open Command Prompt as Administrator:

    • Haga clic en el Start El menú.
    • ¿ Qué tipo ? cmd.
    • pulsa con el botón derecho. Command Prompt y seleccione Run as administrator.
  2. Run WinRM Quick Config:

    • Escriba el siguiente comando y presione Enter:
      winrm quickconfig
    • Si se le pide hacer cambios o analizar configuraciones, escriba y (Sí) y presiona Enter.
  3. Restart the WinRM Service:

    • Ejecuta estos comandos en secuencia, pulsando Enter después de cada:
      net stop winrm
      net start winrm

Método 4: Prueba la conexión WinRM

Después de aplicar las correcciones, compruebe que el WSManCreateShell Se ha resuelto el error de inicialización.

  1. Abre uno nuevo. PowerShell La ventana.
  2. Ejecute un comando de prueba de loopback local para confirmar que el cliente de shell procesa las variables correctamente:
    Test-WSMan
  3. Si tiene éxito, pruebe la conexión remota del shell explícitamente usando:
    Enter-PSSession -ComputerName localhost

    (Remplazar localhost con el nombre de destino del servidor remoto si se conecta a una máquina externa).


Si el error persiste después de intentar estos pasos, dígame: * ¿Está ejecutando este comando para conectarse a una máquina ** local** o a un servidor ** remoto**? * ¿El Método 1 emitió algún nombre de variable ** específico** antes de caer? * ¿En qué ** versión de Windows** está operando actualmente? ERROR_WSMAN_CLIENT_USERNAME_AND_PASSWORD_NEEDED | ERROR_WSMAN_CLIENT_INVALID_CERT_DNS_OR_UPN | ERROR_WSMAN_SHELL_ALREADY_CLOSED | ERROR_WSMAN_CREATESHELL_NULL_STREAMID | ERROR_WSMAN_SHELL_INVALID_SHELL_HANDLE

Puede haber algunos errores.. Learn Microsoft