Як встановити мережевий час очікування мережі Windows для фізично відключеного картографічного диска?


28

Коли мережевий диск ( net use) фізично відключений, Провідник Windows (та інші програми) намагається перерахувати та / або використовувати його, можливо, протягом 60 секунд.

Чи є спосіб зменшити цей час очікування, можливо, до 5 секунд?

Для уточнення я не запитую про мережеві накопичувачі, які автоматично відключаються Windows через певний проміжок часу, або про автоматичні повторні підключення під час входу.

Питання про це:

Підключіть мережевий диск до іншого комп’ютера. Потім вимкніть цей інший комп'ютер. Потім спробуйте знову підключити мережевий диск, наприклад, двічі клацнувши в Windows Explorer → дуже довгий час. Як зменшити цей час очікування?


2
Ви можете шукати це: superuser.com/a/332754/124651
deppfx

@ Ƭᴇcʜιᴇ007 Дякую за щедрість. Але я думаю, люди все ще неправильно розуміють. Я спробував переформулювати питання ще раз, щоб зробити його зрозумілішим.
Андреас Гафербург

1
@AndreasHaferburg Немає проблем, якщо у вас є час на тестування деяких нових відповідей, це було б зручно. :)
Ƭᴇcʜιᴇ007

Жодна із змін у реєстрі, запропонованих у відповідях, не допомагає. Я підозрюю, що час очікування, який ми хотіли б зменшити, насправді не є тимчасовим очікуванням SMB, а більш загальним тайм-аутом TCP / IP (або комбінацією декількох з них).
mivk

Відповіді:


6

У Windows 7 та Vista, відображені на карті, мережеві накопичувачі відключаться через час та показують червоний хрест на піктограмі накопичувача. Ви все одно зможете натиснути на накопичувач і побачити / використовувати вміст, але програми, для яких потрібен мережевий диск, побачать їх як відключені та не побачать файли. Якщо ви спробуєте відключити накопичувач, він все ще буде сидіти там, кажучи "Відключений мережевий диск" - єдине рішення - перезавантажити. Це пояснюється тим, що для неактивних мережевих з'єднань існує час відключення за замовчуванням. Щоб виправити це та вимкнути автовідключення, виконайте наступне:

  1. Відкрийте командний рядок як Адміністратор. Для цього потрібно:

    • перейдіть до «Пуск» → Усі програми → Аксесуари, клацніть правою кнопкою миші «Командний рядок» та виберіть «Почати як адміністратор», або

    • введіть cmd у поле пошуку та натисніть Ctrl+ Shift+Enter

  2. У командному рядку введіть таке:

    net config server /autodisconnect:-1
    
  3. Натисніть Enter

  4. Перезавантажте комп'ютер

Ваші відображені мережеві накопичувачі тепер повинні залишатися на зв’язку - це постійне виправлення.


4
Це не відповідає дійсному питанню ОП, оригінальний запит був неправильно зрозумілий, див. Редагування ОП.
Ƭᴇcʜιᴇ007

Я знаю, що це не пов'язане з ОП, але саме це я шукаю, але отримати доступ заборонено. Я адміністратор на своєму ПК.
Рік

3

На основі http://blogs.msdn.com/b/openspecification/archive/2013/03/27/smb-2-x-and-smb-3-0-timeouts-in-windows.aspx , виглядайте як Windows тайм-аут частки контролюється записом реєстру "Таймер закінчення терміну дії".

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

Він також згадував, що це значення, зменшене до 20-х років у Windows 8 SMB 3.0 для швидкого виходу з ладу.


3
На жаль, моє тестування показує, що цей параметр не впливає на час очікування недоступних мережевих накопичувачів. Я встановив його на 5 секунд, і я все ще чекаю стільки ж ~ 30 секунд (Windows 7), який я був, перш ніж його встановити (і перезавантажити).
Ƭᴇcʜιᴇ007

2

У мене була така ж проблема, але спочатку це було лише близько 30 секунд. Але коли вона підскочила приблизно до 2 хвилин (з незрозумілої причини), це стало набридливо, мені довелося знайти спосіб її вирішити.

Я створив пакетний скрипт, який тестує мережу, побачивши, чи може він пінг-файлу цільової машини, якщо він може, він відображає накопичувачі (якщо їх немає), інакше видаляє відображення.

@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

Потім цей скрипт викликається плановим завданням, яке виконує сценарій кожні 10 хвилин, максимум - 10 хвилин. Незважаючи на те, що вікно консолі залишається відкритим протягом цього часу, я зараз досліджую Network Conditionsце в налаштуваннях планувальника, який можна встановити для створення спільних ресурсів під час підключення до мережі, на яку я знаю, до якої входить акція (для якої встановлено прапор), і другий сценарій, який би запускався один раз на 5 хвилин або близько того, що якщо прапор буде старшим принаймні хоча б довгим, він би видалив спільний доступ, мінімізуючи час вікна консолі.


4
На жаль, я думаю, що таке рішення є настільки ж хорошим, наскільки ми можемо очікувати (все-таки станом на 2014 рік), як мінімум, якщо мова йде про затримки запуску входу / Explorer, викликані мережевими накопичувачами. Нехай моя щедрість. Можливо, ми зможемо переглянути його ще раз через пару років. :)
Ƭᴇcʜιᴇ007

sleepу вашому сценарії не є рідною командою. Краще в цьому випадку використовувати vbscript.
Азеведо

@ Ƭᴇcʜιᴇ007 Ви коли-небудь знаходили реальне рішення цієї проблеми? У мене є мережевий накопичувач, який часто вимикається фізично, і спроба отримати доступ до нього з клієнтської машини призводить до неприємних затримок.
WackGet

1

Ваше рішення нижче;

Вбийте довге "відновлення мережевих з'єднань" під час входу (defer = ghosted з'єднання)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]

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

"RestoreTimeout"=dword:00000005

Привидьте з'єднання, якщо не відповідаєте всередині RestoreTimeout

"DeferConnection"=dword:00000001

1
Будь-яке джерело, звідки ви отримали цю інформацію, або те, що натякає, чому це може допомогти?
Ƭᴇcʜιᴇ007

2
На жаль, моє тестування показує, що цей параметр не впливає на час очікування недоступних мережевих накопичувачів. Я створив вищевказані клавіші і встановив їх значення, але я все одно чекаю те саме ~ 30 секунд (Windows 7), який я був, перш ніж його встановити (і перезавантажити).
Ƭᴇcʜιᴇ007

1
Є також: [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ LanmanWorkstation \ Parameters] "ReconnectTimeout" = dword: 00000005 знайдено тут: sevenforums.com/network-sharing/… Якщо встановити цей запис плюс ті, що передусім, до 1, здається, величезна різниця (після перезавантаження). Тепер все швидко, як і очікувалося.
Керміт

1

Це працювало мені на Windows 7, як очікувалося. Також він вирішує довго чекати після входу. Тут вставлено як .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

Це не працює 8.1
midenok

0

Відповідно до цієї публікації в Windows7Hacker , виправлення цієї проблеми на стороні клієнта передбачає редагування реєстру.

  1. Відкрийте реєстр за допомогою Regedit.exe
  2. Naviagate до HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
  3. Створіть ім'я DWORD з назвою KeepConnта встановіть його час у секундах, щоб зберегти зв’язок живим

Наприклад, я встановив його на 86400 (один день).


Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Іво Фліпс

Також, як загальне нагадування: Спробуйте зробити свої відповіді довшими за пропозицію та додайте будь-який контекст, будь ласка. Поясніть, як посилання насправді відповідає на питання - це може бути не так очевидно.
slhck

@IvoFlipse: Звичайно. Дякую за пропозицію.
deppfx

@slhck: Майте це на увазі.
deppfx

1
Це не відповідає дійсному питанню ОП, оригінальний запит був неправильно зрозумілий, див. Редагування ОП.
Ƭᴇcʜιᴇ007
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.