Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Windows Новый топик    Ответить
 как можно автоматизировать смену ip адреса?  [new]
wizardnn
Member

Откуда:
Сообщений: 47
подскажите пожалуйста как можно автоматизировать смену ip адреса?
есть скажем текущий 172.16.10.10
а надо чтобы было 10.192.10.10
т.е. надо сменить поддиапазон на все ПК с 172.16. на 10.192.
я знаю что сменить IP можно так
автор
netsh interface ip set address name="Подключение по локальной сети" static 10.192.10.10 255.255.0.0 10.192.1.1 1

узнать текущий ip адрес и имя интерфейса можно так
автор
netsh interface ip show address

он выдаст это
автор
C:\Documents and Settings\Admin>netsh interface ip show address

Настройка интерфейса "Подключение по локальной сети"
DHCP разрешен: Нет
IP-адрес: 172.16.10.10
Маска подсети: 255.255.0.0
IP-адрес: 10.160.24.77
Маска подсети: 255.255.0.0
Основной шлюз: 172.16.1.1
Метрика шлюза: 0
Метрика интерфейса: 0

проблема в том чтобы найти как то первую строку где написано точно имя
автор
"Подключение по локальной сети"

и строку где написан первый ip
автор
IP-адрес: 172.16.10.10

и подставить в первую команду это имя "Подключение по локальной сети" и последние 2 цифры .10.10

т.е. батник должен автоматом переводить из одного поддиапазона в другой не сохраняя последние 2 цифры ip адреса.
9 июл 09, 17:15    [7398402]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
С0ВЕСТЬ
Member [заблокирован]

Откуда:
Сообщений: 37847
Обычно этим занимаются DHCP-сервера.
Гугл поломался?

___
Картинка с другого сайта.
9 июл 09, 17:19    [7398454]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
wizardnn
Member

Откуда:
Сообщений: 47
Я знаю, но нету пока DHCP :( все статически. потом помяняем. :)
9 июл 09, 17:24    [7398507]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51780

wizardnn
нету пока DHCP :( все статически. потом помяняем. :)

Вот и отличный повод поменять. Батник для переключения на автоматический
адрес проще.

Posted via ActualForum NNTP Server 1.4

9 июл 09, 17:36    [7398613]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
С0ВЕСТЬ
Member [заблокирован]

Откуда:
Сообщений: 37847
wizardnn
Я знаю, но нету пока DHCP :( все статически. потом помяняем. :)

Значит тут однозначно нужно писать скрипт, который нужно забросить в планировщик заданий на нужных станциях.
9 июл 09, 17:36    [7398618]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
wizardnn
Member

Откуда:
Сообщений: 47
ДА! мне нужен именно батник. :) У меня вопрос как раз как его написать.
просто я не знаю как с помощью батника найти в тексте нужные строки, присвоить какой-нить переменной и вставить в нужное место :(
9 июл 09, 17:42    [7398660]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
kofeinik
Member

Откуда:
Сообщений: 219
Занимались както написанием батника меняющего маску на определенную подсеть с помощью того-же netsh. Работал криво. В нашем случае получилось быстрее руками.
10 июл 09, 11:19    [7400723]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
aleks2
Guest
wizardnn
ДА! мне нужен именно батник. :) У меня вопрос как раз как его написать.
просто я не знаю как с помощью батника найти в тексте нужные строки, присвоить какой-нить переменной и вставить в нужное место :(


Вот и подучи WMI вкупе с VBS

Это меняет GATE, но IP - суть та же

rem Выключение DefaultGateway на внешнем адаптере st7

Option Explicit
dim oNAs

const SearchedIP="194.226.228.70"

rem  Открыть объект WMI
dim oWMI
  Set oWMI = GetObject("winmgmts:" _
     & "{impersonationLevel=impersonate}!\\" _
     & "." & "\root\cimv2")

rem  Выбрать все конфигурации сетевых адаптеров
dim colNetworkAdapterConfigurations
  Set colNetworkAdapterConfigurations = oWMI.ExecQuery _
     ("Select * from Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE")

dim i, oNAC, ip
  i=-1
  for each oNAC in colNetworkAdapterConfigurations
    if i=-1 then 
      On Error Resume Next
      for each ip in oNAC.IPAddress
        if (Err.Number=0) and (i=-1) and ip=SearchedIP then 
          i=oNAC.Index
        end if
      next	
      On Error Goto 0
    end if
  next
WScript.Echo "Found: " ,i

rem Выключение шлюза
dim dgw
  set oNAC=GetObject("winmgmts:Win32_NetworkAdapterConfiguration.Index="+CStr(i))
  dgw=array("10.0.0.8")
  oNAC.SetGateways dgw
  set oNAC = Nothing
rem Проверка
  set oNAC=GetObject("winmgmts:Win32_NetworkAdapterConfiguration.Index="+CStr(i))
WScript.Echo IPList(oNAC.DefaultIPGateway)

set oWMI = Nothing
set colNetworkAdapterConfigurations = Nothing
set oNAC = Nothing

rem -------------------------------------


private function IPList(IPs)
  IPList = ArrToStr(IPs, "; ")
end function

private function ArrToStr(Arr, Delim)
  Dim s,r
  r = ""
  On Error Resume Next
  for each s in Arr
    if r = "" then
      r=s
    else
      r=r+Delim+s
    end if	
  next
  On Error Goto 0
  ArrToStr=r
end function

end function
10 июл 09, 11:38    [7400868]     Ответить | Цитировать Сообщить модератору
 Re: как можно автоматизировать смену ip адреса?  [new]
wizardnn
Member

Откуда:
Сообщений: 47
aleks2, спасибо большое :)
но я уже сделал вот так:
автор
for /f "tokens=1,2*" %%a in ('netsh interface ip show address') do (set "name=%%~c"&goto :1)
:1
for /f "tokens=3,4 delims=." %%a in ('netsh interface ip show address ^| find /i "IP"') do (set "a=%%a"&set "b=%%b"&goto :2)
:2
netsh interface ip set address name="%name%" static 10.192.%a%.%b% 255.255.0.0 10.192.1.1 auto
10 июл 09, 12:16    [7401196]     Ответить | Цитировать Сообщить модератору
Все форумы / Windows Ответить