Теперь он работает все хорошо и денди, но когда область затопляется с трафиком (межгосударственная резервное копирование, например), соединение, кажется, тайм-аут и остаться отвечать на запросы, пока я не отключить, а затем снова сотовый адаптер от сети сотовой передачи данных. Который, в свою очередь, требует от меня, чтобы отключить мой VPN сервис (OpenVPN) до и подключите его после отключения сотового, а также.
Со временем это указал мне на проблемы с обработкой соединения на моем локальном узле. Так; как же я это исправить? То же самое, как и все остальное в моей жизни ..... пакетный файл. Если бы я работал в сотовой связи; Я бы зафиксировать реальную проблему. До это неподвижное, у меня есть это.
Они принадлежат в корне C: \ Да; Поскольку администратор собств необходимо в любом случае.
Требуется Windows Powershell. (Как правило, встроенные в окно)
BETA TEST VERSION Переоформлены некоторые вещи. Измененное разъединение / воссоединиться, чтобы требовать только один файла для всей партии. Теперь есть сценарий PowerShell для людей с OpenVPN, что правильно и аккуратно закрывает соединение и приложение. Это для неактивных систем; как есть "на первом плане было отправлено" ввести ключ в сценарий Powershell, чтобы закрыть диалог. Сценарий PowerShell может быть опущен, и ваш собственный VPN строка вставляется в место, если вы не используете OpenVPN (см почтовое комментарий только несколько ниже верхнего поста для примера). До сих пор проверено на Win7 x64 и Win 10 x64.
C: \ rebooter.bat
Код:
@ECHO OFF
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
SET СЧЕТ1 = 0
SET count2 = 0
SET COUNT3 = 0
SET COUNT4 = 0
SET COUNT5 = 0
SET COUNT6 = 0
SET COUNT7 = 0
НАБОР С1 = 47.35.23.146
SET С2 = www.google.com
SET С3 = www.microsoft.com
SET С4 = www.facebook.com
SET C5 = www.myspace.com
SET C6 = sfbay.craigslist.org
SET C7 = garlic.com
SET REBOOTCOUNT = 0
GOTO FirstStart
:НАЧАЛО
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
: FirstStart
ЦБС
ECHO Ping петли с последней перезагрузки:% OVERALLCOUNT%
ECHO Не удалось пинги с последней перезагрузки:% FAILEDPINGS%
ECHO Общее количество netReboots:% REBOOTCOUNT%
ECHO.
ECHO Всего Ping Разбивка:
ECHO.
ЭХО% СЧЕТ1%:% С1%
ЭХО% count2%:% C2%
ЭХО% COUNT3%:% C3%
ECHO% COUNT4%:% C4%
ECHO% COUNT5%:% C5%
ЭХО% COUNT6%:% C6%
ECHO% COUNT7%:% C7%
Выбор / с д / п / т 60 / д кв
пинг% С1% -n 1 -w 5000
SET / A = СЧЕТ1% СЧЕТ1% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C2% -n 1 -w 5000
SET / A = count2% count2% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C3% -n 1 -w 5000
SET / A = COUNT3% COUNT3% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C4% -n 1 -w 5000
SET / A = COUNT4% COUNT4% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C5% -n 1 -w 5000
SET / A = COUNT5% COUNT5% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C6% -n 1 -w 5000
SET / A = COUNT6% COUNT6% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C7% -n 1 -w 5000
SET / отсчету =% COUNT7% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% С1% -n 1 -w 5000
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
:ПРЫГАТЬ
ECHO подключение к Интернету вниз, Перезапуск сотового адаптера ...
SET / A = REBOOTCOUNT% REBOOTCOUNT% + 1
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
-ExecutionPolicy байпас PowerShell -file "C: \ closeVPN.ps1"
IPCONFIG / flushdns
Набор интерфейса Netsh интерфейса "Сотовая связь" ОТКЛЮЧЕН
Набор интерфейса Netsh интерфейса "Сотовая связь" ВКЛЮЧЕНО
ECHO Перезапуск VPN Service ...
START C: \ Progra ~ 1 \ OpenVPN \ Bin \ OpenVPN-gui.exe --connect JaredKaragen.ovpn
ECHO VPN Service Started.
Выбор / с д / п / т 5 / д кв
GOTO START
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
SET СЧЕТ1 = 0
SET count2 = 0
SET COUNT3 = 0
SET COUNT4 = 0
SET COUNT5 = 0
SET COUNT6 = 0
SET COUNT7 = 0
НАБОР С1 = 47.35.23.146
SET С2 = www.google.com
SET С3 = www.microsoft.com
SET С4 = www.facebook.com
SET C5 = www.myspace.com
SET C6 = sfbay.craigslist.org
SET C7 = garlic.com
SET REBOOTCOUNT = 0
GOTO FirstStart
:НАЧАЛО
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
: FirstStart
ЦБС
ECHO Ping петли с последней перезагрузки:% OVERALLCOUNT%
ECHO Не удалось пинги с последней перезагрузки:% FAILEDPINGS%
ECHO Общее количество netReboots:% REBOOTCOUNT%
ECHO.
ECHO Всего Ping Разбивка:
ECHO.
ЭХО% СЧЕТ1%:% С1%
ЭХО% count2%:% C2%
ЭХО% COUNT3%:% C3%
ECHO% COUNT4%:% C4%
ECHO% COUNT5%:% C5%
ЭХО% COUNT6%:% C6%
ECHO% COUNT7%:% C7%
Выбор / с д / п / т 60 / д кв
пинг% С1% -n 1 -w 5000
SET / A = СЧЕТ1% СЧЕТ1% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C2% -n 1 -w 5000
SET / A = count2% count2% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C3% -n 1 -w 5000
SET / A = COUNT3% COUNT3% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C4% -n 1 -w 5000
SET / A = COUNT4% COUNT4% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C5% -n 1 -w 5000
SET / A = COUNT5% COUNT5% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C6% -n 1 -w 5000
SET / A = COUNT6% COUNT6% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C7% -n 1 -w 5000
SET / отсчету =% COUNT7% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% С1% -n 1 -w 5000
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
:ПРЫГАТЬ
ECHO подключение к Интернету вниз, Перезапуск сотового адаптера ...
SET / A = REBOOTCOUNT% REBOOTCOUNT% + 1
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
-ExecutionPolicy байпас PowerShell -file "C: \ closeVPN.ps1"
IPCONFIG / flushdns
Набор интерфейса Netsh интерфейса "Сотовая связь" ОТКЛЮЧЕН
Набор интерфейса Netsh интерфейса "Сотовая связь" ВКЛЮЧЕНО
ECHO Перезапуск VPN Service ...
START C: \ Progra ~ 1 \ OpenVPN \ Bin \ OpenVPN-gui.exe --connect JaredKaragen.ovpn
ECHO VPN Service Started.
Выбор / с д / п / т 5 / д кв
GOTO START
C: \ closevpn.ps1
Код:
$ Сиг = @"
[DllImport ( `"user32.dll`")]
общественности статической ехЬегп IntPtr FindWindow (строка имя класса, IntPtr useZero);
[DllImport ( `"user32.dll`")]
открытый статический ехЬегп INT SendMessage (IntPtr HWND, UINT тзд, IntPtr WPARAM, IntPtr LPARAM);
[DllImport ( `"user32.dll`")]
общественности статической ехЬегп недействительного keybd_event (Байты БКИ, Байты BSCAN, UInt32 dwFlags, UInt32 dwExtraInfo);
[DllImport ( `"user32.dll`")]
открытый статический ехЬегп INT PostMessage (IntPtr HWND, UINT тзд, IntPtr WPARAM, IntPtr LPARAM);
"@
$ Win32_methods = Add-Type -MemberDefinition $ сиг -Name "Win32FindWindow" -Namespace Win32Functions -PassThru
$ Ч = $ win32_methods :: FindWindow ("OpenVPN-GUI", 0)
$ win32_methods :: PostMessage ($ ч, 0x10, 0, 0)
сон 1
##### имитируют ввести ключ вниз VK_ENTER = 0xD, скан-код = 0x9C
$ Win32_methods :: keybd_event (0xD, 0x9C, 0, 0)
##### имитации ввода ключа вверх: для этого изменить флаги KEYEVENTF_KEYUP = 0x2
win32_methods $ :: keybd_event (0xD, 0x9C, 0х2, 0)
[DllImport ( `"user32.dll`")]
общественности статической ехЬегп IntPtr FindWindow (строка имя класса, IntPtr useZero);
[DllImport ( `"user32.dll`")]
открытый статический ехЬегп INT SendMessage (IntPtr HWND, UINT тзд, IntPtr WPARAM, IntPtr LPARAM);
[DllImport ( `"user32.dll`")]
общественности статической ехЬегп недействительного keybd_event (Байты БКИ, Байты BSCAN, UInt32 dwFlags, UInt32 dwExtraInfo);
[DllImport ( `"user32.dll`")]
открытый статический ехЬегп INT PostMessage (IntPtr HWND, UINT тзд, IntPtr WPARAM, IntPtr LPARAM);
"@
$ Win32_methods = Add-Type -MemberDefinition $ сиг -Name "Win32FindWindow" -Namespace Win32Functions -PassThru
$ Ч = $ win32_methods :: FindWindow ("OpenVPN-GUI", 0)
$ win32_methods :: PostMessage ($ ч, 0x10, 0, 0)
сон 1
##### имитируют ввести ключ вниз VK_ENTER = 0xD, скан-код = 0x9C
$ Win32_methods :: keybd_event (0xD, 0x9C, 0, 0)
##### имитации ввода ключа вверх: для этого изменить флаги KEYEVENTF_KEYUP = 0x2
win32_methods $ :: keybd_event (0xD, 0x9C, 0х2, 0)
* Обновлён 6 / 14/2017 * Вымытый код и добавлены счетчики с дисплеем. Обновление значений таймера и упростили избыточность.
C: \ netWatch.bat
Код:
@ECHO OFF
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
SET СЧЕТ1 = 0
SET count2 = 0
SET COUNT3 = 0
SET COUNT4 = 0
SET COUNT5 = 0
SET COUNT6 = 0
SET COUNT7 = 0
НАБОР С1 = 10.8.0.1
SET С2 = www.google.com
SET С3 = www.microsoft.com
SET С4 = www.facebook.com
SET C5 = www.myspace.com
SET C6 = sfbay.craigslist.org
SET C7 = garlic.com
SET REBOOTCOUNT = 0
GOTO FirstStart
:НАЧАЛО
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
: FirstStart
ЦБС
ECHO Ping рассчитывать с последней перезагрузки:% OVERALLCOUNT%
ECHO Не удалось пинги с последней перезагрузки:% FAILEDPINGS%
ECHO Общее количество netReboots:% REBOOTCOUNT%
ECHO.
ECHO Всего Ping Разбивка:
ECHO.
ЭХО% СЧЕТ1%:% С1%
ЭХО% count2%:% C2%
ЭХО% COUNT3%:% C3%
ECHO% COUNT4%:% C4%
ECHO% COUNT5%:% C5%
ЭХО% COUNT6%:% C6%
ECHO% COUNT7%:% C7%
Выбор / с д / п / т 60 / д кв
пинг% С1% -n 1 -w 1000
SET / A = СЧЕТ1% СЧЕТ1% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C2% -n 1 -w 1000
SET / A = count2% count2% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C3% -n 1 -w 1000
SET / A = COUNT3% COUNT3% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C4% -n 1 -w 1000
SET / A = COUNT4% COUNT4% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C5% -n 1 -w 1000
SET / A = COUNT5% COUNT5% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C6% -n 1 -w 1000
SET / A = COUNT6% COUNT6% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C7% -n 1 -w 1000
SET / отсчету =% COUNT7% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% С1% -n 1 -w 1000
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
ECHO подключение к Интернету вниз, Перезапуск сотового адаптера ...
SET / A = REBOOTCOUNT% REBOOTCOUNT% + 1
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
START C: \ netReset.bat
Выбор / с д / п / т 120 / д кв
GOTO START
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
SET СЧЕТ1 = 0
SET count2 = 0
SET COUNT3 = 0
SET COUNT4 = 0
SET COUNT5 = 0
SET COUNT6 = 0
SET COUNT7 = 0
НАБОР С1 = 10.8.0.1
SET С2 = www.google.com
SET С3 = www.microsoft.com
SET С4 = www.facebook.com
SET C5 = www.myspace.com
SET C6 = sfbay.craigslist.org
SET C7 = garlic.com
SET REBOOTCOUNT = 0
GOTO FirstStart
:НАЧАЛО
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
: FirstStart
ЦБС
ECHO Ping рассчитывать с последней перезагрузки:% OVERALLCOUNT%
ECHO Не удалось пинги с последней перезагрузки:% FAILEDPINGS%
ECHO Общее количество netReboots:% REBOOTCOUNT%
ECHO.
ECHO Всего Ping Разбивка:
ECHO.
ЭХО% СЧЕТ1%:% С1%
ЭХО% count2%:% C2%
ЭХО% COUNT3%:% C3%
ECHO% COUNT4%:% C4%
ECHO% COUNT5%:% C5%
ЭХО% COUNT6%:% C6%
ECHO% COUNT7%:% C7%
Выбор / с д / п / т 60 / д кв
пинг% С1% -n 1 -w 1000
SET / A = СЧЕТ1% СЧЕТ1% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% C2% -n 1 -w 1000
SET / A = count2% count2% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C3% -n 1 -w 1000
SET / A = COUNT3% COUNT3% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C4% -n 1 -w 1000
SET / A = COUNT4% COUNT4% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C5% -n 1 -w 1000
SET / A = COUNT5% COUNT5% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C6% -n 1 -w 1000
SET / A = COUNT6% COUNT6% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
Выбор / с д / п / т 5 / д кв
пинг% C7% -n 1 -w 1000
SET / отсчету =% COUNT7% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
пинг% С1% -n 1 -w 1000
SET / A = OVERALLCOUNT% OVERALLCOUNT% + 1
если не Errorlevel 1 (GOTO START)
SET / A = FAILEDPINGS% FAILEDPINGS% + 1
ECHO подключение к Интернету вниз, Перезапуск сотового адаптера ...
SET / A = REBOOTCOUNT% REBOOTCOUNT% + 1
SET OVERALLCOUNT = 0
SET FAILEDPINGS = 0
START C: \ netReset.bat
Выбор / с д / п / т 120 / д кв
GOTO START
C: \ netReset.bat
Код:
@ECHO OFF
FOR / F %% х IN ( 'TaskList / NH / FI "ImageName экв OpenVPN-gui.exe"«) DO IF %% х == OpenVPN-gui.exe Taskkill / F / IM OpenVPN-gui.exe
FOR / F %% х IN ( 'TaskList / NH / FI "ImageName экв openvpn.exe"«) DO IF %% х == openvpn.exe Taskkill / F / IM openvpn.exe
FOR / F %% х IN ( 'TaskList / NH / FI "ImageName экв openvpnserv.exe"«) DO IF %% х == openvpnserv.exe Taskkill / F / IM openvpnserv.exe
Выбор / с д / п / т 1 / д кв
-command PowerShell "Restart-NetAdapter -Name "Сотовая связь""
ECHO Перезапуск VPN Service ...
START C: \ Progra ~ 1 \ OpenVPN \ Bin \ OpenVPN-gui.exe --connect JaredKaragen.ovpn
ECHO VPN Service Started.
ВЫХОД
FOR / F %% х IN ( 'TaskList / NH / FI "ImageName экв OpenVPN-gui.exe"«) DO IF %% х == OpenVPN-gui.exe Taskkill / F / IM OpenVPN-gui.exe
FOR / F %% х IN ( 'TaskList / NH / FI "ImageName экв openvpn.exe"«) DO IF %% х == openvpn.exe Taskkill / F / IM openvpn.exe
FOR / F %% х IN ( 'TaskList / NH / FI "ImageName экв openvpnserv.exe"«) DO IF %% х == openvpnserv.exe Taskkill / F / IM openvpnserv.exe
Выбор / с д / п / т 1 / д кв
-command PowerShell "Restart-NetAdapter -Name "Сотовая связь""
ECHO Перезапуск VPN Service ...
START C: \ Progra ~ 1 \ OpenVPN \ Bin \ OpenVPN-gui.exe --connect JaredKaragen.ovpn
ECHO VPN Service Started.
ВЫХОД
Для создания этих файлов, откройте окно командной строки с правами администратора, перейдите в корневой каталог "C: \" И тип "блокнота netWatch.bat", Когда блокнот нагрузка он скажет вам, что файл не найден, и спросить, если вы хотите создать его .... это как. Убедитесь, что вы не сохраните его в виде текстового файла.
Для запуска netWatch.bat и netReset.bat, вам необходимы права администратора.
Вы должны создать .LNK для случайного файла; и указывают, что новый .LNK в пакетном файле "netWatch.bat", И в "Расширенные опции" установите флажок, чтобы его "Запустить от имени администратора", Там нет никакого способа, чтобы выполнить эту команду Powershell без администратора собств.
Используйте этот новый .LNK запустить netWatch.bat
У меня было несколько сумасшедших вопросов, я не могу объяснить, что требовало меня, чтобы запустить партию в очень странным образом (одна партия запуска другой), потому что, когда он достигнет конца цикла (после того, как с помощью PowerShell), PowerShell не кажется, когда-либо близки чисто и он оставит меня в приглашении; вместо зацикливания на начало кода. Таким образом, причина, похоже, что. Все хорошо, он работает до сих пор.
Чтобы настроить это для вашего адаптера и посетить "Сеть: Изменение параметров адаптера" окно, в котором перечислены активные и неактивные сетевые адаптеры. Дайте ему имя сейчас или использовать текущий, просто знаю, что это точное название.
Шахта в партии является "Сотовая связь",
Иногда это "Ethernet 2", "беспроводной" и т.д....
если вы не используете OpenVPN ... Я предлагаю закомментировать эти строки через добавление "REM " перед этими линиями netReset.bat или удаление их. Я могу помочь вам, если это необходимо.
Вы можете увидеть, как первичные партии пингов несколько разных места, и если есть правильный ответ по пути, он начинает снова и ждет, чтобы проверить еще раз.
Вы можете использовать свой собственный выбор для IP-адресов / доменных имен.
В целом, это должно быть довольно чистый шаблон для создания инструмента перезагрузки адаптера сети. Это SOOOOOOO приятно, что моя машина автоматически устанавливает себя теперь, когда я не дома. Он работал и сделал свою работу уже несколько раз ... Я думаю, что раз нужно быть удлинен ... но есть какая-то очень странное поведение, когда мой сетевой адаптер необходим сброс. иногда один горняк остается в режиме онлайн; но я не могу посещать любые веб-страницы на нем или использовать Интернет на любой другой машине .... очень странные вещи; или нет ответа пинг пока он не может по-прежнему запрос DNS для IP свистеть .... (и все кэширование DNS удаляется на всей моей сети цепи, так его определенно не кэшируются). Ее была болью; но часто не случается .... обычно ...