Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Bat файл мониторинга подключения

Ответить
Настройки темы
CMD/BAT - [решено] Bat файл мониторинга подключения

Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: XXXp
Дата: 12-07-2010
Здравствуйте!
Можно ли сделать bat файл, который проверял, не отвалилась ли сеть, например пингуя гугл или яндекс и, если отвалилась, то включал подключение по локальной сети (наверное через devcon). А если все нормально, то ничего больше не делал.
Суть проблемы:
Идет автоматический сбор статистики, иногда (раз в несколько дней) слетает сеть, переходит в состояние "отключено" и больше не включается, это очень плохо, т.к. дальше все идет в тар-тара-рары и сбор заканчивается.
Требуется бат или vbs файл, который единовременно проверял бы активность подключения, в случае его отсутствия включал бы сеть, а в случае его присутствия просто бы закрывался. Заранее больше спасибо!

Отправлено: 00:59, 11-07-2010

 

Пользователь


Сообщения: 80
Благодарности: 10

Профиль | Сайт | Отправить PM | Цитировать


Да, мне бы такой очень пригодился!

-------
Ты что, опять сохраняешься? Ты разве только что не сохранялся?


Отправлено: 05:42, 11-07-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Moderator


Сообщения: 53488
Благодарности: 15516

Профиль | Отправить PM | Цитировать


XXXp, воспользуйтесь фильтрами по названию темы по подключ.



Результат

Отправлено: 11:18, 11-07-2010 | #3


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


XXXp,

вопрос лучше ставить конкретнее: какая ОС, используется ли DHCP? И зачем обращаться к "железу"?
на пробу такой вариант
(Static):

Код: Выделить весь код
Echo off&Chcp 866&cmdow @ /hid&CLS(cmdow для скрытия окна)

:Control
Set $IPaddress=10.184.92.51 & Set $Mask=255.255.252.0
Set $gateway=10.184.92.1 & Set $gwmetric=256
Set $DNS_1=192.168.248.21 & Set $DNS_2=192.168.248.21
Set stop=600000 (задержка)
ping -n 1 kremlin.ru>nul
If ErrorLevel 0 (call :stop) else (
netsh interface ipv4 delete
netsh interface ipv4 set address "Local Area Connection" ^
static %$IPaddress% %$Mask% %$gateway% %$gwmetric%
netsh interface ipv4 set dns "Local Area Connection" ^
static %$DNS_1%
netsh interface ipv4 add dns "Local Area Connection" ^
static %$DNS_2%
snetsh interface ipv4 how config)

:stop
ping -n 2 -w %stop%  kremlin.ru>nul
goto control
Если используется DHCP, то:
Код: Выделить весь код
netsh interface ipv4  delete
snetsh interface ipv4 et address "Local Area Connection"  source=dhcp
snetsh interface ipv4 et dns «Local Area Connection» dhcp
Информация: cmdow и Netsh

Последний раз редактировалось deepred, 13-07-2010 в 00:05. Причина: уточнение

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:00, 11-07-2010 | #4


Пользователь


Сообщения: 103
Благодарности: 0

Профиль | Отправить PM | Цитировать


Код не работает, суть совсем другая, нужно чтобы включал подключение по локальной сети, которое становится "выключено", а насколько я пока смог узнать это может только devcon

Последний раз редактировалось XXXp, 12-07-2010 в 17:16.


Отправлено: 16:55, 12-07-2010 | #5


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


XXXp,
Цитата XXXp:
Код не работает, суть совсем другая...
читать дальше »
, нужно чтобы включал подключение по локальной сети, которое становится "выключено", а насколько я пока смог узнать это может только devcon
1. Devcon оперирует двумя состояниями устройств: "устройство используется" и "устройство отключено"
2. Если же само подключение имеет статус "Отключено", то не факт, что Devcon его не включит (специально проверил на двух PC!!!) и к тому же команда devcon restart сносит все настройки поключения (для STAT IP)
3. Для работы с частью *net* требуются утилиты netsh, ping, tracert и ipconfig, манипуляции непосредственно с подключением
позволяет осуществлять только netsh...

PS: Непосредственно (но без цикла проверки) этот код использую сам для переподключения после зависания маршрутизатора - все работает на "Ура"!



Последний раз редактировалось deepred, 13-07-2010 в 00:07.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:37, 12-07-2010 | #6


Пользователь


Сообщения: 140
Благодарности: 92

Профиль | Отправить PM | Цитировать


XXXp,
Решение для devcon, попробуй так:

Код: Выделить весь код
Echo Off& Chcp 866
Echo.
ping -n 1 kremlin.ru>nul

If errorlevel 1 ((
for /f "tokens=2 delims=&" %%a in ('devcon listclass net') ^
do (
devcon disable *%%a* >nul
devcon enable *%%a*  >nul
)
Echo Connection restarted !)) else (Echo Connection available!)
Echo.
Echo Push anykey to close
pause>nul
goto :eof
И вариант управления под WSH:

Код: Выделить весь код
Set WshShell = CreateObject("WScript.Shell")
    RetCode = WshShell.Run("ping -n 1 kremlin.ru", 0, True)

If RetCode = 1 Then

strNetConn = "Сетевые подключения"
strConn = "Подключение по локальной сети"
strEnable = "&Включить"
strDisable = "&Отключить"

Set objShell = CreateObject("Shell.Application")
Set objCP = objShell.Namespace(3)
For Each elem in objCP.Items
If elem.Name = strNetConn Then

Set colNetwork = elem.GetFolder
Exit For
End If
Next

Set Conn = Nothing
For Each clsConn in colNetwork.Items
If Instr(LCase(clsConn.name), LCase(strConn)) Then
Set Conn = clsConn
Exit For
End If
Next
If Conn Is Nothing Then
WScript.Echo "Network Connection not found"
WScript.Quit
End If

bEnabled = True
Set objEnable = Nothing
Set objDisable = Nothing
For Each clsVerb in Conn.verbs

If clsVerb.Name = strEnable Then
Set objEnable = clsVerb
bEnabled = False
End If

If clsVerb.name = strDisable Then
Set objDisable = clsVerb
End If
Next

objEnable.DoIt
strStatus = "enabled."
WScript.Sleep 1000     
End If
     WScript.Sleep 1000

Wscript.quit (1)

Последний раз редактировалось deepred, 14-07-2010 в 14:33.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:13, 12-07-2010 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Bat файл мониторинга подключения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Bat файл - рестартер DimankoR Скриптовые языки администрирования Windows 4 08-07-2010 10:37
командный файл(.bat) gh6 Хочу все знать 5 24-10-2006 11:59
CMD/BAT - Народ help me...Bat-файл SeregaSp Скриптовые языки администрирования Windows 2 07-06-2006 11:55
CMD/BAT - про bat файл NAR Скриптовые языки администрирования Windows 6 04-10-2004 00:08
Bat-файл dallas Хочу все знать 12 21-06-2004 12:38




 
Переход