下面的PowerShell功能可以将一个或多个服务器NIC的DHCP保留转换为固定IP配置。除了IP地址和子网掩码,它还将处理通常为固定IP配置的其他设置,例如默认网关和DNS服务器。
在整个这篇文章中,IP地址将被更改并经常检查。每当您执行此操作时,如果只希望查看相关信息,则可以运行以下命令:
1 |
Get-NetIPAddress -AddressFamily IPv4 -CimSession Mgmt,DC2 ` |
结果如下图所示:
IP地址信息
这将提供您需要用于我们目的的所有信息(计算机名称,NIC名称,IP地址,子网掩码,以及它是手动还是通过DHCP分配)。唯一的问题是每次键入的命令都很长。
为了避免所有类型的输入,我创建了一个函数,该函数返回相同的信息,而无需我们想要和不想要的所有东西。我称它为Get-IPAddressPretty:
Click To Expand Code
使IPAddressPretty发挥作用
如您所见,结果与上面相同,但是命令短得多。默认情况下,它显示计算机上所有网卡的IPv4地址。如果需要,您可能会更细化。
有了这个,让我们忙吧!
首先,第一件事:这将适用于Microsoft DHCP服务器。它不能在也配置为小型子网的DHCP服务器或其他类型的DHCP服务器的Cisco交换机上使用。但是,如果其他风味支持PowerShell,则可以改编功能/命令。
有了这个小的免责声明,让我们首先看一下创建保留的函数的逻辑。
在下面,您将看到实现此目标的代码:
Click To Expand Code
现在您知道Convert-DhcpV4ReservationToStaticIp的作用,让我们来看一下它的作用。
首先,让我们看一看客户端计算机的IP配置(称为“ Mgmt”)。
更改前的当前IP地址。注意PrefixOrigin是DHCP
1 |
# Get the current IP address |
请注意,NIC“私有”地址的PrefixOrigin是DHCP。让我们看看DHCP服务器上是否有计算机Mgmt的保留。
查看DHCP预留
实际上,我们的计算机(Mgmt)在DHCP服务器上有保留。现在,使用Convert-DhcpV4ReservationToStaticIp将此保留转换为静态IP。我们将使用详细模式来查看有关该功能做什么的更多详细信息。
将DHCP保留转换为静态IP
将DHCP保留转换为静态IP
1 |
Convert-DhcpV4ReservationToStaticIp -ComputerName Mgmt -InterfaceAlias Private -DhcpServer dc2.ha.lab -Verbose |
如您在屏幕快照中所见,详细模式描述了该功能执行的所有步骤。现在,让我们检查计算机的IP配置:
检查IP配置
1 |
Get-IPAddressPretty -CimSession Mgmt |
第一次运行Get-IPAddressPretty和现在运行NIC之间的区别是NIC的Prefix Origin是Manual而不是DHCP。我们也来看看NIC属性。
IP地址子网掩码和DNS设置是静态的
如您所见,IP和DNS配置是静态的。它们与DHCP保留中定义的相同(如上图所示,从DHCP管理控制台中看到)。
说到DHCP保留…
不再为我们的计算机保留DHCP
预留已从DHCP服务器中删除。
此时,如果我们尝试再次运行该命令,将会收到一条错误消息,指出没有为我们的计算机保留指定的NIC。
该命令警告未找到ServerNIC的预留空间
该命令警告未找到服务器/ NIC的预留空间
1 |
Convert-DhcpV4ReservationToStaticIp -ComputerName Mgmt -InterfaceAlias Private -DhcpServer dc2.ha.lab -Verbose |
运行命令将引发警告,指出未为我们的计算机/ NIC找到保留
下载最新版Windows 11 Pro ISO文件:点击进入 持续更新原装纯净版Win11