Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Узнать IP, полученный по DHCP, установить его вручную (http://forum.oszone.net/showthread.php?t=348818)

epoddubniy 20-05-2021 16:08 2958529

Узнать IP, полученный по DHCP, установить его вручную
 
Здравствуйте. Помогите пожалуйста.
Необходимо узнать локальный IP адрес текущей рабочей станции, и сделать его, установленным вручную.

Elven 20-05-2021 17:22 2958536

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

epoddubniy 20-05-2021 23:32 2958565

Цитата:

Цитата Elven
Отличная идея. Приходит Вася Пупкин, включает компьютер, и тот по 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 2958575

Цитата:

Цитата epoddubniy
на дефолтном шлюзе файрвол и он блокирует обновления »

Есть два человеческих решения этой проблемы:
1. Настроить шлюз, чтобы обновления не блокировались (или ещё лучше, установить WSUS).
2. На худой конец, прописать маршрут, а не менять шлюз на тачке.

Elven 21-05-2021 09:44 2958576

DJ Mogarych, полагаю дефолтный шлюз специально настроен так, чтобы блокировать обновления. Собственно, эту проблему тоже можно закрыть через WSUS или SCCM. Кроме того, правильно настроенный SCCM замечательно решает и
Цитата:

Цитата epoddubniy
ряд мероприятий по настройке. »

Но это всё лирика. Что же касается получения IP и запихивание его в переменную, то ответ легко найти поиском. Выдает, конечно, слишком много, по такому скудному фильтру, но даже так - вариант с выдиранием IP и либо с выводом его на экран или в файл, или запихивании в переменную находится быстро весьма. Зато есть из чего выбрать как выдергивать (netsh, ipconfig, wmic, может еще несколько вариантов есть). Даже моя тема всплыла, правда мне нужно было конкретный октет в IP узнать...

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

DJ Mogarych 21-05-2021 14:03 2958590

Цитата:

Цитата Elven
дефолтный шлюз специально настроен так, чтобы блокировать обновления »

Это понятно. При этом, конечно, возникает альтернативный шлюз, где всё разрешено, потому что "надо работать". И вместо того, чтоб договориться с запретителями и выстроить нормальную схему работы, возникает ситуация, в которой нужно громоздить скриптовые костыли. Всё это весьма не ново.

epoddubniy 22-05-2021 18:26 2958684

Цитата:

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

Попробую. Спасибо.

epoddubniy 23-05-2021 09:28 2958720

Код:

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)
вот так решил свой вопрос, на данный момент.


Время: 03:53.

Время: 03:53.
© OSzone.net 2001-