Спрашивающий
Переименование сетевого интерфейса

Вопрос
-
Как можно командной строкой изменить имя сетевого интерфейса ?
(в допущении что на ПК 1 сетевой интерфейс)
13 августа 2008 г. 10:27
Все ответы
-
Code Snippet
netsh interface set interface name = "Local Area Connection OldName" newname = "Local Area Connection NewName"
13 августа 2008 г. 10:56 -
Тогда поправка в начальные условия.
Неизвестно текущее имя интерфейса и надо независимо от того как они у кого названы переименовать в новое.
Т.е. команда по выводу текущего имени и результат передать в ту строку, которую Вы указали (в netsh)
13 августа 2008 г. 11:35 -
Такой вариант. При условии, что только один адаптер. Или %name% будет иметь значение последнего из списка в `ipconfig`
=======
@echo off
setlocal
for /f "tokens=*" %%i in ('ipconfig ^| findstr - Ethernet') do set "name=%%i"
set "name=%name:~0,-21%"
netsh interface set interface name="%name%" newname="NewName"13 августа 2008 г. 16:44 -
Мой вариант:
strComputer = "."
NewName="NewName"
set wshShell= wscript.CreateObject("Wscript.Shell")
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\microsoft\homenet")
Set colItems = objWMIService.ExecQuery("Select * from HNet_Connection")
For Each objItem in colItems
if (objItem.IsLANConnection) then
wshShell.Run("netsh interface set interface name = " &chr(34)&objItem.Name &chr(34)& " newname = " & chr(34)&NewName&chr(34))
end if
NextСкрипт работает в рамках одной сессии. Т.е. сменив имя адаптера, требуется перезагрузка для повторной смены
13 августа 2008 г. 16:53 -
dmirk написано: Мой вариант:
strComputer = "."
NewName="NewName"
set wshShell= wscript.CreateObject("Wscript.Shell")
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\microsoft\homenet")
Set colItems = objWMIService.ExecQuery("Select * from HNet_Connection")
For Each objItem in colItems
if (objItem.IsLANConnection) then
wshShell.Run("netsh interface set interface name = " &chr(34)&objItem.Name &chr(34)& " newname = " & chr(34)&NewName&chr(34))
end if
NextСкрипт работает в рамках одной сессии. Т.е. сменив имя адаптера, требуется перезагрузка для повторной смены
Спасибо.
А как сюда добавить еще строки по изменению параметров TCP\IP
\типа
netsh interface ip add dns lan 192.168.1.1 index=1
netsh interface ip add dns lan 192.168.1.1 index=2
netsh interface ip add dns lan 192.168.1.1 index=3
netsh interface ip add wins lan 192.168.1.1 index=1
netsh interface ip add wins lan 192.168.1.1 index=2ну и любые иные ....
Чтобы выполнить все в одном скрипте и команды выполнялись бы последовательно (следующая по завершении предыдущей)
14 августа 2008 г. 9:18 -
В этом случае вместо Run следует запускать через Exec, у которого есть код возврата.
Т.е. скрипт будет выглядеть примерно следующим образом:
Code SnippetstrComputer = "."
NewName="NewName"
set wshShell= wscript.CreateObject("Wscript.Shell")
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\microsoft\homenet")
Set colItems = objWMIService.ExecQuery("Select * from HNet_Connection")
For Each objItem in colItems
if (objItem.IsLANConnection) then
Set ExecResult = wshShell.Exec("netsh interface set interface name = " &chr(34)&objItem.Name &chr(34)& " newname = " & chr(34)&NewName&chr(34))
'ждем когда выполнится
Do While ExecResult.Status = 0
WScript.Sleep 100
Loop'После завершения переходим к следующей
Set ExecResult = wshShell.Exec("netsh interface ip add dns lan 192.168.1.1 index=1")
'ждем когда выполнится
Do While ExecResult.Status = 0
WScript.Sleep 100
Loop' и т.д.
end if
NextЛучше конечно создать массив, в него загнать все "статические" команды netsh которые необходимо выполнить и проходя по всем элементам массива в цикле выполнять Exec с анализом возвращаемого значения.
Решение конечно не оптимальное, но в контексте обсуждаемой темы самое наглядное
14 августа 2008 г. 15:31 -
Если Вам неизвестно имя сетевого подключения, а Вам нужно изменить DNS-адреса, вот мой универсальный метод:
@echo off set NETWORK= for /f "tokens=2 delims==" %%a in ('wmic path Win32_networkadapter where ^"NetConnectionStatus^=2^" get NetConnectionID /value') do if not defined NETWORK set NETWORK=%%a echo %NETWORK% netsh interface set interface name="%NETWORK%" newname="Internet" netsh interface ip set dns "Internet" static 8.8.8.8 netsh interface ip add dns "Internet" 8.8.4.4 pause
- Предложено в качестве ответа 2cool.ru 18 января 2018 г. 16:51
26 мая 2017 г. 13:38