Lorsqu'un lecteur réseau ( Net Use
) est physiquement déconnecté, l'Explorateur Windows (et d'autres programmes) continue d'essayer de l'énumérer et/ou de l'utiliser pendant environ 60 secondes.
Est-il possible de réduire ce délai à peut-être 5 secondes?
Juste pour clarifier, je ne parle pas des lecteurs réseau qui sont automatiquement déconnectés par Windows après un certain temps, ni des reconnexions automatiques lors de la connexion.
La question est à ce sujet:
Connectez un lecteur réseau à un autre ordinateur. Puis éteignez cet autre ordinateur. Essayez ensuite de reconnecter le lecteur réseau, par exemple en double-cliquant dans l'explorateur Windows → très long délai d'attente. Comment puis-je réduire ce délai?
Sous Windows 7 et Vista, les lecteurs réseau mappés se déconnectent après un certain temps et affichent une croix rouge sur l'icône du lecteur. Vous pourrez toujours cliquer sur le lecteur et voir/utiliser le contenu, mais les applications nécessitant un lecteur réseau les verront comme déconnectées et ne verront pas les fichiers. Si vous essayez de déconnecter le lecteur, le message "Disque réseau déconnecté" reste affiché. La seule solution consiste à redémarrer l'ordinateur. En effet, il existe une heure de déconnexion par défaut pour les connexions réseau inactives. Pour corriger cela et désactiver la déconnexion automatique, procédez comme suit:
Ouvrez l'invite de commande en tant qu'administrateur. Pour ce faire, soit:
cliquez sur Démarrer → Tous les programmes → Accessoires, cliquez avec le bouton droit de la souris sur "Invite de commandes", puis sélectionnez "Démarrer en tant qu'administrateur".
tapez cmd dans le champ de recherche et appuyez sur Ctrl+Shift+Enter
Dans l'invite de commande, tapez ce qui suit:
net config server /autodisconnect:-1
Presse Enter
Redémarrer l'ordinateur
Vos lecteurs réseau mappés devraient maintenant rester connectés. Il s'agit d'un correctif permanent.
J'avais le même problème, mais au début, ce n'était qu'environ 30 secondes. Mais quand ça a sauté à environ 2 minutes (pour une raison inconnue), ça a été tellement énervant que j'ai dû trouver un moyen de le résoudre.
J'ai créé un script batch qui teste le réseau en vérifiant s'il peut envoyer un ping à la machine cible. S'il le peut, il mappe les lecteurs (s'il n'est pas mappé), sinon il supprime le mappage.
@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
Ce script est ensuite appelé par une tâche planifiée, qui l'exécute toutes les 10 minutes, avec une durée de tâche maximale de 10 minutes. Bien que la fenêtre de la console reste ouverte pendant ce temps, j’examine actuellement le Network Conditions
dans les paramètres du planificateur, ce qui pourrait être défini pour créer les partages lorsqu’il est connecté au réseau. Je sais que le partage est activé (ce qui définirait un indicateur). et un second script, qui s’exécutait une fois toutes les 5 minutes environ, et qui, si l’indicateur était plus ancien qu’au moins longtemps, effacerait les partages, ce qui réduirait la durée de la fenêtre de console.
Votre solution est ci-dessous;
Kill the long "restauration des connexions réseau" à l'ouverture de session (différer = connexions fantômes)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider]
"RestoreConnection"=dword:00000001 ;(0=no attempt, you must click it)
"RestoreTimeout"=dword:00000005
Ghost la connexion si elle ne répond pas dans RestoreTimeout
"DeferConnection"=dword:00000001
Basé sur http://blogs.msdn.com/b/openspecification/archive/2013/03/27/smb-2-x-and-smb-3-0-timeouts-in -windows.aspx , on dirait que le délai d'expiration du partage Windows est contrôlé par l'entrée de registre "Request Expiration Timer".
\HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\
Value type: Dword
Value name: SessTimeout
Default: 60 seconds (Windows Vista)
Il a également mentionné cette valeur réduite à 20 secondes dans Windows 8 SMB 3.0 pour un basculement rapide.
Selon ce message sur Windows7Hacker , la résolution de ce problème côté client implique une modification du registre.
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
KeepConn
et définissez-la sur time en secondes pour maintenir la connexion activePar exemple, je le fixe à 86400 (un jour).
Cela a fonctionné pour moi sur Windows 7 comme prévu. En outre, cela résout une longue attente après la connexion. Collé ici en tant que fichier .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