Fiziksel olarak bağlantısı kesilmiş eşlenmiş sürücü için Windows ağ zaman aşımını nasıl ayarlarım?


28

Bir ağ sürücüsünün ( net use) fiziksel olarak bağlantısı kesildiğinde, Windows Gezgini (ve diğer programlar) numaralandırmaya ve / veya belki de 60 saniye boyunca kullanmaya çalışıyor.

Bu zaman aşımını belki 5 saniyeye düşürmenin bir yolu var mı?

Açıklığa kavuşturmak için, Windows tarafından belirli bir süre sonra otomatik olarak bağlantısı kesilen ağ sürücüleri veya oturum açma sırasında otomatik olarak yeniden bağlanma hakkında sorular sormuyorum.

Soru şununla ilgili:

Bir ağ sürücüsünü başka bir bilgisayara bağlayın. Ardından diğer bilgisayarı kapatın. Ardından ağ sürücüsünü yeniden bağlamayı deneyin, örneğin Windows Gezgini'nde → uzun zaman aşımına çift tıklayarak. Bu zaman aşımını nasıl azaltabilirim?


2
Bunu arıyor olabilirsiniz: superuser.com/a/332754/124651
deppfx

@ Ƭᴇcʜιᴇ007 Ödül için teşekkürler. Ama bence insanlar hala yanlış anlıyorlar. Soruyu daha net hale getirmek için soruyu tekrardan silmeye çalıştım.
Andreas Haferburg

1
@AndreasHaferburg Hiç sorun değil, yeni cevapların bazılarını test etmek için zamanınız varsa, bu kullanışlı olacaktır. :)
Ƭᴇcʜιᴇ007

Cevaplarda önerilen kayıt defteri değişikliklerinin hiçbiri yardımcı görünmüyor. Azaltmak istediğimiz zaman aşımının aslında bir SMB zaman aşımı değil, daha genel bir TCP / IP zaman aşımı (veya bunların bir kaçının birleşimi) olduğundan şüpheleniyorum.
mivk

Yanıtlar:


6

Windows 7 ve Vista'da eşlenen ağ sürücüleri, bir süre sonra kendiliğinden bağlantısını kesecek ve sürücü simgesinde kırmızı bir çarpı işareti olacaktır. Hala sürücüyü tıklatabilecek ve içeriği görebilecek / kullanabileceksiniz ancak bir ağ sürücüsü gerektiren uygulamaların bağlantısı kesilmiş olarak görecek ve dosyaları görmeyecektir. Sürücünün bağlantısını kesmeye çalışırsanız, hala orada 'Disconnected Network Drive' (Bağlantısız Ağ Sürücüsü) diyerek oturmaya devam edecektir - tek çözüm yeniden başlatmaktır. Bunun nedeni aktif olmayan ağ bağlantıları için varsayılan bir bağlantı kesme süresi olmasıdır. Bunu düzeltmek ve otomatik bağlantı kesme özelliğini kapatmak için aşağıdakileri yapın:

  1. Komut istemini Yönetici olarak açın. Bunu yapmak için, ya:

    • Başlat → Tüm Programlar → Donatılar'a gidin, "Komut İstemi" ni sağ tıklayın ve "Yönetici olarak Başlat" ı seçin veya

    • yazın cmd arama kutusu ve basın içine Ctrl+ Shift+Enter

  2. Komut isteminde aşağıdakini yazın:

    net config server /autodisconnect:-1
    
  3. Basın Enter

  4. Bilgisayarı yeniden başlat

Eşlenmiş ağ sürücüleriniz şimdi bağlı kalmalıdır - bu kalıcı bir düzeltmedir.


4
Bu OP'lerin gerçek sorusuna cevap vermiyor, orijinal istek yanlış anlaşıldı, OP'nin düzenlemesine bakın.
ᴇcʜιᴇ007

OP ile ilgisi olmadığını biliyorum, ama tam olarak aradığım şey bu ama erişim engellendi. Bilgisayarımda bir Admin'im.
Rick,

3

Http://blogs.msdn.com/b/openspecification/archive/2013/03/27/smb-2-x-and-smb-3-0-timeouts-in-windows.aspx’e dayanarak Windows gibi görünün paylaşım zaman aşımı "İstek Süresi Sonu Zamanlayıcısı" kayıt defteri girdisi tarafından kontrol edilir.

\HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\
Value type: Dword  
Value name: SessTimeout
Default:    60 seconds (Windows Vista)

Ayrıca, hızlı yük devretme için Windows 8 SMB 3.0'da bu değerin 20'ye düşürüldüğünü de belirtti.


3
Ne yazık ki, testim, bu ayarın kullanılamayan ağ sürücülerini beklemede zaman aşımına etki etmediğini gösteriyor. Bunu 5 saniyeye ayarlıyorum ve hala aynı bekliyorum ~ 30 saniye (Windows 7) Ayarlamadan önceydim (ve yeniden başlattım).
ᴇcʜιᴇ007

2

Aynı sorunu yaşıyordum, ama başlangıçta sadece 30 saniye civarındaydı. Ancak yaklaşık 2 dakikaya atlandığında (bazı nedenlerden dolayı), çok sinir bozucu bir hal aldı, bunu çözmek için bir yol bulmalıydım.

Hedef makineye ping atıp atmayacağını görerek ağı test eden bir toplu komut dosyası oluşturdum, eğer yapabilirse, sürücüleri eşler (eşlenmemişse) eşler, aksi takdirde eşlemeyi siler.

@echo off

set ipaddr=192.168.5.3

set current=neither

:begin

    set state=down

    for /f %%i in ('ping -n 1 %ipaddr% -w 1000 ^| findstr /C:"Received = 1"') do (
        set state=up
    )

    if not %state% == %current% (
        set current=%state%
        if %state% == up (
            net use R: \\%ipaddr%\archive$
        )
        if %state% == down (
            net use R: /delete /y
        )
    )

    sleep 5

goto begin

Bu komut dosyası daha sonra, her 10 dakikada bir en fazla 10 dakikalık görev süresiyle komut dosyasını çalıştıran zamanlanmış bir görev tarafından çağrılır. Konsol penceresi daha sonra bu süre zarfında açık kalsa da, şu anda bunun Network Conditionsiçin araştırmayı planlıyorum, ağa bağlıyken paylaşımları oluşturmak üzere ayarlanabilecek, paylaşımın açık olduğunu biliyorum (bir bayrak koyacaktır), ve bayrak en az ancak daha uzun olsaydı, en az bir uzun sürerse, konsol penceresinin süresini en aza indirecek şekilde paylaşımları silerdi.


4
Ne yazık ki, bu tür bir çözümün beklediğimiz kadar iyi olduğunu düşünüyorum (yine de 2014'ten itibaren), en azından ağ sürücülerinin neden olduğu girişler / Explorer başlatma gecikmeleri söz konusu olduğunda. Ödülümü al. Belki birkaç yıl sonra tekrar ziyaret edebiliriz. :)
Ƭᴇcʜιᴇ007

sleepKomut dosyanızda yerel bir komut değil. Bu durumda vbscript kullanmak daha iyi.
Azevedo

@ Ƭᴇcʜιᴇ007 Hiç bu soruna gerçek bir çözüm buldunuz mu? Genellikle fiziksel olarak kapatılan bir ağ sürücüsüne sahibim ve buna bir istemci makineden erişmeye çalışmak sinir bozucu bir gecikmeye neden oluyor.
WackGet

1

Çözümünüz aşağıda;

Oturum açma sırasında uzun "ağ bağlantılarını geri yükleme" işlemini sonlandır (defer = hayalet bağlantı)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]

"RestoreConnection"=dword:00000001 ;(0=no attempt, you must click it)

"RestoreTimeout"=dword:00000005

İçinde yanıt vermiyorsa bağlantıyı hayalet RestoreTimeout

"DeferConnection"=dword:00000001

1
Bu bilgiyi nereden edindiğinize ya da neden yardım edebileceğini ima eden herhangi bir kaynak?
ᴇcʜιᴇ007

2
Ne yazık ki, testim, bu ayarın kullanılamayan ağ sürücülerini beklemede zaman aşımına etki etmediğini gösteriyor. Yukarıdaki anahtarları yarattım ve değerlerini ayarladım, ancak hala aynı bekliyorum ~ 30 saniye (Windows 7) Ayarlamadan önce (ve yeniden başlattım).
ᴇcʜιᴇ007

1
Ayrıca: [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ LanmanWorkstation \ Parametreler] "ReconnectTimeout" = dword: 00000005 burada bulundu: sevenforums.com/network-sharing/… Bu girişin ayarlanması artı her şeyin üstünde olanları 1 yapmak büyük fark (yeniden başlatmadan sonra). Şimdi her şey tekrar beklendiği gibi hızlı.
kermit

1

Bu bana Windows 7'de beklendiği gibi çalıştı. Ayrıca giriş yaptıktan sonra uzun bir bekleme çözdü. .Reg dosyası olarak buraya yapıştırılır:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]
"RestoreConnection"=dword:00000000
"RestoreTimeout"=dword:00000004
"DeferConnection"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters]
"SessTimeout"=dword:0000000a
"ExtendedSessTimeout"=dword:00000000
"ReconnectTimeout"=dword:00000004

Bu 8.1'de çalışmıyor
midenok

0

Windows7Hacker'daki bu yayına göre , bu sorunu istemci tarafında düzeltmek bir kayıt defteri düzenlemesini içerir.

  1. Kayıt defterini Regedit.exe ile açın.
  2. Naviagate etmek HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
  3. Bağlantıyı canlı tutmak için adlı bir DWORD değeri oluşturun KeepConnve saniye cinsinden zamana ayarlayın

Örneğin, 86400 olarak ayarladım (bir gün).


Bu soruyu teorik olarak cevaplayabilse de , cevabın temel kısımlarını buraya eklemek ve referans için bağlantıyı sağlamak tercih edilir.
Ivo Flipse

Ayrıca, genel bir hatırlatma olarak: Cevaplarınızı cümle süresinden daha uzun tutmaya çalışın ve lütfen bir bağlam ekleyin. Bağlantının soruyu gerçekte nasıl cevapladığını açıklayın - bu o kadar açık olmayabilir.
slhck

@IvoFlipse: Tabii. Öneriniz için teşekkürler.
deppfx

@slhck: Bunu akılda tutacak.
deppfx

1
Bu OP'lerin gerçek sorusuna cevap vermiyor, orijinal istek yanlış anlaşıldı, OP'nin düzenlemesine bakın.
ᴇcʜιᴇ007
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.