¿Cómo configuro el tiempo de espera de la red de Windows para la unidad asignada físicamente desconectada?

28

Cuando una unidad de red ( net use) se desconecta físicamente, el Explorador de Windows (y otros programas) sigue intentando enumerarlo y / o usarlo durante unos 60 segundos.

¿Hay alguna forma de reducir este tiempo de espera a quizás 5 segundos?

Solo para aclarar, no estoy preguntando sobre las unidades de red que Windows desconecta automáticamente después de un cierto período de tiempo, o sobre las reconexiones automáticas durante el inicio de sesión.

La pregunta es sobre esto:

Conecte una unidad de red a otra computadora. Luego apaga esa otra computadora. Luego intente volver a conectar la unidad de red, por ejemplo, haciendo doble clic en el Explorador de Windows → tiempo de espera muy largo. ¿Cómo reduzco este tiempo de espera?

Andreas Haferburg
fuente
2
Usted podría estar buscando esto: superuser.com/a/332754/124651
deppfx
@ Ƭᴇcʜιᴇ007 Gracias por la recompensa. Pero creo que la gente todavía no entiende. Traté de reformular la pregunta nuevamente para aclararla.
Andreas Haferburg
1
@AndreasHaferburg No hay problema, si tienes tiempo para probar algunas de las nuevas respuestas, sería útil. :)
Ƭᴇcʜιᴇ007
Ninguno de los cambios de registro sugeridos en las respuestas parece ayudar. Sospecho que el tiempo de espera que nos gustaría reducir en realidad no es un tiempo de espera de SMB, sino un tiempo de espera TCP / IP más genérico (o una combinación de varios de ellos).
mivk

Respuestas:

6

En Windows 7 y Vista, las unidades de red asignadas se desconectarán después de un tiempo y mostrarán una cruz roja en el icono de la unidad. Aún podrá hacer clic en la unidad y ver / usar los contenidos, pero las aplicaciones que requieren una unidad de red los verán desconectados y no verán los archivos. Si intenta desconectar la unidad, todavía se quedará allí diciendo 'Unidad de red desconectada'; la única solución es reiniciar. Esto se debe a que hay un tiempo de desconexión predeterminado para las conexiones de red inactivas. Para corregir esto y desactivar la desconexión automática, haga lo siguiente:

  1. Abra el símbolo del sistema como administrador. Para hacer esto, ya sea:

    • vaya a Inicio → Todos los programas → Accesorios, haga clic con el botón derecho en "Símbolo del sistema" y seleccione "Iniciar como administrador", o

    • escriba cmd en el cuadro de búsqueda y presione Ctrl+ Shift+Enter

  2. En el símbolo del sistema, escriba lo siguiente:

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

  4. Reiniciar la computadora

Las unidades de red asignadas ahora deben permanecer conectadas; esta es una solución permanente.

Krishna
fuente
44
Esto no responde a la pregunta real de los OP, la solicitud original fue mal entendida, ver la edición de OP
Ƭᴇcʜιᴇ007
Sé que no está relacionado con OP, pero esto es exactamente lo que estoy buscando, pero se me niega el acceso. Soy un administrador en mi PC.
Rick
3

Basado en http://blogs.msdn.com/b/openspecification/archive/2013/03/27/smb-2-x-and-smb-3-0-timeouts-in-windows.aspx , se parece a Windows compartir tiempo de espera es controlado por la entrada de registro "Temporizador de vencimiento de solicitud"

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

También mencionó que este valor se redujo a 20 segundos en Windows 8 SMB 3.0 para una conmutación por error rápida.

Eric Leung
fuente
3
Desafortunadamente, mis pruebas muestran que esta configuración no tiene efecto en el tiempo de espera involucrado en la espera de unidades de red no disponibles. Lo configuré en 5 segundos y todavía estoy esperando los mismos ~ 30 segundos (Windows 7) que tenía antes de configurarlo (y reiniciar).
Ƭᴇcʜιᴇ007
2

Estaba teniendo el mismo problema, pero inicialmente solo fueron alrededor de 30 segundos. Pero cuando saltó a alrededor de 2 minutos (por alguna razón desconocida), se volvió tan molesto que tuve que encontrar una manera de resolverlo.

He creado un script por lotes que prueba la red al ver si puede hacer ping en la máquina de destino, si puede, asigna las unidades (si no está asignada), de lo contrario, elimina la asignación.

@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

Luego, una tarea programada llama a ese script, que ejecuta el script cada 10 minutos, con un tiempo máximo de tarea de 10 minutos. Aunque la ventana de la consola permanece abierta durante este tiempo, actualmente estoy investigando Network Conditionsesto en la configuración del planificador, que podría configurarse para crear los recursos compartidos cuando esté conectado a la red. Sé que el recurso compartido está activado (lo que establecería un indicador), y un segundo script, que se ejecutaría una vez cada 5 minutos más o menos, que si el indicador fuera más antiguo que al menos por mucho tiempo, eliminaría los recursos compartidos, minimizando el tiempo de ventana de la consola.

topherg
fuente
44
Desafortunadamente, creo que este tipo de solución es tan buena como podemos esperar (aún, a partir de 2014), al menos cuando se trata de inicios de sesión / retrasos en el inicio del Explorer causados ​​por las unidades de red. Ten mi generosidad. Quizás podamos volver a visitarlo en un par de años más. :)
Ƭᴇcʜιᴇ007
sleepen su script no es un comando nativo. Mejor use un vbscript en este caso.
Azevedo
@ Ƭᴇcʜιᴇ007 ¿Alguna vez encontró una solución real a este problema? Tengo una unidad de red que a menudo está apagada físicamente, e intentar acceder desde una máquina cliente resulta en un retraso frustrante.
Wack Consigue el
1

Tu solución está abajo;

Elimine las largas "restauraciones de conexiones de red" al iniciar sesión (aplazar = conexiones fantasma)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]

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

"RestoreTimeout"=dword:00000005

Ghost la conexión si no responde dentro de RestoreTimeout

"DeferConnection"=dword:00000001
William Topping
fuente
1
¿Alguna fuente de dónde obtuvo esta información, o una que indique por qué podría ayudar?
Ƭᴇcʜιᴇ007
2
Desafortunadamente, mis pruebas muestran que esta configuración no tiene efecto en el tiempo de espera involucrado en la espera de unidades de red no disponibles. Creé las claves anteriores y establecí sus valores, pero todavía estoy esperando los mismos ~ 30 segundos (Windows 7) que tenía antes de configurarlo (y reiniciar).
Ƭᴇcʜιᴇ007
1
También hay: [HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ LanmanWorkstation \ Parameters] "ReconnectTimeout" = dword: 00000005 que se encuentra aquí: sevenforums.com/network-sharing/… Configurar esta entrada más las que están sobre todo en 1 parece hacer un Gran diferencia (después de reiniciar). Ahora todo es rápido como se esperaba nuevamente.
kermit
1

Esto me funcionó en Windows 7 como se esperaba. También resuelve una larga espera después de iniciar sesión. Pegado aquí como un archivo .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
fuente
Esto no funciona en 8.1
midenok
0

Según esta publicación en Windows7Hacker , solucionar este problema en el lado del cliente implica una edición del registro.

  1. Abra el registro con Regedit.exe
  2. Naviagate a HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
  3. Cree un valor DWORD con nombre KeepConny configúrelo en tiempo en segundos para mantener viva la conexión

Por ejemplo, lo configuré en 86400 (un día).

deppfx
fuente
Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
Ivo Flipse
Además, como recordatorio general: intente hacer que sus respuestas sean más largas que una oración y agregue algo de contexto, por favor. Explica cómo el enlace realmente responde a la pregunta: puede que no sea tan obvio.
slhck
@IvoFlipse: Claro. Gracias por la sugerencia
deppfx
@slhck: lo tendré en cuenta.
deppfx
1
Esto no responde a la pregunta real de los OP, la solicitud original fue mal entendida, ver la edición de OP
Ƭᴇcʜιᴇ007