在 Windows Server 2019 的无图形界面(Server Core)环境下,设置网络主要依赖命令行工具。微软官方推荐且最稳定的方式是使用 PowerShell,当然也可以使用传统的 netsh 命令。
以下是两种主流方法的详细操作步骤,建议优先使用 PowerShell 方法,因为它更符合现代运维规范,支持远程执行和脚本化。
方法一:使用 PowerShell(推荐)
这是最灵活、最现代的方式。你可以直接通过服务器控制台输入命令,或者通过 WinRM 远程连接后执行。
1. 查看当前网卡信息
首先,你需要知道网卡的名称或索引号。通常“以太网”是默认名称,但为了准确起见,先查询一下:
Get-NetAdapter
输出结果中会显示 Name(如 Ethernet)、Status(Up/Down)和 InterfaceIndex(索引号,如 2)。记住你的网卡名称或索引号。
2. 配置静态 IP 地址
假设你要设置的网卡名为 Ethernet,IP 为 192.168.1.100,子网掩码为 24(即 255.255.255.0),网关为 192.168.1.1,DNS 首选为 8.8.8.8,备用为 114.114.114.114。
执行以下命令:
# 设置静态 IP 和子网掩码
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress "192.168.1.100" -PrefixLength 24 -DefaultGateway "192.168.1.1"
# 设置 DNS 服务器
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8", "114.114.114.114")
注意:如果网卡名称包含空格(如 “Ethernet 2″),请使用双引号包裹名称,或使用
-InterfaceIndex参数代替-InterfaceAlias。
3. 验证配置
Get-NetIPAddress -InterfaceAlias "Ethernet"
Get-DnsClientServerAddress -InterfaceAlias "Ethernet"
方法二:使用 netsh 命令(传统方式)
如果你更熟悉 CMD 环境,或者需要在批处理脚本中使用,netsh 依然有效。
1. 查看网卡列表
netsh interface ipv4 show interfaces
记下网卡的名称(如 Ethernet)和索引号。
2. 配置静态 IP
netsh interface ipv4 set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1
3. 配置 DNS
netsh interface ipv4 set dns name="Ethernet" static 8.8.8.8 primary
netsh interface ipv4 add dns name="Ethernet" 114.114.114.114 index=2
4. 验证
ipconfig /all
常见问题与注意事项
-
网卡名称识别:
- 在无 GUI 环境中,网卡名称可能不是直观的 “Ethernet”。如果是虚拟机(如 VMware、Hyper-V、阿里云 ECS 等),有时会被命名为 “vEthernet (Internal Switch)” 或其他自定义名称。务必先用
Get-NetAdapter或netsh interface ipv4 show interfaces确认准确名称。 - 如果网卡名称中有空格,PowerShell 中必须用双引号包裹,例如
"Ethernet 2"。
- 在无 GUI 环境中,网卡名称可能不是直观的 “Ethernet”。如果是虚拟机(如 VMware、Hyper-V、阿里云 ECS 等),有时会被命名为 “vEthernet (Internal Switch)” 或其他自定义名称。务必先用
-
DHCP 切换回动态获取:
# PowerShell Set-NetIPInterface -InterfaceAlias "Ethernet" -Dhcp Enabled Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses # netsh netsh interface ipv4 set address name="Ethernet" dhcp netsh interface ipv4 set dns name="Ethernet" dhcp -
防火墙影响:
修改网络后,确保 Windows 防火墙允许必要的端口(如 RDP 3389、WinRM 5985/5986)。在无 GUI 环境下,你无法通过图形界面调整防火墙规则,需提前通过组策略或初始部署脚本开放所需端口。 -
重启网络服务:
一般情况下,上述命令立即生效,无需重启。但如果遇到网络不通,可以尝试重置 TCP/IP 栈:netsh int ip reset netsh winsock reset然后重启服务器。
-
远程管理建议:
如果你是通过 SSH(需安装 OpenSSH Server)或 WinRM 远程连接到 Server Core,建议在修改 IP 前保存好当前会话的连接凭证,因为 IP 变更可能导致当前连接中断。最好先在本地控制台或通过带外管理(如 iDRAC、ILO、云厂商 VNC)进行操作。
总结
对于 Windows Server 2019 Server Core 环境:
- 日常运维:推荐使用
Get-Net*和Set-Net*系列 PowerShell cmdlet,语义清晰,易于自动化。 - 兼容脚本:使用
netsh,适用于旧版脚本或 CMD 环境。 - 关键点:始终先确认网卡名称/索引,再执行配置命令,最后验证连通性。
以上方法适用于所有主流云平台(阿里云、腾讯云、华为云等)提供的 Windows Server 2019 实例,也适用于物理机和虚拟化平台。
云技术博客