🇬🇧 | 🇩🇪 | 🇫🇷 | 🇪🇸 | 🇨🇳 | 🇸🇦
Nous n'avons pas de DLL mais nous avons:
L'analyseur de fichiers Windows et l'antivirus rapide en ligne

Une interface minimaliste avec une recherche rapide, un téléchargement pratique et une structure de section propre.

🛡️🔍 Vérifiez rapidement votre dossier, cliquez sur cette page.
Vérifier les virus, les hachages, vérifier les signets, l'architecture, les informations sur l'IA.

Erreur WinRM de Windows: le paramètre d'entrée WSManSendShellInput est nul ou nul

Définition

Cette erreur se produit généralement pendant les sessions de gestion PowerShell à distance (WinRM) lorsqu'il y a une incompatibilité, une corruption ou une dérive de configuration entre la machine client et l'hôte distant. WSManSendShellInput ) était manquante, corrompue ou évaluée à zéro.

Les causes profondes les plus courantes sont les suivantes:


Réparations étape par étape

Suivez ces solutions séquentiellement à partir de l'ordinateur client (et, le cas échéant, sur l'ordinateur hôte) pour résoudre le problème.

Solution 1: redémarrer et réinitialiser le service WinRM

L'état d'exécution corrompu dans le service WinRM peut entraîner une défaillance des paramètres de l'API. Le redémarrage et l'enregistrement des paramètres par défaut du service éliminent souvent cette erreur.

  1. Ouvrez le menu Démarrer, tapez cmd, cliquez avec le bouton droit. Command Prompt, et sélectionnez Run as administrator.
  2. Arrêtez le service WinRM en exécutant la commande suivante:
    net stop winrm
  3. Démarrez le service WinRM à nouveau:
    net start winrm
  4. Exécutez l'outil de configuration rapide pour réparer les paramètres par défaut brisés, les auditeurs ou les exceptions de pare-feu:
    winrm quickconfig
  5. Quel type ? y (Oui) si vous êtes invité à apporter des modifications ou à créer un nouvel auditeur WinRM.

Solution 2: effacer les limites de MaxShellsPerUser et MaxMemoryPerShellMB

If the remote shell process hits an allocation limit, it may fail to populate the parameters required by the WSManSendShellInput fonction.

  1. Le lancement. PowerShell as an Administrator sur le client et sur l'ordinateur distant (s'il est accessible).
  2. Vérifiez les paramètres de configuration existants en exécutant:
    Get-Item WSMan:\localhost\Shell\*
  3. Augmenter la limite de mémoire par shell pour s'assurer que les objets complexes ne se tronquent pas en objets nuls:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 2048
  4. Augmenter le nombre de shells autorisés par utilisateur pour éviter les conflits de session simultanés:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30
  5. Redémarrez le service WinRM pour appliquer ces modifications immédiatement:
    Restart-Service winrm

Solution 3: Reconstruisez les auditeurs WinRM

Si les auditeurs par défaut ont des propriétés corrompues, vous devez les supprimer complètement et les reconstruire pour vous assurer que les paramètres de l'API correspondent aux spécifications du système natif.

  1. Ouvrez. Command Prompt as an administrator.
  2. Voir vos auditeurs WinRM actifs en cours d' exécution:
    winrm enumerate winrm/config/listener
  3. Supprimez les écouteurs défectueux en utilisant cette commande:
    winrm delete winrm/config/listener?Address=*+Transport=HTTP

    (Remarque: changez HTTP en HTTPS si votre infrastructure réseau utilise spécifiquement WinRM sur SSL).

  4. Reconstruire l'infrastructure d'écoute à partir de modèles de système propres:
    winrm quickconfig

Solution 4: Corriger les variables d'environnement et le chemin du système

The WinRM sub-system relies heavily on underlying system environment variables to process structural payload schemas. Missing entries like %SystemRoot% peut conduire à des paramètres nuls.

  1. Appuie sur le... Windows Key + R, type sysdm.cpl, et frappe. Enter pour ouvrir les propriétés du système.
  2. Naviguez vers le... Advanced Ouvrez la touche et cliquez sur le Environment Variables le bouton en bas.
  3. Sous le... System variables section, localiser la variable nommée Path et cliquez Edit.
  4. Ensure that the following default Windows paths are explicitly listed. If they are missing, click New les ajouter:
    • C:\Windows\system32
    • C:\Windows
    • C:\Windows\System32\Wbem
    • C:\Windows\System32\WindowsPowerShell\v1.0\
  5. Cliquez. OK sur toutes les fenêtres pour enregistrer les modifications, puis redémarrez votre ordinateur.

Solution 5: contourner temporairement l'inspection SSL ou du réseau

Les applications de sécurité ou les équilibrateurs de charge matériels peuvent supprimer les en-têtes personnalisés, ce qui provoque l'arrivée d'arguments API WSMan vides au point final.

  1. Si vous utilisez un serveur proxy, le contourner temporairement pour les adresses de routage locales en exécutant ceci dans une fenêtre PowerShell élevée:
    $env:no_proxy="localhost,127.0.0.1,your-remote-host-ip"
  2. Si le problème est isolé à une machine cible de confiance spécifique, ajoutez-le directement à votre client TrustedHosts liste pour éliminer le filtrage de poignée de main:
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "your-remote-host-name-or-IP" -Force
  3. Testez à nouveau votre connexion à distance.

Pour aider à identifier le problème plus précisément, pourriez-vous fournir quelques détails supplémentaires:

ERROR_WINRS_CLIENT_PULL_NULL_PARAM | ERROR_WINRS_CLIENT_CLOSERECEIVEHANDLE_NULL_PARAM | ERROR_WINRS_CLIENT_PUSH_NULL_PARAM | ERROR_WINRS_CLIENT_CLOSESENDHANDLE_NULL_PARAM | ERROR_WINRS_CLIENT_GET_NULL_PARAM

Il y a peut-être des erreurs.. Learn Microsoft