PowerShell Set-NetIPAddress
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍 PowerShell 中的 Set-NetIPAddress
cmdlet。此 cmdlet 用于修改网络接口的 IP 地址配置。
IP 地址基础知识
IP 地址是分配给网络上设备的唯一标识符。它使设备能够使用 Internet Protocol 进行通信。IPv4 地址由四个由点分隔的八位字节组成(例如,192.168.1.1)。IPv6 地址更长,并使用十六进制表示法。Set-NetIPAddress
cmdlet 允许修改这些地址。
Set-NetIPAddress 基本用法
使用 Set-NetIPAddress
最简单的方法是指定要修改的 IP 地址和新的 IP 地址。您需要管理员权限才能更改网络设置。此 cmdlet 可以修改 IPv4 和 IPv6 地址。始终使用 Get-NetIPAddress
验证更改。
Set-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.1.100
此命令将索引为 12 的接口的 IP 地址更改为 192.168.1.100。InterfaceIndex 参数标识网络接口。运行 Get-NetIPInterface
来查找接口索引。
更改 IP 地址和子网掩码
您可以同时修改 IP 地址和子网掩码。子网掩码定义了 IP 地址的网络部分。使用 -PrefixLength 参数指定子网掩码。PrefixLength 是子网掩码中的位数(例如,255.255.255.0 的前缀长度为 24)。
Set-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.1.100 -PrefixLength 24
此命令将 IP 地址设置为 192.168.1.100,子网掩码为 255.255.255.0。前缀长度 24 对应于此子网掩码。始终确保新设置与您的网络配置匹配。
PS C:\> .\ipaddress2.ps1 Confirm Are you sure you want to perform this action? Performing the operation "Set" on target "192.168.1.100". [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y
修改默认网关
要同时更改默认网关和 IP 地址,请使用 -DefaultGateway 参数。默认网关将流量路由到其他网络。此更改需要 Set-NetIPInterface
cmdlet 来完成配置。网关必须与 IP 地址位于同一网络。
Set-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.1.100 -PrefixLength 24 Set-NetIPInterface -InterfaceIndex 12 -InterfaceMetric 1 New-NetRoute -InterfaceIndex 12 -DestinationPrefix "0.0.0.0/0" -NextHop 192.168.1.1
此示例配置了完整的网络设置。它设置了 IP 地址、子网掩码和默认网关(192.168.1.1)。InterfaceMetric 确定了存在多个接口时的优先级。该路由将所有非本地流量导向网关。
更改多个 IP 地址
网络接口可以分配多个 IP 地址。使用 Set-NetIPAddress
cmdlet 和 -AddressFamily 参数来指定 IPv4 或 IPv6。您可以修改现有地址或添加新地址。这对于托管多个服务的服务器很有用。
Set-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.1.100 -PrefixLength 24 New-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.1.101 -PrefixLength 24
此脚本首先修改现有的 IP 地址,然后添加第二个 IP 地址。这两个地址都在同一子网中。New-NetIPAddress
cmdlet 用于添加新地址,而 Set-NetIPAddress
用于修改现有地址。使用 Get-NetIPAddress
进行验证。
配置 IPv6 地址
Set-NetIPAddress
cmdlet 与 IPv6 地址的工作方式与 IPv4 类似。指定 IPv6 地址和适当的前缀长度。IPv6 使用 128 位地址和不同的表示法(例如,2001:db8::1)。AddressFamily 参数显式选择 IPv6。
Set-NetIPAddress -InterfaceIndex 12 -IPAddress 2001:db8::1 -PrefixLength 64 -AddressFamily IPv6
此命令配置了一个带有 64 位前缀的 IPv6 地址。IPv6 通常使用 /64 用于本地网络。AddressFamily 参数确保正确处理 IPv6 地址。请记住,IPv6 配置可能需要额外的路由设置。
来源
在本文中,我们介绍了 PowerShell 中的 Set-NetIPAddress cmdlet。
作者
列出 所有 PowerShell 教程。