Если вы впервые настраиваете IP в Powershell и делаете это самостоятельно, то наверняка столкнетесь с какой-то проблемой. Связано это, на мой взгляд, с немного не очевидными командами.
В первую очередь что мне бы пришло в голову это использовать глагол Set для установки IP адреса, но это привело бы ошибке типа:
Set-NetIPAddress : No matching MSFT_NetIPAddress objects found by CIM query for instances of the ROOT/StandardCimv2/MSF
T_NetIPAddress
Для того что бы настроить IP для начала нам нужно узнать номер интерфейса или алиас нашего физического адаптера. Самый простой способ:
Get-NetAdapter
Можно сделать так, что бы вернулись сразу все физические адаптеры и мы бы смогли индефицировать их по IP адресам (т.к. в Get-NetAdapter ip не выводится).
Get-NetAdapter | Get-NetIpAddress
Get-NetIpAddress - возвращает список всех IP адресов и сопутсвующие данные.
В моем случае интерфейс такой. Выделены те данные, которые нам понадобятся:
Далее установим новые статические настройки интерфейса:
New-NetIPAddress -IPAddress 192.168.3.140 -PrefixLength 24 -DefaultGateway 192.168.3.2 -InterfaceIndex 4
-IPAddress - тут указываем новый адрес
-PrefixLengt - длина маски в битовом варианте или просто префикс. 24 соответсвует 255.255.255.0
-InterfaceIndex - это номер интерфейса, который мы настраиваем, мы его смотрели по команде выше
-DefaultGateway - шлюз по умолчанию
Далее нужно настроить DNS адрес в powershell. Тут впринципе тоже можно перепутать команды с Set-DNSClient, но верно так:
Set-DnsClientServerAddress -InterfaceIndex 4 -ServerAddresses 8.8.8.8, 8.8.6.6
-InterfaceIndex - тот же номер, что и выше
-ServerAddresses - ip адреса DNS серверов. Через запятую (в моем варианте) тоже работает.
Теперь статический адрес настроент.
Что делает команда Set-NetIPAddress? Она меняет настройки существующего IP адреса, но не сам IP адрес клиента. Мы могли забыть установить маску, она бы установилась по умолчанию, тогда можно дописать так:
Set-NetIPAddress -InterfaceIndex 4 -PrefixLength 20
Или так, заменив индефикатор адаптера на IP:
Set-NetIPAddress -IPAddress 192.168.3.140 -PrefixLength 23
С помощью Set-DNSClient мы можем добавить DNS суффикс к адаптеру или отключить динамическое обновление DNS с этого компьютера:
Set-DnsClient -InterfaceIndex 4 -RegisterThisConnectionsAddress $false
Set-DnsClient -InterfaceIndex 4 -UseSuffixWhenRegistering $true
...
Подписывайтесь на наш Telegram канал
Теги: #powershell