Войти

Показать полную графическую версию : [решено] Узнать IP, полученный по DHCP, установить его вручную


epoddubniy
20-05-2021, 16:08
Здравствуйте. Помогите пожалуйста.
Необходимо узнать локальный IP адрес текущей рабочей станции, и сделать его, установленным вручную.

Elven
20-05-2021, 17:22
Отличная идея. Приходит Вася Пупкин, включает компьютер, и тот по dhcp получает адрес находящейся в отпуске Василисы Пупковой. Но Васе на это немного плевать, главное что скрипт отработал как надо и теперь адрес прикручен гвоздями и прибит шурупами. А через пару дней выходит из отпуска Василиса (у которой аналогичный скрипт отработал еще раньше), и немного очень сильно недоумевает, почему с сетью происходят странные вещи, ведь она действительно ничего не трогала, оно само! Кроме того, лучше статические адреса выдавать из диапазона не принадлежащего ни к одному dhcp пулу.
Арендованный адрес зарезервировать в соответствующей оснастке - несколько кликов, зачем придумывается подобный костылесипед?

epoddubniy
20-05-2021, 23:32
Отличная идея. Приходит Вася Пупкин, включает компьютер, и тот по dhcp получает адрес находящейся в отпуске Василисы Пупковой. Но Васе на это немного плевать, главное что скрипт отработал как надо и теперь адрес прикручен гвоздями и прибит шурупами. А через пару дней выходит из отпуска Василиса (у которой аналогичный скрипт отработал еще раньше), и немного очень сильно недоумевает, почему с сетью происходят странные вещи, ведь она действительно ничего не трогала, оно само! Кроме того, лучше статические адреса выдавать из диапазона не принадлежащего ни к одному dhcp пулу.
Арендованный адрес зарезервировать в соответствующей оснастке - несколько кликов, зачем придумывается подобный костылесипед? »
Понятно...Не согласен с Вами Elven, .

Вкратце. После установки винды на раб станцию, нужно проделать ряд мероприятий по настройке. Например, узнать, какой Ip адрес получил комп. Это понятное дело делается через команду
ipconfig или netsh interface ipv4 show config
Затем зная ip адрес с помощью вот этих команд устанавливаю шлюз (по дефолту 192.168.7.1) и Ip адрес
netsh interface ip set address name="Ethernet" static 192.168.. 255.255.248.0 192.168.7.10
netsh interface ip set dns "Ethernet" static 192.168.7.2
netsh interface ip add dns "Ethernet" 192.168.7.12
pause
Для чего? Очень просто, чтобы не брать с неба какой-то в голову мне пришедший адрес и забирать его Василисы Пупковой или Васи Пупкина и не создавать конфликт адресов. Также это необходимо для того, чтобы выполнить обновления windows т.к. на дефолтном шлюзе файрвол и он блокирует обновления. Поэтому, эта процедура жизненно необходима.
После того, как все обновления установятся, возвращаем все на круги своя
netsh interface ip set address "Ethernet" dhcp
netsh interface ipv4 set dns name="Ethernet" dhcp
Готово.
Проблема в том, чтобы связать все это в пакетный файл.

DJ Mogarych
21-05-2021, 08:50
на дефолтном шлюзе файрвол и он блокирует обновления »
Есть два человеческих решения этой проблемы:
1. Настроить шлюз, чтобы обновления не блокировались (или ещё лучше, установить WSUS).
2. На худой конец, прописать маршрут, а не менять шлюз на тачке.

Elven
21-05-2021, 09:44
DJ Mogarych, полагаю дефолтный шлюз специально настроен так, чтобы блокировать обновления. Собственно, эту проблему тоже можно закрыть через WSUS или SCCM. Кроме того, правильно настроенный SCCM замечательно решает и ряд мероприятий по настройке. »
Но это всё лирика. Что же касается получения IP и запихивание его в переменную, то ответ легко найти поиском (http://forum.oszone.net/forumdisplay.php?f=102&filter_string=+IP+&filter_by=title). Выдает, конечно, слишком много, по такому скудному фильтру, но даже так - вариант с выдиранием IP и либо с выводом его на экран или в файл, или запихивании в переменную находится быстро весьма. Зато есть из чего выбрать как выдергивать (netsh, ipconfig, wmic, может еще несколько вариантов есть). Даже моя (http://forum.oszone.net/thread-286786.html)тема всплыла, правда мне нужно было конкретный октет в IP узнать...

После этого подставить одну переменную в и так рабочий вариант с netsh не думаю что составит много труда.

DJ Mogarych
21-05-2021, 14:03
дефолтный шлюз специально настроен так, чтобы блокировать обновления »
Это понятно. При этом, конечно, возникает альтернативный шлюз, где всё разрешено, потому что "надо работать". И вместо того, чтоб договориться с запретителями и выстроить нормальную схему работы, возникает ситуация, в которой нужно громоздить скриптовые костыли. Всё это весьма не ново.

epoddubniy
22-05-2021, 18:26
После этого подставить одну переменную в и так рабочий вариант с netsh не думаю что составит много труда. » Попробую. Спасибо.

epoddubniy
23-05-2021, 09:28
for /f "tokens=2 delims=адрес " %%i in ('netsh interface ipv4 show config ^| findstr /r "IP.*192.168.*"') do (netsh interface ip set address name="Ethernet0" static %%i 255.255.255.0 192.168.147.2) & (netsh interface ip set dns "Ethernet0" static 192.168.147.2)

вот так решил свой вопрос, на данный момент.




© OSzone.net 2001-2012