17 votes

Quelles sont les raisons pour lesquelles les pipelines nommés locaux de Windows échouent ?

J'ai travaillé dur sur ce dossier toute la journée et je suis bloqué. Ce matin, nos collègues asiatiques m'ont appelé parce qu'un addin SolidWorks pour notre système de gestion des données produit ne pouvait pas communiquer avec l'application principale locale. Le problème affecte les ordinateurs des utilisateurs finaux dans un domaine Windows. Nous avons utilisé les utilitaires READPIPE et MAKEPIPE de la boîte à outils du serveur SQL pour découvrir que le problème sous-jacent était la fonction pipe de Windows.

  • L'util MAKEPIPE crée un tuyau et attend un client. L'util READPIPE renvoie "Failed to Open Pipe. Status 53." D'après http://support.microsoft.com/kb/110905 cela signifie que le nom du réseau n'a pas été trouvé. Sur mon ordinateur local, les tuyaux envoient un "hello" de READPIPE à MAKEPIPE sans problème.
  • Le processus serveur qui active les pipelines nommés est en cours d'exécution.
  • Les paramètres sous HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Lanmanserver\Parameters ont l'air d'aller bien. Pas de réglage de pare-feu pour les tuyaux.
  • Le problème touche certains utilisateurs, mais pas tous. Nous n'avons pas modifié les groupes du domaine, à l'exception de certains groupes de partage de réseau.
  • Je me suis connecté en tant qu'administrateur et les tuyaux ne fonctionnent toujours pas.

Toute aide est la bienvenue ! Je vous remercie.

13voto

user152700 Points 301

Il a fallu 1,5 jour pour résoudre chaque cas. Ici pour la documentation.

Symptômes

  • Le glisser-déposer dans les applications ne fonctionne pas.
  • La communication interprocessus, par exemple entre l'application principale et les modules complémentaires, ne fonctionne pas.

Causes / contexte

La communication interprocessus est mise en œuvre pour certaines applications via des tuyaux nommés Windows (à ne pas confondre avec les tuyaux de type UNIX). Voir la documentation MSDN : http://msdn.microsoft.com/en-us/library/aa365590.aspx

Il peut y avoir différentes raisons pour lesquelles les tuyaux de noms Windows ne fonctionnent pas. Pour vérifier que les pipes sont la cause du problème, les outils MAKEPIPE et READPIPE peuvent être utilisés. Cet article de la KB décrit la procédure de test : http://support.microsoft.com/kb/68941 L'explorateur de processus de l'outil Sysinternals peut également être utile pour voir quels tuyaux sont actuellement ouverts. Utilisez l'option "Find -> Find Handle or DLL..." et entrez le modèle " \Device\NamedPipe\ ". Il vous montrera quels processus ont quels tuyaux ouverts. http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Dépannage

Cause 1 : L'application est bloquée par le pare-feu Pipes

Windows peut empêcher les applications d'utiliser des tuyaux nommés. Ce pare-feu n'est normalement pas activé et est configuré via le registre. Voir l'article d'assistance de MS ici : http://support.microsoft.com/kb/925890 . Vérifiez que le pare-feu des tuyaux n'est pas activé ou ajoutez Keytech et tous les modules complémentaires à la liste des applications autorisées.

Cause 2 : Le service de partage de fichiers et d'imprimantes n'est pas activé.

Les tuyaux nommés sont activés par le processus qui contrôle également le partage de fichiers et d'imprimantes. Vérifiez que ce processus est en cours d'exécution à l'aide de l'outil Services Windows. Le nom du service apparaît sous la forme "Serveur" dans la liste des services. Le nom du service est LanmanServer et l'EXE est C:\Windows\system32\svchost.exe -k netsvcs

Cause 3 : Le pare-feu de Windows bloque LanmanServer

Le pare-feu Windows peut bloquer les tuyaux nommés même s'ils ne sont utilisés que pour la communication inter-processus sur la même machine. Ce sont surtout les règles de pare-feu locales et de domaine qui peuvent provoquer un conflit. Deux entrées dans la liste des "Programmes autorisés par le pare-feu Windows" indiquent un conflit. Dans la plupart des cas, ce problème peut être résolu en utilisant la fenêtre "Vérifier l'état du pare-feu". Si cette fenêtre affiche une option permettant de définir des règles de pare-feu recommandées, les tuyaux peuvent souvent être débloqués à l'aide de cette option. En combinaison avec les règles de pare-feu du domaine, il est parfois nécessaire de déconnecter le PC du domaine, puis d'autoriser le service de partage de fichiers et d'imprimantes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X