我想为大约 2000 个 IP 添加新的 dhcp 作用域,因此我需要任何脚本甚至应用程序来帮助我做到这一点,这些脚本可以从 txt 文件中获取我的 IP 地址并自动插入并创建我的作用域,
我听说有脚本可以做到这一点,有脚本可以做到这一点吗?
答案1
使用 Powershell。您需要查看“..”范围运算符,并查看Chris Dent 的 Net-SubnetMath.ps1 函数。
您的目标是让 PowerShell 输出一个包含所需 netsh.exe 命令的批处理文件;下面是创建 3 个主机预留的示例:
netsh dhcp server \\DC scope 10.0.0.0 add reservedip 10.1.1.1 1234567890ab hostname1
netsh dhcp server \\DC scope 10.0.0.0 add reservedip 10.1.1.2 1234567890ac hostname2
netsh dhcp server \\DC scope 10.0.0.0 add reservedip 10.1.1.3 1234567890ad hostname3
当您需要的不仅仅是 +1 增量时,Net-SubnetMath 函数对于计算 IP 地址列表非常有用。下面是一个例子,我需要计算以 32 为增量的 IPV4 地址列表:
获取您的起始 IP 地址,调用 ConvertTo-DecimalIP 函数,并将其填充到变量 $a 中:
$a = ConvertTo-decimalIP 10.128.42.125
然后,循环每次将 32 添加到地址。将输出写为点分十进制:
for ($i=0; $i -lt 512; $i+=32) {ConvertTo-DottedDecimalIP ($a + $i)}
10.128.42.125
10.128.42.157
10.128.42.189
...
您可以使用此技术非常快速地创建 DHCP 范围的框架,并插入适合该范围的任何选项;只需根据需要循环多次即可。
答案2
您的问题不是特别清楚。但是,如果您使用的是 Win2k3/Win2k8,则可以使用 NETSH.EXE 编写 DHCP 脚本。如果您能明确说明您要做什么,我可以提供一个例子。