Como defino o tempo limite da rede do Windows para uma unidade mapeada fisicamente desconectada?

25

Quando uma unidade de rede ( net use ) está fisicamente desconectada, o Windows Explorer (e outros programas) é mantido tentando enumerar e / ou usá-lo por talvez 60 segundos.

Existe alguma maneira de reduzir esse tempo limite para talvez 5 segundos?

Só para esclarecer, não estou perguntando sobre unidades de rede que são desconectadas automaticamente pelo Windows após um determinado período de tempo ou sobre reconexões automáticas durante o login.

A pergunta é sobre isso:

Conecte uma unidade de rede a outro computador. Em seguida, desligue esse outro computador. Em seguida, tente reconectar a unidade de rede, por exemplo, clicando duas vezes no Windows Explorer → muito tempo limite. Como faço para reduzir esse tempo limite?

    
por Andreas Haferburg 26.07.2012 / 09:50

6 respostas

5

No Windows 7 e nas unidades de rede mapeadas do Vista, elas se desconectarão após um tempo e exibirão uma cruz vermelha no ícone da unidade. Você ainda poderá clicar na unidade e ver / usar o conteúdo, mas os aplicativos que exigem uma unidade de rede os verão como desconectados e não verão os arquivos. Se você tentar desconectar a unidade, ela ainda ficará lá, dizendo 'Disconnected Network Drive' - a única solução é reinicializar. Isso ocorre porque há um tempo de desconexão padrão para conexões de rede inativas. Para corrigir isso e desativar a autodisconnect, faça o seguinte:

  1. Abra o prompt de comando como administrador. Para fazer isso:

    • vá para Iniciar → Todos os programas → Acessórios, clique com o botão direito do mouse em "Prompt de comando" e selecione "Iniciar como administrador" ou

    • digite cmd na caixa de pesquisa e pressione Ctrl + Deslocar + Inserir

  2. No comando prompty, digite o seguinte:

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

  4. Reinicie o computador

Suas unidades de rede mapeadas agora devem permanecer conectadas - essa é uma correção permanente.

    
por 26.12.2013 / 12:31
2

Eu estava tendo o mesmo problema, mas inicialmente foram apenas cerca de 30 segundos. Mas quando saltou para cerca de 2 minutos (por alguma razão desconhecida), ficou tão chato que tive que encontrar uma maneira de resolvê-lo.

Eu criei um script em lote que testa a rede, verificando se ela pode fazer ping na máquina de destino; se puder, ela mapeia as unidades (se não for mapeada); caso contrário, excluirá o mapeamento.

@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

Esse script é chamado por uma tarefa agendada, que executa o script a cada 10 minutos, com um tempo máximo de 10 minutos. Embora a janela do console permaneça aberta durante esse tempo, estou investigando o Network Conditions para isso nas configurações do agendador, o que poderia ser definido para criar os compartilhamentos quando conectado à rede na qual eu sei que o compartilhamento está (o que definiria um flag), e um segundo script, que seria executado uma vez a cada 5 minutos, que se o sinal fosse mais antigo que pelo menos por mais tempo, ele excluiria os compartilhamentos, minimizando o tempo da janela do console.

    
por 16.12.2014 / 20:41
1

Com base em link , parece que o timeout do compartilhamento do Windows é controlado pela entrada de registro" Request Expiration Timer ".

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

Ele também mencionou esse valor reduzido para 20s no Windows 8 SMB 3.0 para failover rápido.

    
por 10.12.2014 / 17:25
1

Sua solução está abaixo;

Mate a longa "restauração de conexões de rede" no logon (defer = conexões fantasmas)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]

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

"RestoreTimeout"=dword:00000005

Fantasie a conexão se não estiver respondendo em RestoreTimeout

"DeferConnection"=dword:00000001
    
por 15.12.2014 / 15:28
0

De acordo com este post em Windows7Hacker , corrigir este problema no lado do cliente envolve uma edição de registro.

  1. Abra o registro com Regedit.exe
  2. Naviagate para HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
  3. Crie um valor DWORD denominado KeepConn e defina-o como hora em segundos para manter a conexão ativa

Por exemplo, eu o defino como 86400 (um dia).

    
por 26.07.2012 / 10:55
0

Isso funcionou para mim no Windows 7, como esperado. Também resolve uma longa espera após o login. Colado aqui como um arquivo .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
    
por 28.11.2016 / 15:04