![]() |
Удаленная смена IP
Здравствуйте. Есть сеть на 80 компов winXP. Компы в домене под win2003. Подняты DHCP и DNS . На компах IP адрес, маска, шлюз, днс выставлены вручную. Подскажите пожалуйста как удаленно(скриптом), через политики, сделать так что бы IP адреса, маска, шлюз, днс выдавались автоматом.
|
Через VBS скрипт делал. Только у меня обратная задача была из DHCP переделать в статический. Посмотрю в архиве скрипт, может найду тебе готовое решение.
|
Dvizhnyak, можно батником:
Код:
WMIC Path Win32_NetworkAdapterConfiguration Where "IPEnabled = True" Call SetDNSServerSearchOrder |
Вот нашел сценарий, который включает DHCP:
Код:
sComputer = "ip_адрес_или_имя_компьютера" Скрипт можно использовать для перехода с DHCP на статику, указав в исходных данных: old_ip_address=new_ip_address=текщий IP компьютера, которому меняем конфигурацию Код:
' Исходные данные |
в 2003 только логон скриптами.
если КД 2008 и клиенты под Vista можно доменными политиками |
vitaliyboch,
Цитата:
|
Цитата:
выдает ошибку сценария строка : 11 символ : 1 ошибка : 0x80041017 код : 80041017 источник (null) Цитата:
|
это скрипты запускаемые локально. а ТСу нужно удаленно
|
Цитата:
|
можно, причем для 2003 это единственный вариант
об этом выше писал |
Цитата:
помогите кто нибудь эти скрипты чуть изменить для логон скрипта . по типу если IP тачка получает по DHCP то меняем на статический если имя компа тото то меняем IP на такой то и прописываем маску , днс , шлюз. такой то IP такой ТО iP такоц то Ip |
batyaPS, так надо не просто скрипт скопровать, а заполнить параметры
' Исходные данные strComputer = "old_ip_address" - текущий IP адрес sSubnetMask = "old_subnet_mask" - текущая маска сети sNewIPAddress = "new_ip_address" - новый IP адрес sWinsSecondaryServer = "second_wins_server" - можно не запонять Скрипт запускается с компьютера администратора и менят настойки сетевого интерфейса указанного компьютера. Цитата:
Вот пример заполнения исходных данных ' Исходные данные strComputer = "172.31.26.123" sSubnetMask = "255.255.240.0" sNewIPAddress = "172.31.26.123" sWinsSecondaryServer = "" В данном случае перевожу комп с динамики на статику, поэтому новый и старый адреса одинаковые |
Цитата:
еще , зависит ли работа скрипта от кол-ва сетевых карт ? и как он определяет на каком интерфейсе менять настройки . ? |
batyaPS,
еще , зависит ли работа скрипта от кол-ва сетевых карт ? и как он определяет на каком интерфейсе менять настройки . ? Не зависит. Скрипт ищет интерфейс с именем 'Local Area Connection' . Все остальное игнорируется. Чтобы скрипт определил все подключенные проводные ethernet соединения, нужно заменить в скрипте set colItems = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapter " & "Where NetConnectionID = " & "'Local Area Connection'") на set colItems = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapter Where NetConnectionID Like 'Local%'") Но это тоже не поможет, тк логика работы скрипта подразумевает, что выбирается макадрес только из последнего экземпляра коллекции colItems: for each objItem in colItems strMACAddress = objItem.MACAddress next Короче, автору надо подправить скрипт |
Цитата:
Цитата:
|
Цитата:
Может нужна перезагрузка ? |
По поводу почему после отработки скрипта ничего не меняется.
Скорее всего Вы используете русскую WinXP. А в ней проводной интерфейс по умолчанию называется "Подключение по локальной сети" Теперь обратимся к wmi запросу из скрипта: set colItems = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapter " & "Where NetConnectionID = " & "'Local Area Connection'") Очевидно, что интерфейса с именем Local Area Connection в русской XP нет, поэтому скрипт не находит интерфейса и завершается, так ничего не изменив. Чтобы wmi-запрос мог работать и с англ. и с русской XP, поменяйте приведенную строку скрипта на set colItems = objWMIService.ExecQuery ("Select * From Win32_NetworkAdapter Where NetConnectionID like '%локальной%' or NetConnectionID like 'Local%'") ЗЫ: Предполагаю, что исправив эту ошибку, через несколько строк Вы упретесь в следующую. (Такой уж скрипт!) |
Вот модификация скрипта, но мне кажется, что будут проблемы при удаленной смене конфигурации адаптера, если задать разные значения IP адреса текущего и нового.
Код:
' Целевой компьютер |
Как я и предполагал, существует проблема при смене IP адреса на компьютере из другого филиала. Текущий скрипт сначала меняет IP, а потом прописывает остальные параметры, но компьютер становится уже недоступен - нет верных настроек шлюза. Если изменить порядок внесения параметров и менять IP только после смены DNS серверов и шлюза, то шлюз оказывается пустым для статических параметров! Он почему-то прописывается в динамические характеристики.
Кто знает как обойти эту проблему? В этой части кода изменен порядок внесения параметров Код:
------ |
Время: 12:05. |
Время: 12:05.
© OSzone.net 2001-