Kiedy dysk sieciowy ( net use
) jest fizycznie odłączony, Eksplorator Windows (i inne programy) próbuje wyliczyć i / lub użyć go przez może 60 sekund.
Czy jest jakiś sposób na skrócenie tego limitu czasu do 5 sekund?
Aby wyjaśnić, nie pytam o dyski sieciowe, które są automatycznie odłączane przez system Windows po pewnym czasie, ani o automatyczne ponowne połączenia podczas logowania.
Pytanie dotyczy tego:
Podłącz dysk sieciowy do innego komputera. Następnie wyłącz ten drugi komputer. Następnie spróbuj ponownie podłączyć dysk sieciowy, np. Klikając dwukrotnie w Eksploratorze Windows → bardzo długi limit czasu. Jak skrócić ten limit czasu?
windows-7
windows
networking
Andreas Haferburg
źródło
źródło
Odpowiedzi:
W systemach Windows 7 i Vista zmapowane dyski sieciowe odłączą się po pewnym czasie i pokażą czerwony krzyżyk na ikonie dysku. Nadal będziesz mógł kliknąć dysk i zobaczyć / użyć zawartości, ale aplikacje wymagające dysku sieciowego będą widzieć je jako odłączone i nie będą widzieć plików. Jeśli spróbujesz odłączyć dysk, nadal będzie tam mówił „Disconnected Network Drive” - jedynym rozwiązaniem jest ponowne uruchomienie. Wynika to z domyślnego czasu rozłączenia nieaktywnych połączeń sieciowych. Aby to naprawić i wyłączyć automatyczne rozłączanie, wykonaj następujące czynności:
Otwórz wiersz polecenia jako Administrator. Aby to zrobić:
przejdź do Start → Wszystkie programy → Akcesoria, kliknij prawym przyciskiem myszy „Wiersz polecenia” i wybierz „Rozpocznij jako administrator” lub
wpisz cmd w polu wyszukiwania i naciśnij Ctrl+ Shift+Enter
W wierszu polecenia wpisz następujące polecenie:
naciśnij Enter
Restart komputera
Zmapowane dyski sieciowe powinny teraz pozostawać w kontakcie - jest to stała poprawka.
źródło
Na podstawie http://blogs.msdn.com/b/openspecification/archive/2013/03/27/smb-2-x-and-smb-3-0-timeouts-in-windows.aspx wyglądają jak Windows limit czasu udostępniania jest kontrolowany przez wpis rejestru „Timer wygaśnięcia żądania”.
Wspomniał także o tej wartości zmniejszonej do 20s w Windows 8 SMB 3.0 dla szybkiego przełączania awaryjnego.
źródło
Miałem ten sam problem, ale początkowo było to tylko około 30 sekund. Ale kiedy przeskoczył do około 2 minut (z jakiegoś nieznanego powodu), stał się tak irytujący, że musiałem znaleźć sposób na jego rozwiązanie.
Utworzyłem skrypt wsadowy, który testuje sieć, sprawdzając, czy może pingować maszynę docelową, jeśli to możliwe, mapuje dyski (jeśli nie są mapowane), w przeciwnym razie usuwa mapowanie.
Ten skrypt jest następnie wywoływany przez zaplanowane zadanie, które uruchamia skrypt co 10 minut, przy maksymalnym czasie zadania 10 minut. Mimo że okno konsoli pozostaje otwarte w tym czasie, obecnie badam
Network Conditions
to w ustawieniach harmonogramu, które można ustawić tak, aby tworzyły udziały po podłączeniu do sieci. Wiem, że udział jest włączony (co ustawiłoby flagę), oraz drugi skrypt, który uruchamiałby się raz na mniej więcej 5 minut, który jeśli flaga byłaby starsza niż przynajmniej jakkolwiek długa, usuwałaby udziały, minimalizując czas okna konsoli.źródło
sleep
w twoim skrypcie nie jest poleceniem natywnym. W takim przypadku lepiej użyć vbscript.Twoje rozwiązanie jest poniżej;
Zabij długie „przywracanie połączeń sieciowych” przy logowaniu (odłożenie = zamglone połączenia)
Ghost połączenie, jeśli nie odpowiada w środku
RestoreTimeout
źródło
Działa to dla mnie w systemie Windows 7 zgodnie z oczekiwaniami. Rozwiązuje również długie oczekiwanie po zalogowaniu. Wklejono tutaj jako plik .reg:
źródło
Zgodnie z tym postem na Windows7Hacker , naprawienie tego problemu po stronie klienta wymaga edycji rejestru.
HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
KeepConn
i ustaw czas w sekundach, aby połączenie pozostało aktywneNa przykład ustawiłem go na 86400 (jeden dzień).
źródło