Các lý do cho các đường dẫn tên Windows cục bộ bị lỗi là gì?


14

Tôi đã làm việc chăm chỉ về điều này cả ngày và tôi bị mắc kẹt. Sáng nay các đồng nghiệp châu Á của chúng tôi đã gọi cho tôi vì một addin SolidWorks cho hệ thống quản lý dữ liệu sản phẩm của chúng tôi không thể giao tiếp với ứng dụng chính địa phương. Vấn đề ảnh hưởng đến máy tính người dùng cuối trong một miền Windows. Chúng tôi đã sử dụng các tiện ích READPIPE và MAKEPIPE từ hộp công cụ máy chủ SQL để tìm ra vấn đề tiềm ẩn là tính năng ống Windows.

  • Việc sử dụng MAKEPIPE tạo ra một đường ống và đang chờ một khách hàng. Công cụ READPIPE trả về: "Không thể mở ống. Trạng thái 53." Theo http://support.microsoft.com/kb/110905, điều đó có nghĩa là không tìm thấy tên mạng. Trên máy tính cục bộ của tôi, các ống dẫn một tiếng "xin chào" từ READPIPE đến MAKEPIPE mà không gặp vấn đề gì.
  • Quá trình máy chủ cho phép các đường ống có tên đang chạy.
  • Các cài đặt trong HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ Services \ Lanmanserver \ Tham số có vẻ ổn. Không có thiết lập tường lửa đường ống.
  • Vấn đề ảnh hưởng đến một số người dùng nhưng không phải tất cả. Chúng tôi không thực hiện thay đổi đối với các nhóm miền ngoại trừ một số nhóm chia sẻ mạng.
  • Tôi đã đăng nhập với tư cách quản trị viên và các đường ống sẽ không hoạt động.

Bất kỳ trợ giúp được đánh giá cao! Cảm ơn bạn.


Người dùng bị ảnh hưởng có thể kết nối với chia sẻ tệp thông thường trên máy chủ được đề cập không?
Harry Johnston

Hiện tại không có vấn đề với cổ phiếu. Đây không phải là vấn đề máy chủ / máy khách. Cả hai quá trình trên cùng một máy tính.
dùng152700

Khi bạn tái tạo sự cố, đăng nhập vào máy tính bị ảnh hưởng với tư cách Quản trị viên, với READPIPE và MAKEPIPE, các lệnh chính xác bạn đang sử dụng là gì? (Vui lòng chỉnh sửa bài đăng của bạn để đưa chúng vào thay vì đưa chúng vào bình luận.)
Harry Johnston

Cảm ơn sự hỗ trợ của bạn. Đây là một khó khăn và tôi sẽ ghi lại giải pháp ở đây.
dùng152700

Câu trả lời:


12

Cần 1,5 ngày để tìm ra nó cho mọi trường hợp. Ở đây để làm tài liệu.

Triệu chứng

  • Kéo và thả vào các ứng dụng không hoạt động.
  • Giao tiếp giữa các quá trình, ví dụ giữa ứng dụng chính và addins không hoạt động.

Nguyên nhân / lý lịch

Giao tiếp giữa các quá trình được triển khai cho một số ứng dụng thông qua các ống có tên Windows (không bị nhầm lẫn với các ống kiểu UNIX). Xem tài liệu MSDN: http://msdn.microsoft.com/en-us/l Library / aa365590.aspx

Có thể có các nguyên nhân khác nhau khiến các ống tên Windows không hoạt động. Để xác minh rằng các đường ống là nguyên nhân của vấn đề, các công cụ MAKEPIPE và READPIPE có thể được sử dụng. Bài viết KB này mô tả quy trình thử nghiệm: http://support.microsoft.com/kb/68941 Trình thám hiểm quy trình công cụ Sysiternals cũng có thể hữu ích để tìm kiếm các đường ống hiện đang mở. Sử dụng tùy chọn "Tìm -> Tìm xử lý hoặc DLL ..." và nhập mẫu "\ Device \ NamedPipe \". Nó sẽ cho bạn thấy các quá trình có đường ống nào mở. http://technet.microsoft.com/en-us/sysiternals/bb896653.aspx

Khắc phục sự cố

Nguyên nhân 1: Ứng dụng bị chặn bởi tường lửa ống

Windows có thể chặn các ứng dụng sử dụng các đường ống có tên. Tường lửa này thường không được kích hoạt và được cấu hình thông qua sổ đăng ký. Xem bài viết hỗ trợ MS tại đây: http://support.microsoft.com/kb/925890 . Kiểm tra xem tường lửa ống không được bật hay thêm KeyTech và tất cả các bổ trợ vào danh sách các ứng dụng được phép.

Nguyên nhân 2: Dịch vụ chia sẻ tệp và máy in không được bật.

Các đường ống được đặt tên được kích hoạt bởi quy trình cũng kiểm soát việc chia sẻ tệp và máy in. Kiểm tra xem quá trình này có đang chạy bằng công cụ Windows Services không. Tên dịch vụ được hiển thị dưới dạng Máy chủ trực tuyến trong danh sách dịch vụ. Tên dịch vụ là LanmanServer và EXE là C: \ Windows \ system32 \ svchost.exe -k Netsvcs

Nguyên nhân 3: Tường lửa Windows đang chặn LanmanServer

Tường lửa cửa sổ có thể chặn các đường ống có tên ngay cả khi chúng chỉ được sử dụng để liên lạc giữa các quá trình trên cùng một máy. Đặc biệt là các quy tắc tường lửa tên miền và địa phương có thể gây ra một cuộc xung đột. Hai mục trong danh sách Chương trình cho phép tường lửa của Windows Windows cho thấy một xung đột. Trong hầu hết các trường hợp, vấn đề này có thể được giải quyết bằng cách sử dụng cửa sổ tình trạng tường lửa Kiểm tra tường lửa. Nếu cửa sổ này hiển thị tùy chọn để đặt quy tắc tường lửa được đề xuất, các đường ống thường có thể được bỏ chặn bằng tùy chọn này. Kết hợp với các quy tắc tường lửa miền, đôi khi cần phải hủy PC trước khỏi miền và sau đó cho phép dịch vụ chia sẻ tệp và máy in.


3
Nguyên nhân 1) Tường lửa đường ống chỉ ảnh hưởng đến quyền truy cập từ xa vào đường ống được đặt tên. Tuy nhiên, lưu ý rằng việc kết nối với một đường ống có tên bằng cách sử dụng \ machinename \ pipename có thể được tính là truy cập từ xa ngay cả khi tên máy là máy cục bộ.
Harry Johnston

3
Nguyên nhân 2) Tương tự, chia sẻ tệp và máy in chỉ được yêu cầu để truy cập từ xa vào các đường ống được đặt tên. Một lần nữa, \\ machinename \ pipename có thể được tính là truy cập từ xa cho mục đích này.
Harry Johnston

Nguyên nhân 3) Tường lửa Windows không thể chặn các kết nối cục bộ, ngay cả khi sử dụng \ machinename \ pipename. Tuy nhiên, nếu bạn đang ở trong một miền và Windows Firewall bị cấu hình sai, bạn có thể đã gặp phải nhiều vấn đề phổ biến hơn, có lẽ liên quan đến xác thực.
Harry Johnston

@HarryJohnston Loại xác thực nào có thể bị chặn? Giống ServiceHost.Authenticationnhư được mô tả ở đây ?
iCantSeeSharp

Nếu bạn đang ở trong một miền và quyền truy cập mạng của bạn vào bộ điều khiển miền bị chặn bởi Tường lửa Windows (hoặc vì một số lý do khác), bạn có thể không thể xác thực. Điều đó không thực sự ảnh hưởng đến truy cập đường ống địa phương, nhưng YMMV.
Harry Johnston
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.