不确定如何将字符串转换为整数,然后对其执行“添加1”。这就是我想要做的事情:
1)从提示中捕获IP地址
2)使用增加的IP创建变量列表:
$startIP = Read-Host
$ip1 = $startIP
$ip2 = $ip1 + 1
$ip3 = $ip2 + 1
例如,我们输入10.0.0.1,然后$ip2
将是10.0.0.2,依此类推。
我知道我需要在读取输入后将其转换为整数,但我不确定如何做到这一点。非常感谢!
答案 0 :(得分:1)
找到这些将IP转换为Int64并返回
的函数Function Convert-IpToInt64 () {
param ([String]$ip)
process {
$octets = $ip.split(".")
return [int64]([int64]$octets[0]*16777216 +[int64]$octets[1]*65536 +[int64]$octets[2]*256 +[int64]$octets[3])
}
}
Function Convert-Int64ToIp() {
param ([int64]$int)
process {
return (([math]::truncate($int/16777216)).tostring()+"."+([math]::truncate(($int%16777216)/65536)).tostring()+"."+([math]::truncate(($int%65536)/256)).tostring()+"."+([math]::truncate($int%256)).tostring() )
}
}
通过它,您现在可以将输入转换为可以递增的内容
$startIP = Read-Host
$ip1 = Convert-IpToInt64 $startIP
$ip2 = $ip1 + 1
$ip3 = $ip2 + 1