Я работал над этим весь день, и я застрял. Этим утром наши азиатские коллеги позвонили мне, потому что надстройка SolidWorks для нашей системы управления данными о продукции не могла связаться с локальным основным приложением. Эта проблема затрагивает компьютеры конечных пользователей в домене Windows. Мы использовали утилиты READPIPE и MAKEPIPE из набора инструментов сервера SQL, чтобы выяснить, что основной проблемой была функция канала Windows.
- Утилита MAKEPIPE создает канал и ожидает клиента. Утилита READPIPE возвращает: «Не удалось открыть канал. Состояние 53». Согласно http://support.microsoft.com/kb/110905 это означает, что имя сети не найдено. На моем локальном компьютере каналы без проблем отправляют привет из READPIPE в MAKEPIPE.
- Серверный процесс, который включает именованные каналы, работает.
- Настройки в HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Lanmanserver \ Parameters выглядят хорошо. Нет настройки брандмауэра труб.
- Проблема затрагивает некоторых пользователей, но не всех. Мы не вносили изменений в группы доменов, за исключением некоторых групп общих сетевых ресурсов.
- Я вошел в систему как администратор, и все еще каналы не будут работать.
Любая помощь приветствуется! Спасибо.
windows
pipe
windows-domain
user152700
источник
источник
Ответы:
Потребовалось 1,5 дня, чтобы понять это для каждого случая. Здесь для документации.
симптомы
Причины / фон
Межпроцессное взаимодействие реализовано для некоторых приложений через именованные каналы Windows (не путать с каналами стиля UNIX). См. Документацию MSDN: http://msdn.microsoft.com/en-us/library/aa365590.aspx.
Могут быть разные причины, по которым каналы имен Windows не работают. Чтобы убедиться, что трубы являются причиной проблемы, можно использовать инструменты MAKEPIPE и READPIPE. В этой статье базы знаний описывается процедура тестирования: http://support.microsoft.com/kb/68941 Проводник процесса инструмента Sysinternals также может быть полезен для поиска открытых каналов. Используйте параметр «Найти -> Найти дескриптор или DLL ...» и введите шаблон «\ Device \ NamedPipe \». Он покажет вам, какие процессы имеют какие каналы открыты. http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
Troubleshoot
Причина 1: приложение заблокировано брандмауэром Pipes
Windows может блокировать приложения от использования именованных каналов. Этот брандмауэр обычно не включен и настраивается через реестр. См. Статью поддержки MS здесь: http://support.microsoft.com/kb/925890 . Убедитесь, что межсетевой экран каналов не включен, или добавьте Keytech и все надстройки в список разрешенных приложений.
Причина 2: служба общего доступа к файлам и принтерам не включена.
Именованные каналы включаются процессом, который также контролирует общий доступ к файлам и принтерам. Убедитесь, что этот процесс выполняется с помощью инструмента Windows Services. Название сервиса отображается как «Сервер» в списке сервисов. Имя службы - LanmanServer, а EXE - C: \ Windows \ system32 \ svchost.exe -k netsvcs
Причина 3: брандмауэр Windows блокирует LanmanServer
Брандмауэр Windows может блокировать именованные каналы, даже если они используются только для межпроцессного взаимодействия на одном компьютере. Особенно доменные и локальные правила брандмауэра могут вызвать конфликт. Две записи в списке «Разрешенные программы брандмауэра Windows» указывают на конфликт. В большинстве случаев эту проблему можно решить с помощью окна «Проверка состояния брандмауэра». Если в этом окне отображается опция для установки рекомендуемых правил брандмауэра, каналы часто могут быть разблокированы с помощью этой опции. В сочетании с правилами брандмауэра домена иногда необходимо сначала отключить ПК от домена, а затем разрешить совместное использование файлов и принтеров.
источник
ServiceHost.Authentication
как описано здесь ?