Битлента
Сетевые команды и утилиты4 мин чтения·

Get-NetIPConfiguration: как узнать IP-адрес, шлюз и DNS в PowerShell

Get-NetIPConfiguration собирает в одном выводе адрес, основной шлюз и DNS-серверы каждого интерфейса. Как запускать и как читать результат.

Кратко

Get-NetIPConfiguration показывает для каждого подключения IPv4-адрес, шлюз по умолчанию и DNS-серверы в компактном виде. Это короткая замена длинному выводу ipconfig /all, когда нужны только основные параметры.

Зачем нужна эта команда, если есть ipconfig

Классический ipconfig /all выдаёт длинную простыню: десятки строк на каждый адаптер, включая отключённые и виртуальные. Get-NetIPConfiguration устроен иначе. Он показывает блок на каждый интерфейс, и в блоке только то, что чаще всего нужно при поломке: имя подключения, адрес, шлюз и DNS-серверы.

Вторая причина в том, что результат этой команды — объекты PowerShell. Их можно отфильтровать, выбрать нужные свойства и передать дальше по конвейеру. Например, получить только адреса шлюзов всех интерфейсов или проверить, что у подключения есть DNS.

Если вам нужен построчный разбор всех полей, включая DHCP и время аренды, смотрите страницу про ipconfig /all. Здесь же речь о коротком обзоре.

Как выглядит вывод и что в нём важно

Для каждого интерфейса команда печатает набор полей. Вот те, на которые стоит смотреть в первую очередь.

ПолеЗачем оно нужно
InterfaceAliasИмя подключения
InterfaceIndexНомер интерфейса
NetProfile.NameИмя сети, например название Wi-Fi
IPv4AddressАдрес компьютера в этой сети
IPv4DefaultGatewayАдрес роутера, через который идёт трафик наружу
DNSServerАдреса DNS-серверов

Если поля IPv4DefaultGateway нет или оно пустое, у подключения нет выхода за пределы локальной сети: адрес есть, а дорога наружу не настроена. Если нет строки с DNS, имена сайтов не будут превращаться в адреса, хотя обращение по числовому адресу может работать.

Чтение результата: пять типовых картин

Привычка смотреть на вывод целиком экономит время. Вот пять ситуаций, которые встречаются чаще всего:

  1. Адрес вида 169.254.x.x. Это адрес, который Windows назначает сама, когда не нашла DHCP-сервер. Подключение к роутеру есть, но адрес он не выдал.
  2. Адрес из диапазона роутера, шлюз пуст. Настройки заданы вручную с ошибкой, или шлюз не получен.
  3. Всё заполнено, но нет интернета. Проверьте доступность шлюза и внешнего адреса командой ping, затем DNS.
  4. Два интерфейса с шлюзами. Windows выбирает основной по метрике; конфликт видно в таблице маршрутов.
  5. Подключение с пометкой отключённого носителя. Для такого интерфейса адреса не показываются, и это нормально.

Адрес 169.254.x.x разобран отдельно на странице про ошибку получения IP, а общий порядок проверки приведён в материале про Wi-Fi без доступа в интернет.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Параметры: -Detailed, -InterfaceAlias и -All

Без параметров команда показывает только подключённые интерфейсы с настроенной сетью. Три параметра меняют картину:

  • -Detailed добавляет подробности: описание адаптера, MAC-адрес, состояние DHCP, сведения о маске и дополнительные поля;
  • -InterfaceAlias "Wi-Fi" ограничивает вывод одним подключением;
  • -All включает и те интерфейсы, у которых нет подключённого адаптера или адреса.

Параметры можно сочетать. Например, Get-NetIPConfiguration -InterfaceAlias "Ethernet" -Detailed удобен, когда нужно изучить один интерфейс и не отвлекаться на остальные. Точный состав подробного вывода зависит от версии системы.

Выборка нужных значений для скрипта и когда одной команды мало

Поскольку вывод состоит из объектов, из него легко достать отдельное значение. Конструкция (Get-NetIPConfiguration).IPv4DefaultGateway.NextHop вернёт адрес шлюза, а (Get-NetIPConfiguration).IPv4Address.IPAddress вернёт адрес компьютера. Если подключений несколько, результат будет списком, и тогда его стоит ограничить по имени интерфейса.

Такие выражения пригодятся для маленьких скриптов: проверки того, что шлюз отвечает, или записи адреса в журнал. Прежде чем встраивать их в автоматизацию, проверьте на своей машине, что свойства называются именно так: на разных версиях Windows выводы чуть различаются.

Для разового разбора проблемы скрипты не нужны. Достаточно прочитать блок интерфейса и сопоставить поля с таблицей выше.

Get-NetIPConfiguration отвечает на вопрос «какие параметры сети сейчас на компьютере». Он не отвечает на вопрос «работает ли эта сеть». Для проверки доступности шлюза используйте ping, для проверки порта — Test-NetConnection, для проверки имён — Resolve-DnsName. Когда сомнения остаются, сравните картину с настройками самого роутера: адрес шлюза на компьютере должен совпадать с адресом роутера в его веб-интерфейсе.

Если параметры выглядят правильно, а соединения нет, причина часто вне компьютера: у провайдера, на роутере или в линии. Тогда пригодится отчёт трассировки для обращения в поддержку.

Сравнение с другими способами посмотреть адрес и что сделать, если параметры выглядят неправильно

Узнать адрес компьютера можно несколькими способами, и у каждого своя область применения. В окне параметров Windows информация собрана в удобном виде, но не подходит для копирования в скрипт. Команда ipconfig работает везде, в том числе в старых версиях системы, но её вывод приходится читать глазами. Командлет Get-NetIPAddress даёт точный список адресов с префиксами, но без шлюза и DNS.

Get-NetIPConfiguration занимает середину: информации достаточно для первичной диагностики, а читать вывод легко. Поэтому именно с него разумно начинать разбор, когда непонятно, получил ли компьютер адрес и куда ведёт шлюз. Если же нужно дойти до деталей аренды DHCP, откройте ipconfig /all.

Для сети из нескольких подсетей проверьте, что адрес и шлюз принадлежат одной подсети: иначе шлюз недостижим напрямую.

Если вывод показывает неожиданные значения, действуйте от простого к сложному. Сначала переподключитесь к сети: отключите и снова включите Wi-Fi или выньте и вставьте кабель. Затем обновите адрес через ipconfig /release и ipconfig /renew. Если адрес по-прежнему не получен, перезагрузите роутер и убедитесь, что он выдаёт адреса автоматически.

Когда параметры заданы вручную, а сеть сменилась, вернитесь к автоматическому получению адреса: старые статические значения не подходят для новой подсети. Это частая причина того, что дома всё работало, а на работе или в гостях перестало.

Если ничего не помогает, сохраните вывод и обратитесь к администратору сети или провайдеру: по нему сразу видно, на каком этапе проблема.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
powershellip-адресwindowsdns

Часто задаваемые вопросы

Читайте также