PowerShell自动分配IP
一台计算机被发送到一个随机位置并获得一个随机IP地址,但我的任务被设置为一个正确的IP地址,结束于.105,X.X.X.105 我的问题是获取唯一的IP地址并将其编辑为有效的IP地址。示例计算机得到10.10.10.132,我想把它改为10.10.10.105 我不知道如何编辑IP地址。我正在考虑拆分(“.”) 所有计算机均为W10且位于域中。我选择制作一个脚本(作为计划任务),在打开计算机并分配IP地址后运行。默认网关始终为X.X.X.254PowerShell自动分配IP,powershell,Powershell,一台计算机被发送到一个随机位置并获得一个随机IP地址,但我的任务被设置为一个正确的IP地址,结束于.105,X.X.X.105 我的问题是获取唯一的IP地址并将其编辑为有效的IP地址。示例计算机得到10.10.10.132,我想把它改为10.10.10.105 我不知道如何编辑IP地址。我正在考虑拆分(“.”) 所有计算机均为W10且位于域中。我选择制作一个脚本(作为计划任务),在打开计算机并分配IP地址后运行。默认网关始终为X.X.X.254 #check IP and get IP $ipD
#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地址,但我想制作全自动脚本。您可以使用和。这将按上次出现的“.”拆分字符串
您还需要确保只返回IPv4地址
$ipDefault=(Get-NetIPAddress-InterfaceAlias“Ethernet”-AddressFamily IPv4)。IPAddress
$threeOctets=$ipDefault.Substring(0,$ipDefault.LastIndexOf('.'))
$newIP=$threeOctets+“.105”
是$ipDefault
一个[string]
还是[ipaddress]
?如果是第二个,则需要使用.IPAddressToString()
方法为您提供一个可以使用的字符串。一旦你有了它,使用$IP.Split('.')
给你四个八位字节&你可以用你想要的新的第四个八位字节替换最后一个八位字节。我猜$ipDefault
是一个字符串数组,
(或,
?)使用-AddressFamily IPv4
参数缩小到IPv4字符串。