Как изменить IP-адрес в PowerShell

TL;DR
PowerShell v3+ предоставляет модули NetTCPIP и DNSClient для управления IP и DNS напрямую в командной строке. Используйте New-NetIPAddress для статического IP и Set-DnsClientServerAddress для DNS; перед началом убедитесь, что у вас есть права администратора и что система поддерживает PowerShell v3 или новее.
Быстрые ссылки
- Изменение IP-адреса
- Настройка DNS
Внимание: команды в примерах требуют прав администратора. PowerShell v3 и модуль NetTCPIP появились в Windows 8 / Windows Server 2012 и выше.
Введение
Мы раньше показывали, как менять IP через netsh с длинными командами. В PowerShell (v3+) это проще: появились нативные cmdlet’ы в модулях NetTCPIP и DNSClient. Ниже — рабочие примеры, объяснения и чеклисты проверки.
Изменение IP-адреса
Чтобы задать статический IPv4-адрес, используйте New-NetIPAddress. Пример:
New-NetIPAddress –InterfaceAlias “Wired Ethernet Connection” –IPv4Address “192.168.0.1” –PrefixLength 24 -DefaultGateway 192.168.0.254
Это предполагает, что:
- Интерфейс называется Wired Ethernet Connection (точное имя интерфейса).
- Вы задаёте статический адрес 192.168.0.1.
- Маска подсети — 255.255.255.0 (PrefixLength 24).
- Шлюз по умолчанию — 192.168.0.254.
Полезные команды для проверки и подготовки:
# Показать адаптеры и их имена
Get-NetAdapter
# Показать текущую IP-конфигурацию
Get-NetIPConfiguration
# Показать все назначенные IP-адреса
Get-NetIPAddressЧтобы удалить статический IP (например, перед включением DHCP), можно использовать Remove-NetIPAddress:
Remove-NetIPAddress -InterfaceAlias "Wired Ethernet Connection" -IPAddress 192.168.0.1 -Confirm:$falseЕсли вам нужно временно вернуть DHCP через netsh (альтернатива):
netsh interface ip set address "Wired Ethernet Connection" dhcpНастройка DNS
Управление DNS делается через модуль DNSClient. Пример установки первичного и вторичного DNS:
Set-DnsClientServerAddress -InterfaceAlias “Wired Ethernet Connection” -ServerAddresses 192.168.0.1,192.168.0.2
Чтобы сбросить настройки DNS и вернуть получение адресов от DHCP:
Set-DnsClientServerAddress -InterfaceAlias "Wired Ethernet Connection" -ResetServerAddressesПроверка текущих DNS-серверов:
Get-DnsClientServerAddress -InterfaceAlias "Wired Ethernet Connection"Мини-методология (шаги перед и после изменений)
- Спланируйте адресацию: IP, маска (CIDR), шлюз, DNS.
- Выполните резервную проверку: Get-NetIPConfiguration и сохраните вывод.
- Примените статическую конфигурацию (New-NetIPAddress / Set-DnsClientServerAddress).
- Проверьте связность: Test-Connection, Resolve-DnsName или nslookup.
- Откат при проблемах: восстановить сохранённые значения или включить DHCP.
Чек-листы по ролям
Администратор:
- Имеет права администратора на машине.
- Проверил имя интерфейса через Get-NetAdapter.
- Сохранил текущую конфигурацию.
- Проверил маршрутизацию и доступ к шлюзу.
Служба поддержки (Helpdesk):
- Подготовил шаблоны команд для распространённых случаев.
- Убедился в наличии инструкции отката.
- Предоставил пользователю окно обслуживания и уведомил об изменениях.
Альтернативные подходы
- Использовать netsh (на старых системах или в скриптах совместимости).
- Графический интерфейс: «Параметры сети» → «Изменение параметров адаптера» → Свойства IPv4.
- Управление централизованно через DHCP-сервер (лучше для большого парка машин).
Когда это может не сработать (контрпримеры)
- На Windows ниже версиями PowerShell v3 (например, Windows 7 без обновлений) модулей может не быть.
- Если нет прав администратора — команды вернут ошибку доступа.
- На виртуальных адаптерах или специфичных драйверах имена интерфейсов могут отличаться.
- При политике безопасности (GPO) локальные изменения могут откатываться.
Критерии приёмки
- Устройство получает назначенный IP и корректную маску.
- Шлюз доступен: успешный ping к шлюзу.
- Разрешение DNS работает: Resolve-DnsName для контролируемого домена завершилось успешно.
- Сетевые сервисы, зависящие от адресации, функционируют нормально.
Команды-справка (чит‑шит)
# Просмотр
Get-NetAdapter
Get-NetIPConfiguration
Get-NetIPAddress
Get-DnsClientServerAddress -InterfaceAlias "Wired Ethernet Connection"
# Установка статического IP
New-NetIPAddress -InterfaceAlias "Wired Ethernet Connection" -IPv4Address 192.168.0.1 -PrefixLength 24 -DefaultGateway 192.168.0.254
# Удаление IP
Remove-NetIPAddress -InterfaceAlias "Wired Ethernet Connection" -IPAddress 192.168.0.1 -Confirm:$false
# Настройка DNS
Set-DnsClientServerAddress -InterfaceAlias "Wired Ethernet Connection" -ServerAddresses 192.168.0.1,192.168.0.2
Set-DnsClientServerAddress -InterfaceAlias "Wired Ethernet Connection" -ResetServerAddresses
# Альтернатива через netsh
netsh interface ip set address "Wired Ethernet Connection" static 192.168.0.1 255.255.255.0 192.168.0.254
netsh interface ip set dns "Wired Ethernet Connection" static 192.168.0.1Ментальные модели и сопоставления
- NetTCPIP — отвечает за IP-адреса, интерфейсы и маршрутизацию.
- DNSClient — управляет настройками DNS на уровне клиента ОС.
- netsh — устаревшая, но совместимая утилита; полезна для сценариев обратной совместимости.
Безопасность и рекомендации
- Выполняйте изменения только с правами администратора и из доверенной сессии.
- Для автоматизации используйте защищённые учётные данные (Credential Guard / защищённые механизмы хранения).
- Документируйте изменения и сохраняйте резервные конфигурации перед массовыми правками.
Однострочный глоссарий
- IP — уникальный сетевой адрес устройства.
- CIDR/PrefixLength — запись маски подсети в виде количества бит (например, 24 = 255.255.255.0).
- Gateway — адрес маршрутизатора для выхода в другие сети.
- DNS — система доменных имён, преобразует имена в IP.
Визуальный флоучарт принятия решения
flowchart TD
A[Нужно ли статическое IP?] -->|Да| B[Подготовить адресацию]
A -->|Нет| C[Оставить DHCP]
B --> D[Проверить имя интерфейса]
D --> E[Применить New-NetIPAddress]
E --> F[Настроить DNS]
F --> G[Проверить соединение и DNS]Итог
PowerShell делает управление IP и DNS более прямым и скриптуемым благодаря NetTCPIP и DNSClient. Всегда проверяйте имя интерфейса, сохраняйте исходную конфигурацию и тестируйте подключение после изменений. Для старых систем используйте netsh или GUI.
Похожие материалы
YouTube Music на Windows — PWA и десктопные клиенты
Family Pairing в TikTok — как включить контроль
Apple Pay не работает — как быстро исправить
Проверка и очистка использования диска Docker
Как исправить ошибки Hulu на Xbox One