Powershell настраиваем IP адрес


18 июня 2019


Powershell настраиваем IP адрес

Если вы впервые настраиваете 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 адресов и сопутсвующие данные.

В моем случае интерфейс такой. Выделены те данные, которые нам понадобятся:

Номер интерфейса Powershell

Далее установим новые статические настройки интерфейса:

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

 

...

Теги: #powershell


Популярные тэги
О блоге
Этот блог представляет собой конспекты выученного материала, преобретенного опыта и лучшие практики в системном администрировании и программировании.