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

Comment réparer "Le client WinRM Shell ne peut pas traiter la requête. L'un des paramètres requis pour la fonction WSManSignalShell est nul ou nul".

Description de l'erreur

Cette erreur se produit lorsque le client Windows Remote Management (WinRM) tente d'envoyer un signal de contrôle (comme la fin d'un processus ou la fermeture d'une session) à un shell distant, mais que l'API WS-Management sous-jacente reçoit un paramètre invalide, manquant ou réduit à zéro ( WSManSignalShell Ceci indique généralement un déséquilibre de configuration entre le client local et l'hôte distant, des états de session de shell corrompus, des composants Windows PowerShell / WinRM obsolètes ou des politiques de sécurité réseau restrictives bloquant la charge utile du signal spécifique.


Réparations étape par étape

Étape 1: redémarrer le service WinRM

Un service WinRM défectueux ou gelé sur l'ordinateur local ou le serveur distant peut entraîner des pannes de livraison de paramètres. Le redémarrage du service rafraîchit l'état.

  1. Appuyez dessus. Windows Key + X et sélectionnez Terminal (Admin) ou... Command Prompt (Admin).
  2. Tapez la commande suivante pour arrêter le service et appuyez Enter:
    net stop winrm
  3. Tapez la commande suivante pour redémarrer le service et appuyez Enter:
    net start winrm
  4. Effectuez ces étapes à la fois sur votre machine locale et sur la machine cible distante si possible.

Étape 2: Mettre à jour ou réenregistrer les composants WS-Management

Si les fichiers du système local responsables des fonctions WSMan ne sont pas enregistrés ou sont corrompus, WinRM peut passer des paramètres nuls.

  1. Ouvrez. Command Prompt as Administrator.
  2. Exécutez la commande suivante pour réinitialiser la configuration WinRM à ses paramètres par défaut:
    winrm quickconfig
  3. Quel type ? Y et appuyez. Enter si vous êtes invité à apporter des modifications ou à activer les exceptions du pare-feu.

Étape 3: Augmentez le WinRM MaxShellsPerUser et le MaxMemoryPerShellMB

Lorsqu'un shell distant est à court de mémoire allouée ou dépasse le nombre autorisé de shells simultanés, il laisse tomber ou corrompt les paquets de session entrants, ce qui conduit à des valeurs nulles dans les appels de fonction.

  1. Ouvrez. PowerShell as Administrator sur l'appareil distant (ou localement en cas de dépannage de boucles locales).
  2. Vérifiez les limites actuelles en exécutant:
    Get-Item WSMan:\localhost\Shell\*
  3. Augmenter la mémoire maximale allouée par shell pour s'assurer que la charge utile du signal ne tombe pas:
    Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1024
  4. Augmenter le nombre maximal de shells simultanés autorisés par utilisateur:
    Set-Item WSMan:\localhost\Shell\MaxShellsPerUser 30
  5. Redémarrez le service WinRM en utilisant les commandes de l'étape 1 pour appliquer les modifications.

Étape 4: Ajouter l'hôte cible à la liste des hôtes de confiance

If the client does not fully trust the remote endpoint, certain advanced management signals like WSManSignalShell peuvent être retirées en raison de restrictions de sécurité.

  1. Ouvrez. PowerShell as Administrator sur votre ordinateur client local.
  2. Exécutez la commande suivante pour faire confiance à la machine distante spécifique (remplacer REMOTE_IP_OR_NAME avec l'adresse IP ou le nom d'hôte de votre ordinateur distant):
    Set-Item WSMan:\localhost\Client\TrustedHosts -Value "REMOTE_IP_OR_NAME" -Force

    (Note: Utiliser ` ` au lieu du nom si vous voulez faire confiance à tous les hôtes à des fins de test, bien que cela soit moins sécurisé).*

  3. Redémarrez le service WinRM sur votre ordinateur local.

Étape 5: Vérifier la compatibilité de PowerShell et.NET Framework

Une incompatibilité entre la version de PowerShell exécutée sur la machine client et la version exécutée sur l'hôte distant peut entraîner le déballage incorrect d'objets de paramètres sérialisés sous forme de null.

  1. Vérifiez votre version de PowerShell sur les deux machines en exécutant:
    $PSVersionTable.PSVersion
  2. Si une machine exécute une version obsolète de Windows Management Framework (WMF) ou.NET Framework, téléchargez et installez les dernières mises à jour via Windows Update pour vous assurer que les deux terminaux utilisent des protocoles correspondants.
ERROR_WINRS_CLIENT_RUNCOMMAND_NULL_PARAM | ERROR_WINRS_CLIENT_FREERUNCOMMANDRESULT_NULL_PARAM | ERROR_WINRS_CLIENT_RECEIVE_NULL_PARAM | ERROR_WINRS_CLIENT_FREEPULLRESULT_NULL_PARAM | ERROR_WINRS_CLIENT_PULL_NULL_PARAM

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