Bagaimana cara mengatur batas waktu jaringan Windows untuk drive yang dipetakan secara fisik terputus?

28

Ketika drive jaringan ( net use) terputus secara fisik, Windows Explorer (dan program lainnya) terus mencoba untuk menghitung dan / atau menggunakannya selama mungkin 60 detik.

Apakah ada cara untuk mengurangi batas waktu ini menjadi 5 detik?

Hanya untuk mengklarifikasi, saya tidak bertanya tentang drive jaringan yang secara otomatis terputus oleh Windows setelah jangka waktu tertentu, atau tentang koneksi ulang otomatis selama login.

Pertanyaannya adalah tentang ini:

Hubungkan drive jaringan ke komputer lain. Kemudian matikan komputer lain itu. Kemudian coba sambungkan kembali drive jaringan, misalnya dengan mengklik dua kali pada Windows Explorer → timeout yang sangat lama. Bagaimana cara mengurangi batas waktu ini?

Andreas Haferburg
sumber
2
Anda mungkin mencari ini: superuser.com/a/332754/124651
deppfx
@ Ƭᴇcʜιᴇ007 Terima kasih atas hadiahnya. Tapi saya pikir orang masih salah paham. Saya mencoba mengulangi pertanyaan itu lagi untuk membuatnya lebih jelas.
Andreas Haferburg
1
@AndreasHaferburg Tidak masalah, jika Anda punya waktu untuk menguji beberapa jawaban baru, itu akan berguna. :)
Ƭᴇcʜιᴇ007
Tidak ada perubahan registri yang disarankan dalam jawaban yang tampaknya membantu. Saya menduga bahwa batas waktu yang ingin kami kurangi sebenarnya bukan batas waktu SMB, tetapi batas waktu TCP / IP yang lebih umum (atau kombinasi beberapa di antaranya).
mivk

Jawaban:

6

Pada Windows 7 dan Vista, drive jaringan yang dipetakan akan memutus diri mereka sendiri setelah beberapa waktu dan menunjukkan tanda silang merah pada ikon drive. Anda masih dapat mengklik drive dan melihat / menggunakan konten tetapi aplikasi yang memerlukan drive jaringan akan melihatnya sebagai terputus dan tidak akan melihat file. Jika Anda mencoba memutus drive, drive itu masih duduk di sana sambil mengatakan 'Drive Jaringan Terputus' - satu-satunya solusi adalah reboot. Ini karena ada waktu pemutusan standar untuk koneksi jaringan yang tidak aktif. Untuk memperbaiki ini dan mematikan sambungan otomatis lakukan hal berikut:

  1. Buka prompt perintah sebagai Administrator. Untuk melakukan ini, baik:

    • pergi ke Mulai → Semua Program → Aksesoris, klik kanan "Prompt Perintah" dan pilih "Mulai sebagai Administrator", atau

    • ketik cmd ke dalam kotak pencarian dan tekan Ctrl+ Shift+Enter

  2. Pada prompt perintah, ketik berikut ini:

    net config server /autodisconnect:-1
    
  3. tekan Enter

  4. Mulai ulang komputer

Drive jaringan Anda yang dipetakan sekarang harus tetap terhubung - ini adalah perbaikan permanen.

Krishna
sumber
4
Ini tidak menjawab pertanyaan aktual OPs, permintaan asli salah dimengerti, lihat edit OP.
Ƭᴇcʜιᴇ007
Saya tahu ini tidak terkait dengan OP, tetapi ini adalah persis apa yang saya cari, tetapi mendapatkan akses ditolak. Saya seorang Admin di PC saya.
Rick
3

Berdasarkan http://blogs.msdn.com/b/openspecification/archive/2013/03/27/smb-2-x-and-smb-3-0-timeouts-in-windows.aspx , terlihat seperti Windows berbagi waktu habis dikendalikan oleh entri registri "Permintaan Kedaluwarsa".

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

Disebutkan juga nilai ini dikurangi menjadi 20-an pada Windows 8 SMB 3.0 untuk failover cepat.

Eric Leung
sumber
3
Sayangnya, pengujian saya menunjukkan bahwa pengaturan ini tidak berpengaruh pada batas waktu yang terlibat dalam menunggu drive jaringan yang tidak tersedia. Saya mengaturnya menjadi 5 detik dan saya masih menunggu yang sama ~ 30 detik (Windows 7) saya sebelum saya mengaturnya (dan reboot).
Ƭᴇcʜιᴇ007
2

Saya mengalami masalah yang sama, tetapi awalnya hanya sekitar 30 detik. Tetapi ketika melonjak menjadi sekitar 2 menit (karena alasan yang tidak diketahui), itu menjadi sangat menjengkelkan, saya harus menemukan cara untuk menyelesaikannya.

Saya telah membuat skrip batch yang menguji jaringan dengan melihat apakah ia dapat melakukan ping ke mesin target, jika bisa, memetakan drive (jika tidak dipetakan), jika tidak, ia menghapus pemetaan.

@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

Skrip itu kemudian dipanggil oleh tugas terjadwal, yang menjalankan skrip setiap 10 menit, dengan waktu tugas maksimum 10 menit. Meskipun jendela konsol kemudian tetap terbuka selama waktu ini, saya saat ini sedang menyelidiki Network Conditionsuntuk ini dalam pengaturan scheduler, yang dapat diatur untuk membuat share ketika terhubung ke jaringan saya tahu share aktif (yang akan menetapkan flag), dan skrip kedua, yang akan berjalan kira-kira 5 menit sekali, yang jika bendera lebih tua dari setidaknya berapa lama, itu akan menghapus bagian, meminimalkan waktu jendela konsol.

topherg
sumber
4
Sayangnya saya pikir solusi semacam ini kira-kira sama baiknya dengan yang dapat kita harapkan (masih, pada 2014), paling tidak ketika datang ke keterlambatan login / Explorer yang disebabkan oleh drive jaringan. Miliki karunia saya. Mungkin kita bisa mengunjungi lagi beberapa tahun lagi. :)
Ƭᴇcʜιᴇ007
sleepdalam skrip Anda bukan perintah asli. Lebih baik gunakan vbscript dalam hal ini.
Azevedo
@ Ƭᴇcʜιᴇ007 Apakah Anda pernah menemukan solusi nyata untuk masalah ini? Saya memiliki drive jaringan yang sering mati secara fisik, dan mencoba mengaksesnya dari mesin klien mengakibatkan penundaan yang membuat frustrasi.
WackGet
1

Solusi Anda di bawah ini;

Bunuh "memulihkan koneksi jaringan" lama di logon (tunda = koneksi hantu)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]

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

"RestoreTimeout"=dword:00000005

Hantu koneksi jika tidak merespons di dalam RestoreTimeout

"DeferConnection"=dword:00000001
William Topping
sumber
1
Sumber dari mana Anda mendapatkan informasi ini, atau yang memberi petunjuk mengapa itu bisa membantu?
Ƭᴇcʜιᴇ007
2
Sayangnya, pengujian saya menunjukkan bahwa pengaturan ini tidak berpengaruh pada batas waktu yang terlibat dalam menunggu drive jaringan yang tidak tersedia. Saya membuat kunci di atas dan mengatur nilainya, tapi saya masih menunggu yang sama ~ 30 detik (Windows 7) sebelum saya mengaturnya (dan reboot).
Ƭᴇcʜιᴇ007
1
Ada juga: [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ LanmanWorkstation \ Parameters] "ReconnectTimeout" = dword: 00000005 ditemukan di sini: sevenforums.com/network-sharing/... Mengatur entri ini plus yang di atas semua ke 1 sepertinya membuat sebuah perbedaan besar (setelah reboot). Sekarang semuanya cepat seperti yang diharapkan lagi.
kermit
1

Ini bekerja untuk saya di Windows 7 seperti yang diharapkan. Itu juga memecahkan menunggu lama setelah login. Disisipkan di sini sebagai file .reg:

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
Luis Siquot
sumber
Ini tidak berfungsi pada 8.1
midenok
0

Menurut posting ini di Windows7Hacker , memperbaiki masalah ini di sisi klien melibatkan pengeditan registri.

  1. Buka Registry dengan Regedit.exe
  2. Naviagate ke HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
  3. Buat nilai DWORD bernama KeepConndan set ke waktu dalam detik untuk menjaga koneksi tetap hidup

Sebagai contoh, saya mengaturnya ke 86400 (satu hari).

deppfx
sumber
Sementara ini secara teoritis dapat menjawab pertanyaan, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Ivo Flipse
Juga, sebagai pengingat umum: Cobalah untuk membuat jawaban Anda lebih lama dari sebuah kalimat dan tolong tambahkan beberapa konteks. Jelaskan bagaimana tautan itu menjawab pertanyaan - mungkin tidak sejelas itu.
slhck
@IvoFlipse: Tentu. Terima kasih atas sarannya.
deppfx
@ Slhck: Akan mengingatnya.
deppfx
1
Ini tidak menjawab pertanyaan aktual OPs, permintaan asli salah dimengerti, lihat edit OP.
Ƭᴇcʜιᴇ007