Получение имени активного сетевого подключения в сценарии CMD

Как-то понадобился скрипт для приведения в порядок названий сетевых подключений в компьютерах пользователей. Т.е. задача: переименовать все подключения к сети на компьютерах на имя  — LAN. Долго не мог найти подходящее решение, чтобы работало на всех ОС Windows от  XP до 10.
На просторах интернета (https://clck.ru/CFVAN) нашел такой пример получения имени:

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%

В итоге получился такой скрипт (переименовывает подключение в LAN и прописывает локальные DNS серверы 192.168.0.8, 192.168.0.2):

@echo off
mode con:cols=40 lines=25
:: фон синий, шрифт желтый
color 1E 
cls
echo ================================
echo Не закрывайте это окно
echo оно закроется самостоятельно.
echo ================================
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="LAN" >nul
echo ждите...
netsh interface ipv4 set dnsserver "LAN" static none >nul
netsh interface ipv4 add dnsserver name="LAN" address=192.168.0.8 1 >nul
netsh interface ipv4 add dnsserver name="LAN" address=192.168.0.2 2 >nul
echo.
echo Готово.
ping 127.0.0.1 >nul

 

   Отправить статью как PDF