Показать полную графическую версию : Скрипт изменения сетевых настроек
Подскажите пожалуйста можно ли через командную строку или еще как-то, изменить сетевые настройки, а именно:
1. Во вкладке Сеть убрать галочку с Протокол интернета версии 6
2. Заходим в Протокол интернета версии 4 -> Дополнительно -> WINS
2.1 Убрать галочку с Включить просмотр LMHOSTS
2.2 В Параметры NetBIOS выбрать вместо первого второй пункт
З.Ы. Пытаюсь лопатить реестр, что-то не получается ничего
З.Ы.2 IP, DNS, шлюз, WINS удалось установить с помощью командной строки а именно netsh interface ip ...
diagnoz_
26-02-2014, 18:28
Параметры NetBIOS выбрать вместо первого второй пункт »
Запустите редактор реестра и перейдите HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters\Interface\Tcpip.... справа есть параметр NetBIOSOption.
Он может принимать значения
0 По умолчанию (первая галочка)
1 Включить NetBIOS через TCP\IP (вторая галочка)
2 Отключить NetBIOS через TCP\IP (третья галочка)
или же используя утилиту wmic
В начале выполните:
wmic nicconfig get caption для определения индекса подключения по локальной сети\ беспроводного подключения...(принимает значения 0,1,2,3,4,5,....)
затем выяснив индекс подключения , выполните:
wmic nicconfig where index=тут номер индекса call SetTcpipNetbios тут значение параметра NetBIOSOption ( то есть 0 или 1 или 2)
Пример в моем случае:
wmic nicconfig where index=7 call SetTcpipNetbios 2
diagnoz_
26-02-2014, 18:57
Во вкладке Сеть убрать галочку с Протокол интернета версии 6 »
Отключить TCP\IP6 можно так (http://support.microsoft.com/kb/929852/ru ) для всех интерфейсов.
В редакторе реестра по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters создать Параметр DWORD с именем DisabledComponents и задайте ему значение FF.
после перегрузитесь. Протокол TCP/IP6 будет отключен для всех интерфейсов.
Убрать галочку с Включить просмотр LMHOSTS »
В реестре по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters имеется параметр EnableLMHOSTS. он может принимать значения:
0 отключен LMHOSTS
1 включен LMHOSTS
diagnoz_
26-02-2014, 19:18
Соответственно все выше предложенное можно запихнуть в bat-файл и запускать его на исполнение.
diagnoz_, спасибо за ответ. По LMHOSTS все отлчино.
По NetBIOS... а можно без участия человека определить index локальной сети? Скрипт должен быть автоматическим.
А по TCPIP6, я как раз таки и читал ту статью от MS, которую ты мне скинул. Но редактирование реестра как ничего не давало, так и не дает. Даже перезагрузка не помогает - галочка остается.
Ставлю значение FF как ты написал, а не как в статье 0xffffffff - думаю может это поможет, но увы нет.
reg add "HKLM\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters" /v DisabledComponents /t reg_dword /d ff /f
Ошибка. Неверный синтаксис. Задайте допустимое шестнадцатеричное значение
параметра "/d".
В таком виде команда проходит:
reg add "HKLM\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters" /v DisabledComponents /t reg_dword /d 0xffffffff /f
http://cs413529.vk.me/v413529898/76c9/ZRJ242tDHO0.jpg
diagnoz_
27-02-2014, 10:37
За скрипт сразу не отвечу. а вот это можно также использовать. это тоже самое, что и через скрипт.
Запустите редактор реестра и перейдите HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters\Interface\Tcpip.... справа есть параметр NetBIOSOption.
Он может принимать значения
0 По умолчанию (первая галочка)
1 Включить NetBIOS через TCP\IP (вторая галочка)
2 Отключить NetBIOS через TCP\IP (третья галочка) »
diagnoz_, это все понятно, но проблема в том, что точки после слова TCPIP они на разных компьютерах разные, к примеру вот такие HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces\Tcpip_{1BA36A12-4D81-4838-92EF-A39325522CF1} или Tcpip_{88302C99-1550-41EE-8E66-FB95C5471E6C}. В ручную кончено можно зайти и изменить параметр, но тогда уж проще в ручную зайти в виндовый интерфейс и кликнуть мышкой. А чтобы это выполнядось скриптом, нужно как-то индентифицировать интерфейс локальной сети - либо _{88302C99-1550-41EE-8E66-FB95C5471E6C} либо index для wmic
diagnoz_
27-02-2014, 13:29
align,
Предлагаю использовать утилиту psexec для удаленного выполнения команд.
psexec \\ip_адрес -u имя_компьютера -p пароль cmd для доступа к удаленному ПК.
Только для доступа нужно на том ПК отключить Общий доступ или включить Гостя. так как не будет доступа к удаленному ПК. если отключение шары не поможет получить доступ, то нужно
в панель управления - администрирование - локальная политика безопасности - локальные политики - параметры безопасности - сетевой доступ: модель совместного досутпа..... выставить на "обычную".
или же пробовать через wmic
wmic /NODE:"ip_адрес" /USER:"имя_компьютера" /PASSWORD:"пароль"
Ой, мне кажется нас уже куда-то далеко занесло :)
Я думаю стоит начать сначала! В чем заключается проблема, у меня в руках периодически появляются компы, в которых нужно вбить ОДИНАКОВЫЕ! сетевые настройки, я пишу батник, который будет устанавливать их, ибо муторно и есть шанс ошибиться.
ip,маска,dns,шлюз, wins я прописываю батником, теперь еще LMHOST галочку снимаю, остается покорить два параметра - галочка на IPv6 и в NetBios сменить опцию и будет счастье - быстро и без ошибок!
diagnoz_
27-02-2014, 14:24
Да я Вас понял, просто для того, чтобы узнать необходимую инфу на удаленном ПК нужно на него зайти и выполнить необходимые команды. :)
diagnoz_
27-02-2014, 14:40
То есть примерно это выглядит так:
psexec.exe \\ip_адрес cmd /c путь к bat-файлу
таким образом на какой-то удаленной машине будет запущен какой-то сделанный Вами bat-файл лежащий по такому-то пути на Вашей машине.
Так компы не удаленные - вставляем флешку, запускаем батник и счастье :)
Выставляя IP,DNS и т.д. я же пишу netsh interface ip set address name="Подключение к локальной сети" .... я сейчас читаю, может как-то через такое обращение можно идентифицировать точку обращения и сменить опцию NetBios
diagnoz_
27-02-2014, 14:53
align,
понял :)
align,
Забейте в bat-ник выше приведенное
wmic nicconfig where index=тут номер индекса call SetTcpipNetbios тут значение параметра NetBIOSOption ( то есть 0 или 1 или 2)
и решится проблема №2 :)
Только нужно подсмотреть индекс подключения.
и решится проблема №2
Только нужно подсмотреть индекс подключения. »
diagnoz_, я же выше написал, что это не решение проблемы, а ее усложнение. Ну еще разок повторю - вместо того чтобы смотреть индекс сети, мне будет проще зайти в сетевые настройки и кликнуть на нужную опцию. Батник должен все сделать сам, на то он и батник :) Но тут хоть какие-то мысли есть, а по ipv6 вобще засада.
diagnoz_, могу поделится тем что нарыл, может тебя это наведет на мысль.
У wmic таки есть параметр который отвечает за имя сетевого интерфейса и это NetConnectionID
wmic nic get index,name,NetConnectionID
Index Name NetConnectionID
1 RAS асинхронный адаптер
2 Минипорт WAN (L2TP)
3 Минипорт WAN (PPTP)
4 Минипорт WAN (PPPoE)
5 Прямой параллельный порт
6 Минипорт WAN (IP)
7 Минипорт планировщика пакетов
8 Marvell Yukon 88E8001/8003/8010 PCI Gigabit Ethernet Controller Подключение по локальной сети
9 Минипорт планировщика пакетов
10 Microsoft видео или ТВ подключение
11 Kaspersky Anti-Virus NDIS Miniport
12 Kaspersky Anti-Virus NDIS Miniport
Логично было бы предположить что предложенную тобой команду wmic nicconfig where index=7 call SetTcpipNetbios 2 можно изменить под то что я нарыл, но видимо что-то с синтаксисом, я никак не могу понять что не так.
wmic nicconfig where NetConnectionID="Подключение по локальной сети" call SetTcpipNetbios 2
по - Неверная команда для псевдонима.
:) wmic nicconfig where NetConnectionID="Подключение%20%по%20%локальной%20%сети" call SetTcpipNetbios 2
ОШИБКА:
Код = 0x80041017
Описание = Недопустимый запрос
Услуга = WMI
diagnoz_
27-02-2014, 16:48
я делал так:
по команде wmic nicconfig get caption увидел индексы интерфейсов, то есть вот так:
[00000001] RAS асинхронный адаптер
[00000002] Минипорт WAN (L2TP)
[00000003] Минипорт WAN (PPTP)
[00000004] Минипорт WAN (PPPoE)
[00000005] Прямой параллельный порт
[00000006] Минипорт WAN (IP)
[00000007] Marvell Yukon 88E8001/8003/8010 P
[00000009] Eset Personal Firewall Miniport
где [00000001] - 00000009] - это и есть индексы. это просто цифра от 1 до 9.
Смотрю что сетка у меня работает по сетевой Marvell Yukon 88E8001/8003/8010 P , а значит соответственно индекс у нее 7.
следовательно ввожу команду для своего интерфейса:
wmic nicconfig where index=7 call SetTcpipNetbios 2
где 2 это значение параметра NetBIOSOption ( то есть 0 или 1 или 2)
diagnoz_, мы уже это обсудили, тут все понятно мне, но это практически ручной режим, как видишь я стремлюсь к полностью автоматическому режиму, если правильным синтаксисом дать понять что нужно обращаться к нужному интерфейсу твоя команда сделает все сама и не надо будет делать промежуточных запросов и выбирать индекс
diagnoz_
27-02-2014, 20:19
align,
Вот скрипт wmic изменяющий сразу на активном интерфейсе настройки NetBIOS без указания индекса:
wmic nicconfig where (IPEnabled=TRUE) call SetTcpipNetbios 1
где TcpipNetbios может принимать значения 0, 1, 2
wmic nicconfig where (IPEnabled=TRUE) call SetTcpipNetbios 1 »
Печаль :( Интерфейс у меня ведь не активный, пока не воткнешь сетевой кабель запрос не работает, а я именно сначала должен настроить сеть и только потом воткнуть сетевой кабель.
Вот еще такой забавный вариант вычитал, но тоже требует воткнуть кабель... увы.
wmic nicconfig where TcpipNetbiosOptions=0 call SetTcpipNetbios 1
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC