How to use the netsh command to set an IP address.

本文详细介绍了如何使用netsh命令行工具进行Windows防火墙的高级管理,包括显示当前IP地址、更改IP地址、设置DNS、启用端口、删除已启用的程序或端口、启用特定服务、开启Windows防火墙、恢复策略默认设置等操作,同时提供了在Windows 11/10中打开Windows Defender防火墙的方法。

Catalogue:

Display current IP address

Change IP address

Set DNS

About Firewall 

  Enable a Port

  Delete enabled programs or ports

  Enable specific services

  Enable Windows firewall

  Restore policy defaults

  How to open Windows Firewall in Windows 11/10

Reference Links:


Display current IP address:
\>netsh interface ip show address

Configuration for interface "Ethernet"
    DHCP enabled:                         No
    IP Address:                           192.168.0.25
    Subnet Prefix:                        192.168.0.0/24 (mask 255.255.255.0)
    Default Gateway:                      192.168.0.1
    Gateway Metric:                       32
    InterfaceMetric:                      35

Configuration for interface "Loopback Pseudo-Interface 1"
    DHCP enabled:                         No
    IP Address:                           127.0.0.1
    Subnet Prefix:                        127.0.0.0/8 (mask 255.0.0.0)
    InterfaceMetric:                      75
Change IP address:
\>netsh interface ip set addr Ethernet static 192.168.1.25 255.255.255.0 192.168.1.1
\>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : XXXX::XXXX:XXXX:XXXX:XXXX%N
   IPv4 Address. . . . . . . . . . . : 192.168.1.25
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1
Set DNS: 
\>netsh interface ip set dns Ethernet static 202.96.69.38
\>netsh interface ip add dns Ethernet 219.148.204.66
\>netsh interface ip show dns

Configuration for interface "Ethernet"
    Statically Configured DNS Servers:    202.96.69.38
                                          219.148.204.66
    Register with which suffix:           Primary only

Configuration for interface "Loopback Pseudo-Interface 1"
    Statically Configured DNS Servers:    None
    Register with which suffix:           Primary only
About Firewall: 
\>netsh advfirewall firewall add rule name=RULENAME dir=in program="C:\ProgramPath\AppName.exe" action=allow
Ok.


\>netsh advfirewall firewall show rule name=RULENAME

Rule Name:                            RULENAME
----------------------------------------------------------------------
Enabled:                              Yes
Direction:                            In
Profiles:                             Domain,Private,Public
Grouping:
LocalIP:                              Any
RemoteIP:                             Any
Protocol:                             Any
Edge traversal:                       No
Action:                               Allow
  Enable a Port
\>netsh advfirewall firewall add rule name="Requirst to open inbound TCP/80" dir=in action=allow protocol=TCP localport=80
  Delete enabled programs or ports
\>netsh advfirewall firewall delete rule name=RULENAME program="C:\ProgramPath\AppName.exe"
\>netsh advfirewall firewall delete rule name=RULENAME protocol=udp localport=500
  Enable specific services
\>netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
\>netsh advfirewall firewall set rule group="Remote Desktop" new enable=Yes
  Enable Windows firewall
\>netsh advfirewall set currentprofile state on
  Restore policy defaults
\>netsh advfirewall reset

  How to open Windows Firewall in Windows 11/10

  • Click the Search icon or bar on the extreme left of the taskbar (Windows 10) OR press <Win><S> on the keyboard.
  • Search for keywords 'Windows Defender Firewall'.
  • Select Windows Defender Firewall from the result or click Open on the right pane.

Reference Links:

https://www.thewindowsclub.com/netsh-command-to-manage-windows-firewall

https://www.thewindowsclub.com/how-to-open-windows-firewall-using-different-methods

https://www.sccm.ie/how-to/107-learn-the-basic-netsh-advfirewall-firewall-commands-for-cmd-and-powershell

<think>嗯,用户想用Netsh命令制作一个批处理脚本(bat)来更新电脑的DNS服务器设置。好的,我需要先回忆一下Netsh相关的命令,特别是关于网络接口和DNS的部分。 首先,用户可能需要知道如何查看当前的网络接口配置,因为设置DNS时需要指定正确的接口名称。可能需要用到netsh interface show interface命令来列出所有接口,确保用户能找到正确的名称,比如“以太网”或“Wi-Fi”。 接下来,设置DNS服务器的话,应该使用netsh interface ipv4 set dns命令。但要注意权限问题,批处理脚本可能需要以管理员身份运行,否则可能会失败。所以得提醒用户以管理员权限运行脚本。 然后,用户可能想设置主用和备用DNS,比如8.8.8.8和8.8.4.4这样的公共DNS。这时候需要分两步,先设置主DNS,再添加备用DNS。命令大概是这样的: netsh interface ipv4 set dns "以太网" static 8.8.8.8 primary netsh interface ipv4 add dns "以太网" 8.8.4.4 index=2 但有时候用户可能想切换回自动获取DNS,这时候需要另一个命令:netsh interface ipv4 set dnsservers "以太网" source=dhcp。这部分也应该包含在示例脚本中,方便用户选择。 另外,需要考虑接口名称的正确性,不同的系统可能有不同的名称,比如“本地连接”或者“Ethernet0”。用户需要先查看自己的接口名称,否则脚本会出错。所以步骤里应该包括如何获取接口名称的部分。 还有,批处理脚本的编写要注意错误处理,比如如果接口名称输入错误,脚本执行会失败。可能需要添加一些提示信息,或者让用户自行确认名称是否正确。 最后,应该提醒用户备份当前的DNS设置,以防需要恢复。可以用netsh命令导出当前配置,比如:netsh interface ipv4 dump > dns_backup.txt。 总结下来,步骤应该是:1.以管理员权限运行脚本;2.查看接口名称;3.编写设置静态DNS的脚本;4.编写恢复DHCP的脚本;5.注意事项包括备份和接口名称确认。这样用户就能有一个清晰的指导,逐步完成操作了。</think>好的!以下是使用`netsh`命令编写批处理脚本(.bat)来更新DNS服务器设置的逐步说明: --- ### **步骤 1:以管理员身份运行脚本** - 批处理脚本需要管理员权限才能修改网络设置。 - 可通过右键单击脚本文件 > "以管理员身份运行" 实现。 --- ### **步骤 2:查看当前网络接口名称** - 打开命令提示符,输入以下命令查看接口名称(如"以太网"或"Wi-Fi"): ```bat netsh interface show interface ``` --- ### **步骤 3:编写静态DNS设置脚本** - 新建一个文本文件,输入以下内容(以"以太网"接口为例): ```bat @echo off REM 设置主用DNS为8.8.8.8(Google DNS) netsh interface ipv4 set dns "以太网" static 8.8.8.8 primary REM 设置备用DNS为8.8.4.4 netsh interface ipv4 add dns "以太网" 8.8.4.4 index=2 echo DNS已更新为8.8.8.8和8.8.4.4 pause ``` - 保存文件为`.bat`格式(如`set_dns.bat`)。 --- ### **步骤 4:编写恢复DHCP自动获取DNS脚本** - 新建文本文件,输入以下内容: ```bat @echo off netsh interface ipv4 set dnsservers "以太网" source=dhcp echo 已恢复为自动获取DNS pause ``` - 保存为`.bat`文件(如`reset_dns.bat`)。 --- ### **步骤 5:注意事项** 1. **替换接口名称**:将脚本中的`"以太网"`改为你的实际接口名称(步骤2中查看到的名称)。 2. **自定义DNS地址**:可替换`8.8.8.8`和`8.8.4.4`为其他DNS服务器(如`114.114.114.114`)。 3. **备份原配置**(建议): ```bat netsh interface ipv4 dump > dns_backup.txt ``` --- ### **示例脚本执行效果** - 静态DNS设置脚本运行后输出: ``` DNS已更新为8.8.8.8和8.8.4.4 按任意键继续... ``` - 恢复DHCP脚本运行后输出: ``` 已恢复为自动获取DNS 按任意键继续... ``` --- ### **常见问题** 1. **错误“系统找不到指定的文件”** → 检查接口名称拼写。 2. **权限不足** → 确保以管理员身份运行。 3. **DNS未生效** → 尝试命令`ipconfig /flushdns`清除DNS缓存。 通过上述步骤,你可以快速通过批处理脚本管理DNS设置。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值