Я пытаюсь написать скрипт, который будет включать изменение конфигурации интерфейса IPv4. Интерфейс может иметь, а может и не иметь, настроен любой из следующих параметров:
- Айпи адрес
- Маска подсети
- Шлюз по умолчанию
- DNS-серверы
- WINS-серверы
Когда мой сценарий завершен, я хочу настроить только те параметры, которые я установил. (Например: если я не установил сервер шлюза, DNS или WINS, я не хочу, чтобы он был настроен.) Я полагаю, что самый простой способ убедиться в этом - стереть существующую конфигурацию настолько, насколько я могу, а затем создать именно то, что мне нужно.
Оставить существующий IP-адрес и маску подсети в порядке, потому что они обязательно будут перезаписываться каждый раз. Выглядит довольно просто, чтобы удалить DNS и WINS серверы с помощью netsh
.
netsh interface ipv4 delete dns "LAN" all
netsh interface ipv4 delete wins "LAN" all
Моя проблема связана с удалением шлюза. Кажется, что каждая команда netsh
которая используется для изменения шлюза по умолчанию, требует в качестве параметра текущий IP-адрес. Однако это не всегда будет то, что известно. Нет ли способа использовать netsh
чтобы просто удалить все шлюзы, настроенные для интерфейса, без указания IP?