У меня есть сценарий, который я написал, чтобы помочь настроить компьютеры после их развертывания. Сценарий выполняет такие действия, как установка имени компьютера, включение BitLocker и т. д. Единственное, с чем я борюсь, — это настройка IP-адреса. Компьютеры, которые я использую (точнее, серверы), имеют 4 порта NIC, и они называются «Подключение по локальной сети» и «Подключение по локальной сети 2-4». Проблема заключается в том, что технические специалисты, которые развертывают эти серверы, не всегда подключаются к одному и тому же порту, и, кроме того, образ развертывания не всегда назначает подключение локальной сети Ethernet к порту сетевой карты 1.
Вот копия имеющегося у меня сценария, который отлично работает, если включен только один порт сетевой карты. Что мне нужно сделать, так это направить вывод имени подключения по локальной сети с IP-адресом (поскольку DHCP уже существует) в переменную, которую я могу поместить в свою команду netsh
.
Действующий код
:IPADDRESS
@echo Would you like static or DHCP?
@echo press 1 for static
@echo press 2 for dhcp
Choice /C:12 /N /M "?:"
IF ERRORLEVEL 2 GOTO IPDHCP
IF ERRORLEVEL 1 GOTO IPSTATIC
:IPSTATIC
set /P _IPADDR=Please enter IP address:
set /p _Subnet=Please enter Subnet:
set /p _DefaultGateway=Please Enter Default Gateway:
netsh interface ip set address name="Local Area Connection 2" static %_IPADDR% %_Subnet% %_DefaultGateway%
goto START
:IPDHCP
netsh interface ip set address "Local Area Connection 2" dhcp
goto START
:disipaddr
netsh interface ip show config name="Local Area Connection 2"
Название «Подключение по локальной сети 2» — это часть, которая меняется от сборки к сборке. Так что это та часть, которую мне нужно изолировать. Я совершенно уверен, что для /p
и его использования против ipconfig /all
или интерфейса netsh ip show config будет правильным путем.
Заранее благодарим вас за помощь.