CMD 命令 与 PowerShell 命令 在 IP 地址管理 中的功能对比表格。表格按照不同的 IP 地址管理功能分类,以帮助理解两者的差异和应用场景。
PS C:\Users\Administrator> ipconfig /?
用法:
ipconfig [/allcompartments] [/? | /all |
/renew [adapter] | /release [adapter] |
/renew6 [adapter] | /release6 [adapter] |
/flushdns | /displaydns | /registerdns |
/showclassid adapter |
/setclassid adapter [classid] |
/showclassid6 adapter |
/setclassid6 adapter [classid] ]
其中
adapter 连接名称 (允许使用通配符 * 和 ?,参见示例)
选项:
ipconfig /? 显示此帮助消息
ipconfig /all 显示完整配置信息。
ipconfig /release 释放指定适配器的 IPv4 地址。
ipconfig /release6 释放指定适配器的 IPv6 地址。
ipconfig /renew 更新指定适配器的 IPv4 地址。
ipconfig /renew6 更新指定适配器的 IPv6 地址。
ipconfig /flushdns 清除 DNS 解析程序缓存。
ipconfig /registerdns 刷新所有 DHCP 租用并重新注册 DNS 名称
ipconfig /displaydns 显示 DNS 解析程序缓存的内容。
ipconfig /showclassid 显示适配器允许的所有 DHCP 类 ID。
ipconfig /setclassid 修改 DHCP 类 ID。
ipconfig /showclassid6 显示适配器允许的所有 IPv6 DHCP 类 ID。
ipconfig /setclassid6 修改 IPv6 DHCP 类 ID。
默认情况下,仅显示绑定到 TCP/IP 的每个适配器的 IP 地址、子网掩码和默认网关。
对于 Release 和 Renew,如果未指定适配器名称,则会释放或更新所有绑定到 TCP/IP 的适配器的 IP 地址租用。
对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。
示例:
> ipconfig ... 显示信息
> ipconfig /all ... 显示详细信息
> ipconfig /renew ... 更新所有适配器
> ipconfig /renew EL* ... 更新所有名称以 EL 开头的连接
> ipconfig /release *Con* ... 释放所有匹配的连接,例如“有线以太网连接 1”或“有线以太网连接 2”
> ipconfig /allcompartments ... 显示有关所有隔离舱的信息
> ipconfig /allcompartments /all ... 显示有关所有隔离舱的详细信息
PS C:\Users\Administrator> route print /?
操作网络路由表。
ROUTE [-f] [-p] [-4|-6] command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]
-f 清除所有网关项的路由表。如果与某个命令结合使用,在运行该命令前,应清除路由表。
-p 与 ADD 命令结合使用时,将路由设置为在系统引导期间保持不变。默认情况下,重新启动系统时,不保存路由。忽略所有其他命令,这始终会影响相应的永久路由。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
command 其中之一:
PRINT 打印路由
ADD 添加路由
DELETE 删除路由
CHANGE 修改现有路由
destination 指定主机。
MASK 指定下一个参数为“netmask”值。
netmask 指定此路由项的子网掩码值。如果未指定,其默认设置为 255.255.255.255。
gateway 指定网关。
interface 指定路由的接口号码。
METRIC 指定跃点数,例如目标的成本。
用于目标的所有符号名都可以在网络数据库文件 NETWORKS 中进行查找。用于网关的符号名称都可以在主机名称数据库文件 HOSTS 中进行查找。
如果命令为 PRINT 或 DELETE。目标或网关可以为通配符,(通配符指定为星号“*”),否则可能会忽略网关参数。
如果 Dest 包含一个 * 或 ?,则会将其视为 Shell 模式,并且只打印匹配目标路由。“*”匹配任意字符串,而“?”匹配任意一个字符。示例: 157.*.1、157.*、127.*、*224*。只有在 PRINT 命令中才允许模式匹配。
诊断信息注释:
无效的 MASK 产生错误,即当 (DEST & MASK) != DEST 时。
示例: > route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1 路由添加失败: 指定的掩码参数无效。(Destination & Mask) != Destination。
示例:
> route PRINT
> route PRINT -4
> route PRINT -6
> route PRINT 157* .... 只打印那些匹配 157* 的项
> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
destination^ ^mask ^gateway metric^ ^ Interface^
如果未给出 IF,它将尝试查找给定网关的最佳接口。
> route ADD 3ffe::/32 3ffe::1
> route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2
CHANGE 只用于修改网关和/或跃点数。
> route DELETE 157.0.0.0
> route DELETE 3ffe::/32
CMD 命令 与 PowerShell 命令 在 IP 地址管理 中的功能对比表格。表格按照不同的 IP 地址管理功能分类,以帮助理解两者的差异和应用场景。
| 功能 | CMD 命令 | PowerShell 命令 |
|---|---|---|
| 查看 IP 地址 | ipconfig |
Get-NetIPAddress |
| 查看所有网络接口信息 | ipconfig /all |
Get-NetAdapter |
| 查看特定网络接口的 IP 配置 | ipconfig 或 ipconfig /all 后跟接口名称 |
Get-NetIPAddress -InterfaceAlias "Ethernet" |
| 查看 DNS 配置 | ipconfig /all |
Get-DnsClientServerAddress |
| 查看路由表 | route print |
Get-NetRoute |
| 获取默认网关 | ipconfig(查找默认网关字段) |
Get-NetIPAddress |
| 设置静态 IP 地址 | netsh interface ipv4 set address name="Ethernet" static <IP> <Subnet> <Gateway> |
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress <IP> -PrefixLength <SubnetPrefixLength> -DefaultGateway <Gateway> |
| 设置动态 IP 地址 | netsh interface ipv4 set address name="Ethernet" source=dhcp |
Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled |
| 设置静态 DNS 服务器 | netsh interface ipv4 set dns name="Ethernet" static <DNS> |
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses <DNS> |
| 设置 DNS 服务器(自动) | netsh interface ipv4 set dns name="Ethernet" source=dhcp |
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses |
| 更改子网掩码 | netsh interface ipv4 set address name="Ethernet" static <IP> <Subnet> <Gateway> |
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress <IP> -PrefixLength <SubnetPrefixLength> -DefaultGateway <Gateway> |
| 禁用网络适配器 | netsh interface set interface "Ethernet" admin=disable |
Disable-NetAdapter -Name "Ethernet" |
| 启用网络适配器 | netsh interface set interface "Ethernet" admin=enable |
Enable-NetAdapter -Name "Ethernet" |
| 释放 IP 地址 | ipconfig /release |
Release-NetIPAddress -InterfaceAlias "Ethernet" |
| 续租 IP 地址 | ipconfig /renew |
Renew-NetIPAddress -InterfaceAlias "Ethernet" |
| 查看并管理本地路由 | route print / route add / route delete |
New-NetRoute / Remove-NetRoute / Get-NetRoute |
| 查看或设置接口的网卡地址 | ipconfig /all (手动查看 MAC 地址) |
Get-NetAdapter |
| 配置 IPv6 地址 | netsh interface ipv6 set address name="Ethernet" static <IPv6> |
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress <IPv6> -PrefixLength <PrefixLength> |
| 查看当前活动连接的 IP 地址 | netstat |
Get-NetTCPConnection |
| 显示/查看 ARP 缓存 | arp -a |
Get-NetNeighbor |
| 查看和配置端口转发规则(NAT) | netsh interface portproxy show all |
New-NetNat / Get-NetNat / Remove-NetNat |
| 查看接口的 DNS 配置 | netsh interface ipv4 show dns |
Get-DnsClientServerAddress |
对比说明:
-
查看 IP 地址和配置信息:
- CMD 使用
ipconfig查看本地 IP 配置,查看简单信息时比较直观。 - PowerShell 使用
Get-NetIPAddress,可以筛选、格式化输出更详细的信息,并支持更复杂的查询与自动化。
- CMD 使用
-
设置 IP 地址:
- 在 CMD 中,使用
netsh来手动设置静态或动态 IP 地址。 - 在 PowerShell 中,使用
New-NetIPAddress或Set-NetIPInterface,具有更高的灵活性,并且可以以脚本方式批量管理。
- 在 CMD 中,使用
-
DNS 配置管理:
- CMD 使用
netsh配置 DNS 服务器。 - PowerShell 使用
Set-DnsClientServerAddress,并且支持自动恢复为动态 DNS 配置(-ResetServerAddresses)。
- CMD 使用
-
网络适配器管理:
- CMD 使用
netsh控制网络适配器的启用和禁用。 - PowerShell 使用
Enable-NetAdapter和Disable-NetAdapter,同样可以实现这一功能,并且支持其他网络管理功能。
- CMD 使用
-
IP 地址释放和续租:
- 在 CMD 中使用
ipconfig /release和ipconfig /renew命令。 - PowerShell 使用
Release-NetIPAddress和Renew-NetIPAddress,提供更大的脚本化和自动化能力。
- 在 CMD 中使用
-
路由和 ARP 配置:
- CMD 使用
route命令来管理路由和查看 ARP 缓存。 - PowerShell 使用
Get-NetRoute和Get-NetNeighbor查看路由和 ARP 缓存,支持更复杂的网络配置。
- CMD 使用
-
接口和网卡地址管理:
- CMD 使用
ipconfig /all查看接口和 MAC 地址。 - PowerShell 提供了
Get-NetAdapter和Get-NetAdapter | Select-Object -Property MacAddress等命令,能够更方便地管理接口和查看 MAC 地址。
- CMD 使用
- CMD 适用于快速查看和修改基本的网络配置,特别是对于老旧的脚本或命令行任务,操作简单直接。
- PowerShell 提供了更多功能和灵活性,支持脚本化管理,适用于更复杂的网络管理任务,尤其在大型企业环境中非常有用。
在CMD命令行中,你可以使用以下命令来查看和配置端口转发规则(NAT,网络地址转换):
1. 查看端口转发规则
Windows 本身并不直接提供通过命令行查看端口转发的简单方法,但你可以通过 netsh 命令来检查 NAT 相关配置。
使用以下命令来查看当前的端口转发规则:
netsh interface portproxy show all
这将列出所有配置的端口转发规则。
2. 配置端口转发规则
如果你想要配置端口转发,可以使用 netsh 命令来添加规则。基本的命令格式如下:
netsh interface portproxy add v4tov4 listenaddress=<本地IP地址> listenport=<本地端口> connectaddress=<目标IP地址> connectport=<目标端口>
<本地IP地址>:指定本地监听的IP地址。<本地端口>:指定本地监听的端口。<目标IP地址>:指定目标服务器的IP地址。<目标端口>:指定目标服务器的端口。
例如,如果你想将本地端口 8080 的请求转发到目标地址 192.168.1.100 的 80 端口,你可以使用如下命令:
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddress=192.168.1.100 connectport=80
3. 删除端口转发规则
如果你需要删除某个端口转发规则,可以使用:
netsh interface portproxy delete v4tov4 listenaddress=<本地IP地址> listenport=<本地端口>
例如,删除端口 8080 的转发规则:
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=8080
这些命令可以帮助你在 Windows 系统中查看和配置端口转发(NAT)规则。如果你需要更复杂的网络配置,可能需要使用第三方软件或通过路由器进行设置。

浙公网安备 33010602011771号