powershell是windows内置高效网络配置工具,可绕过图形界面直接设置ip、网关、dns、路由等参数。需先用get-netadapter确认启用的网卡interfacealias或ifindex,建议重命名为英文别名;配置前清除dhcp获取的ipv4地址,再用new-netipaddress设静态ip,new-netroute设默认路由,set-dnsclientserveraddress设dns;最后用get-netipconfiguration等命令验证,全程需管理员权限且即时生效。
powershell 是 windows 系统内置的高效网络配置工具,能绕过图形界面,直接设置 ip、网关、dns、路由等参数,适合单机调试、批量部署或云环境初始化。
确认并选定目标网络接口
所有后续操作都依赖于准确识别网卡。接口别名(InterfaceAlias)或索引号(ifIndex)必须唯一且稳定:
- 运行 Get-NetAdapter | Where-Object {$_.Status -eq 'Up'} 查看当前启用的适配器,重点关注 InterfaceAlias 和 ifIndex
- 中文名称(如“以太网”)可用,但建议重命名为英文别名,避免空格或编码问题:Rename-NetAdapter -Name "以太网" -NewName "Ethernet"
- 若脚本需长期复用,优先使用 -InterfaceIndex 参数(如 12),它不会随重命名变化
配置静态 IPv4 或 IPv6 地址
添加前务必先清理动态获取的地址,否则可能引发多地址冲突:
- 清除现有 IPv4 地址(保留链路本地):Get-NetIPAddress -AddressFamily IPv4 -PrefixOrigin Dhcp | Where-Object {$_.InterfaceAlias -eq "Ethernet"} | Remove-NetIPAddress -Confirm:$false
- 写入静态 IPv4:New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -PrefixLength 24 -AddressFamily IPv4
- 写入静态 IPv6(如 2001:db8:1::100/64):New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "2001:db8:1::100" -PrefixLength 64 -AddressFamily IPv6
设置默认网关与 DNS
网关和 DNS 需独立配置,不能依赖 DHCP 或路由器通告自动下发:
- 添加 IPv4 默认路由:New-NetRoute -DestinationPrefix "0.0.0.0/0" -NextHop "192.168.1.1" -InterfaceAlias "Ethernet" -AddressFamily IPv4
- 添加 IPv6 默认路由:New-NetRoute -DestinationPrefix "::/0" -NextHop "2001:db8:1::1" -InterfaceAlias "Ethernet" -AddressFamily IPv6
- 设置 IPv4 DNS:Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "114.114.114.114", "8.8.8.8" -AddressFamily IPv4
- 设置 IPv6 DNS:Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses "2001:4860:4860::8888", "2001:4860:4860::8844" -AddressFamily IPv6
验证与故障排查
执行后立即检查关键项是否生效:
- 查看完整网络配置:Get-NetIPConfiguration -InterfaceAlias "Ethernet"
- 确认 DNS 是否写入:Get-DnsClientServerAddress -InterfaceAlias "Ethernet" -AddressFamily IPv4
- 测试连通性:Test-NetConnection -ComputerName "8.8.8.8" -Port 53(验证 DNS 可达)
- 若无法上网,检查路由表:Get-NetRoute -DestinationPrefix "0.0.0.0/0" -AddressFamily IPv4
整个过程需以管理员身份运行 PowerShell,无需重启或注销,配置即时生效。不复杂但容易忽略。











