Yerel Windows adlandırılmış yöneltmelerinin başarısız olmasının nedenleri nelerdir?


14

Bütün gün bunun üzerinde çok çalıştım ve takıldım. Bu sabah asya meslektaşlarımız beni aradı, çünkü ürün veri yönetim sistemimiz için bir SolidWorks eklentisi yerel ana uygulama ile iletişim kuramadı. Sorun, Windows etki alanındaki son kullanıcı bilgisayarlarını etkiler. SQL Server araç kutusundan READPIPE ve MAKEPIPE araçlarını kullanarak altta yatan sorunun Windows yöneltme özelliği olduğunu anladık.

  • MAKEPIPE aracı bir boru oluşturur ve bir müşteri bekliyor. READPIPE aracı döndürür: "Boru açılamadı. Durum 53." Http://support.microsoft.com/kb/110905 adresine göre , ağ adının bulunamadığı anlamına gelir. Yerel bilgisayarımda borular READPIPE'den MAKEPIPE'e sorunsuz bir "merhaba" gönderir.
  • Adlandırılmış yöneltmeleri etkinleştiren sunucu işlemi çalışıyor.
  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Lanmanserver \ Parameters altındaki ayarlar iyi görünüyor. Boru güvenlik duvarı ayarı yok.
  • Sorun bazı kullanıcıları etkiler, ancak hepsini etkilemez. Bazı ağ paylaşım grupları dışında etki alanı gruplarında değişiklik yapmadık.
  • Yönetici olarak oturum açtım ve borular hala çalışmıyor.

Herhangi bir yardım takdir! Teşekkür ederim.


Etkilenen kullanıcılar, söz konusu sunucudaki normal dosya paylaşımlarına bağlanabilir mi?
Harry Johnston

Şu anda hisse senetleri ile ilgili herhangi bir problem yok. Bu bir sunucu / istemci sorunu değildir. Her iki işlem de aynı bilgisayarda.
user152700

Etkilenen bir bilgisayarda Yönetici olarak oturum açmış, READPIPE ve MAKEPIPE ile sorunu yeniden oluşturduğunuzda, tam olarak kullandığınız komutlar nelerdir? (Lütfen yorumunuzu yorum yapmak yerine eklemek üzere düzenleyin.)
Harry Johnston

Desteğin için teşekkürler. Bu zor bir şeydi ve çözümü burada belgeleyeceğim.
user152700

Yanıtlar:


12

Her vaka için 1,5 gün gerekiyordu. Burada dokümantasyon için.

belirtiler

  • Uygulamalara Sürükle ve Bırak özelliği çalışmıyor.
  • Örneğin ana uygulama ve eklentiler arasındaki süreçler arası iletişim çalışmaz.

Nedenleri / Arka Planı

İşlemler arası iletişim, Windows adlı kanallar aracılığıyla bazı uygulamalar için uygulanır (UNIX stili borularla karıştırılmamalıdır). MSDN belgelerine bakın: http://msdn.microsoft.com/en-us/library/aa365590.aspx

Windows ad kanallarının çalışmamasının farklı nedenleri olabilir. Borunun sorunun nedeni olduğunu doğrulamak için MAKEPIPE ve READPIPE araçları kullanılabilir. Bu KB makalesi sınama yordamını açıklar: http://support.microsoft.com/kb/68941 Sysinternals araç işlemi gezgini şu anda açık olan boruları aramak için de yararlı olabilir. "Bul -> Tanıtıcı veya DLL Bul ..." seçeneğini kullanın ve "\ Device \ NamedPipe \" kalıbını girin. Hangi işlemlerin hangi boruların açıldığını gösterecektir. http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Sorun Gider

Neden 1: Uygulama Pipes güvenlik duvarı tarafından engellendi

Windows, uygulamaların adlandırılmış yöneltmeler kullanmasını engelleyebilir. Bu güvenlik duvarı normalde etkin değildir ve kayıt defteri aracılığıyla yapılandırılır. MS destek makalesine bakın: http://support.microsoft.com/kb/925890 . Boru güvenlik duvarının etkin olmadığından emin olun veya Keytech ve tüm eklentileri izin verilen uygulamalar listesine ekleyin.

Neden 2: Dosya ve Yazıcı paylaşım hizmeti etkin değil.

Adlandırılmış yöneltmeler, dosya ve yazıcı paylaşımını da denetleyen işlem tarafından etkinleştirilir. Bu işlemin Windows Hizmetleri aracını kullanarak çalıştığını kontrol edin. Hizmet adı, hizmet listesinde “Sunucu” olarak gösterilir. Hizmet adı LanmanServer ve EXE C: \ Windows \ system32 \ svchost.exe -k netsvcs

Neden 3: Windows güvenlik duvarı LanmanServer'ı engelliyor

Windows güvenlik duvarı, yalnızca aynı makinede işlemler arası iletişim için kullanıldıklarında bile adlandırılmış yöneltmeleri engelleyebilir. Özellikle etki alanı ve yerel güvenlik duvarı kuralları çakışmaya neden olabilir. “Windows Güvenlik Duvarı İzin Verilen Programlar” listesindeki iki giriş çakışmayı gösterir. Çoğu durumda bu sorun “Güvenlik duvarı durumunu kontrol et” penceresi kullanılarak çözülebilir. Bu pencere önerilen güvenlik duvarı kurallarını ayarlamak için bir seçenek gösteriyorsa, boruların bu seçenek kullanılarak genellikle engellenmesi kaldırılabilir. Etki alanı güvenlik duvarı kurallarıyla birlikte, bazen önce PC'den etki alanından çıkmak ve daha sonra dosya ve yazıcı paylaşım hizmetine izin vermek gerekir.


3
Neden 1) Boru güvenlik duvarı yalnızca adlandırılmış borulara uzaktan erişimi etkiler. Bununla birlikte, \\ machinename \ pipename kullanılarak adlandırılmış bir boruya bağlamanın, machinename yerel makine olsa bile muhtemelen uzaktan erişim olarak sayıldığını unutmayın.
Harry Johnston

3
Neden 2) Benzer şekilde, dosya ve yazıcı paylaşımı yalnızca adlandırılmış yöneltmelere uzaktan erişim için gereklidir. Yine, \\ makineadı \ pipename muhtemelen bu amaç için uzaktan erişim olarak sayılır.
Harry Johnston

Neden 3) Windows Güvenlik Duvarı \\ makineadı \ kanal adı kullanıyor olsa bile yerel bağlantıları engelleyememelidir. Ancak, bir etki alanındaysanız ve Windows Güvenlik Duvarı kötü yapılandırılmamışsa, belki de kimlik doğrulamayla ilgili daha yaygın sorunlar yaşıyor olabilirsiniz.
Harry Johnston

@HarryJohnston Ne tür bir kimlik doğrulama engellenebilir? Gibi ServiceHost.Authenticationtarif edildiği gibi burada ?
iCantSeeSharp

Bir etki alanındaysanız ve etki alanı denetleyicilerine ağ erişiminiz Windows Güvenlik Duvarı (veya başka bir nedenle) tarafından engelleniyorsa, kimlik doğrulaması yapamayabilirsiniz. Bu yerel boru erişimini gerçekten etkilememeli, YMMV'yi etkilemelidir.
Harry Johnston
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.