Тот самый случай, когда понимаешь, что Powershell не всесилен. Точнее не так: не во всех операциях он однозначно и безусловно удобнее, чем опостылевший GUI. Да, речь о настройках сетевых адаптеров.
Конечно, в случае энтерпрайзов начальные настройки сетевух серверы получают посредством DHCP, и это правильно. А как уже дальше будет настроен тот или иной сервер - дело десятое. Но попадаются случаи, где DHCP нет, а сервер поднять надо. Если он поднят в редации Full - проблем не возникает, пощелкал мышкой, вбил требуемое, закрыл окна. А если это Core?

Да, там есть sconfig. Да, в нем тоже можно назначить сетевые адреса. Вот только на моем веку уже два случая, когда адреса при помощи этой утилиты прописывались некорректно, и в итоге сервер с сетью отказывался работать начисто. Приходилось каждый раз обращаться к PS и пробираться сквозь дебри его команд, которыми сеть и настраивается. Отныне - пусть лежат тут, в виде нормального скрипта.

Итак. Делается настройка сети в несколько этапов.
Этап первый. Получаем индекс того сетевого адаптера, над которым будем производить все действия. По дефолту первый (с которым чаще всего и приходится работать) адаптер обладает индексом 12. Все последующие шаги будут проводиться именно над ним.
Этап второй. Сбрасываем информацию об уже имеющемся адресе. В условиях отсутствия DHCP там будет стоять APIPA-адрес.
Этап третий. Назначаем адаптеру новый адрес и маску подсети. Внимательные люди сразу спросят - а как же шлюз по-умолчанию? Он же в той же группе контролов в GUI, что и адрес с маской. А вот шлюз будет задан позже и совершенно другой командой.
Этап четвертый. Сбрасываем информацию о шлюзе по-умолчанию, если она имеется. На свежеустановленном сервере с APIPA-адресом ее не будет, но мало ли. Интересно, что среди всех команд powershell есть команда set-netroute, но применить ее именно к шлюзу по-умолчанию, чтобы его исправить, не получится.
Этап пятый. Прописываем нужный нам адрес в качестве шлюза.
Этап шестой. Прописываем адреса DNS-серверов, если это требуется.

Вот такой список. Теперь как это выглядит в коде Powershell.



Вот такой код в своем самом базовом и простом сценарии с одним сетевым адаптером. Если их больше, то и работы скрипту добавится. Хотя логика будет та же.
Все же прощелкать окошки, действительно, проще. С другой стороны, на некоторых достаточно древних железках каждая прогрузка каждого окна займет уйму времени, а powershell-консоль запускается ровно один раз и выполняет все разом.