PowerShell Auto назначает IP - PullRequest
       11

PowerShell Auto назначает IP

0 голосов
/ 11 июля 2019

Компьютер отправляется в случайное место и получает случайный IP-адрес, но моя задача - установить правильный IP-адрес, оканчивающийся на .105, X.X.X.105.

Моя проблема заключается в том, чтобы получить единственный IP-адрес и изменить его на действительный. Пример компьютера получить 10.10.10.132, и я хочу изменить его на 10.10.10.105 Я не знаю, как редактировать IP-адрес. Я думаю о Сплите ("." "")

Все компьютеры W10 и в домене. Я решил сделать скрипт (как запланированное задание), который запускается после включения компьютера и назначает IP-адрес. Шлюз по умолчанию всегда X.X.X.254.

#check IP and get IP
$ipDefault = (Get-NetIPAddress -InterfaceAlias "Ethernet").IPAddress

#Here should be code to Get first 24 prefix length of network with the last dote

$IPComputer = "$ip + '105'"
$Gateway = "$ip + '254'"

#assigning an IP address
New-NetIPAddress –InterfaceAlias “Ethernet” –IPv4Address $IPComputer –PrefixLength 24 -DefaultGateway $Gateway
Set-DnsClientServerAddress -InterfaceAlias “Ethernet” -ServerAddresses 8.8.8.8, 8.8.4.4

Я знаю, что могу поставить IP-адрес вручную, но я хочу сделать полностью автоматический сценарий.

1 Ответ

1 голос
/ 11 июля 2019

Вы можете использовать LastIndexOf и Подстрока . Это разделит строку по последнему вхождению '.'.

Вам также необходимо убедиться, что вы возвращаете только адреса IPv4.

$ipDefault = (Get-NetIPAddress -InterfaceAlias "Ethernet" -AddressFamily IPv4).IPAddress
$threeOctets = $ipDefault.Substring(0,$ipDefault.LastIndexOf('.'))
$newIP = $threeOctets + ".105"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...