Войти

Показать полную графическую версию : Узнать какой шлюз.


konst_vrn@vk
23-11-2012, 00:21
Чесн сказать подобной ахинеей озадачен впервые, но реализовать надо. В общем смысл задачи такой. Есть в конторе 2 шлюза.
Моей задачей было получить интернет с любого из них.
написал подобное:
@echo off
start /D "C:\Users" 123.bat
:dialing1
netsh interface ip set address name="LAN" static addr=192.168.0.21 mask=255.255.255.0 gateway=192.168.0.100 gwmetric=1
ping -n 3 127.0.0.1
ping -n 2 ya.ru|Find /I "TTL="||goto dialing2
exit
:dialing2
netsh interface ip set address name="LAN" static addr=192.168.0.21 mask=255.255.255.0 gateway=192.168.0.254 gwmetric=1
ping -n 3 127.0.0.1
IF ping -n 2 ya.ru|Find /I "TTL="||goto dialing1
pause
exit
Теперь надо чекнуть на что поменялся текущий шлюз и и выдать ответ (сообщение) если шлюз 192.168.0.100 - то это домолинк, если он 192.168.0.254 - это фридом.

Даже если проверка будет в отдельном скрипте, то это не проблема. Хз почему, но ничего путного сообразить сам не могу. Подскажите мне.

Iska
23-11-2012, 01:51
Теперь надо чекнуть на что поменялся текущий шлюз »
Что значит «чекнуть», если Вы сами его принудительно задаёте?

konst_vrn@vk
23-11-2012, 08:21
Iska, Ну значит, чтобы начальнице было видно, на какой интернет ее переключил мой скрипт.
Там принудительно задаются оба, но получается, что скрипт выберет тот, на котором прошел пинг. С приоритетом на 192.168.0.100.
Т.е. надо проверить какой шлюз выбрался и выполнить соответствующее действие.
--------------------
Все, всем спасибо прикрутил сам.
@echo off
:domolink
ping -n 11 127.0.0.1
ipconfig|Find /I "192.168.0.254"||goto freedom
start /D "C:\" Free.txt
cls
exit
:freedom
start /D "C:\" dom.txt
exit
pause
Почему не допер сразу не пойму.))))

ShaddyR
06-12-2012, 03:26
konst_vrn@vk, а не лучше ли менять не ip, а только dns\шлюз? А то ведь если статикой задавать - то на каждом компутере надо предварительно менять соотв. значение addr на присущее ему - морока...




© OSzone.net 2001-2012