本帖最后由 Hello123World 于 2025-4-21 15:22 编辑
【原】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-2576-1-1.html
【续】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-13798-1-1.html
零、概述
netsh(Network Shell)是 Windows 系统内置的网络配置命令行工具,支持通过脚本或交互式命令管理网络接口、防火墙、路由、无线网络等。
这个命令的分支庞杂,单拎出来1个分支都可以单开一个帖子,掌握这个命令的核心是记住每个主要分支(官方帮助把“分支”定义为“上下文”)负责哪块的功能。
基本语法:复制代码 一、帮助信息
1、以下是通过 netsh /? 获取到官方帮助信息:- C:\Users\HelloWorld>netsh /?
-
- 用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | *]
- [Command | -f ScriptFile]
-
- 下列指令有效:
-
- 此上下文中的命令:
- ? - 显示命令列表。
- add - 在项目列表上添加一个配置项目。
- advfirewall - 更改到 `netsh advfirewall' 上下文。
- branchcache - 更改到 `netsh branchcache' 上下文。
- bridge - 更改到 `netsh bridge' 上下文。
- delete - 在项目列表上删除一个配置项目。
- dhcpclient - 更改到 `netsh dhcpclient' 上下文。
- dnsclient - 更改到 `netsh dnsclient' 上下文。
- dump - 显示一个配置脚本。
- exec - 运行一个脚本文件。
- firewall - 更改到 `netsh firewall' 上下文。
- help - 显示命令列表。
- http - 更改到 `netsh http' 上下文。
- interface - 更改到 `netsh interface' 上下文。
- ipsec - 更改到 `netsh ipsec' 上下文。
- lan - 更改到 `netsh lan' 上下文。
- mbn - 更改到 `netsh mbn' 上下文。
- namespace - 更改到 `netsh namespace' 上下文。
- netio - 更改到 `netsh netio' 上下文。
- nlm - 更改到 `netsh nlm' 上下文。
- p2p - 更改到 `netsh p2p' 上下文。
- ras - 更改到 `netsh ras' 上下文。
- rpc - 更改到 `netsh rpc' 上下文。
- set - 更新配置设置。
- show - 显示信息。
- trace - 更改到 `netsh trace' 上下文。
- wcn - 更改到 `netsh wcn' 上下文。
- wfp - 更改到 `netsh wfp' 上下文。
- winhttp - 更改到 `netsh winhttp' 上下文。
- winsock - 更改到 `netsh winsock' 上下文。
- wlan - 更改到 `netsh wlan' 上下文。
-
- 下列的子上下文可用:
- advfirewall branchcache bridge dhcpclient dnsclient firewall http interface ipsec lan mbn namespace netio nlm p2p ras rpc trace wcn wfp winhttp winsock wlan
-
- 若需要命令的更多帮助信息,请键入命令,接着是空格,
- 后面跟 ?。
复制代码 2、以下是通过 netsh interface /? 获取到官方帮助信息:- C:\Users\HelloWorld>netsh interface /?
-
- 下列指令有效:
-
- 此上下文中的命令:
- 6to4 - 更改到 `netsh interface 6to4' 上下文。
- ? - 显示命令列表。
- dump - 显示一个配置脚本。
- help - 显示命令列表。
- httpstunnel - 更改到 `netsh interface httpstunnel' 上下文。
- ipv4 - 更改到 `netsh interface ipv4' 上下文。
- ipv6 - 更改到 `netsh interface ipv6' 上下文。
- isatap - 更改到 `netsh interface isatap' 上下文。
- portproxy - 更改到 `netsh interface portproxy' 上下文。
- set - 设置配置信息。
- show - 显示信息。
- tcp - 更改到 `netsh interface tcp' 上下文。
- teredo - 更改到 `netsh interface teredo' 上下文。
- udp - 更改到 `netsh interface udp' 上下文。
-
- 下列的子上下文可用:
- 6to4 httpstunnel ipv4 ipv6 isatap portproxy tcp teredo udp
-
- 若需要命令的更多帮助信息,请键入命令,接着是空格,
- 后面跟 ?。
复制代码 3、以下是通过 netsh interface show /? 获取到官方帮助信息:- C:\Users\HelloWorld>netsh interface show /?
-
- 下列指令有效:
-
- 此上下文中的命令:
- show interface - 显示接口。
复制代码 二、上下文、子命令、参数详解
(一)网络接口(网卡)管理
1、显示网络接口(网卡)
从上面帮助的三条信息中,我们最终得到一条完整的命令,执行看看:- C:\Users\HelloWorld>netsh interface show interface
-
- 管理员状态 状态 类型 接口名称
- -------------------------------------------------------------------------
- 已启用 已连接 专用 VMware Network Adapter VMnet1
- 已启用 已连接 专用 VMware Network Adapter VMnet8
- 已启用 已断开连接 专用 以太网
- 已启用 已连接 专用 WLAN
复制代码 这里得到4个接口信息,对应的在 控制面板\网络和 Internet\网络连接 有4个接口的配置选择。
按照前面提到的基本语法:- 基本语法:
- netsh [上下文] [子命令] [参数]
复制代码
- netsh interface show interface
复制代码 对这个命令进行解构:netsh 是根命令,第一个interface 是1个 上下文,show是子命令,第二个interface是参数。
掌握这个命令的核心是记住每个主要分支(官方帮助把“分支”定义为“上下文”)负责哪块的功能,那么我们先吃透第一个分支(上下文):netsh interface。根据前面的信息,interface这个分支是对接口的操作,可以show(显示),可以set(设置),接口在个人电脑上可以理解为网卡,个人电脑的网卡一般是1卡1口(区别于服务器网卡的1卡多口),所以在个人电脑这个环境下,interface这个分支是对网卡的操作!
2、关闭、启用网络接口(网卡)
2.1关闭网络接口(网卡)- netsh interface set interface "以太网" admin=disable # 禁用
复制代码 2.2启用网络接口(网卡)- netsh interface set interface "以太网" admin=enable # 启用
复制代码 这里对 "以太网" 接口启停,对应的在 控制面板\网络和 Internet\网络连接 也能看到执行结果。
3、设置dhcp或者静态ip
3.1设置dhcp- netsh interface ip set address "以太网" dhcp
复制代码 3.2设置静态ip(固定ip)- netsh interface ip set address "以太网" static 192.168.1.100 255.255.255.0 192.168.1.1
复制代码 这里对 "以太网" 接口设置动态、静态ip,对应的在 控制面板\网络和 Internet\网络连接\以太网 也能看到执行结果。
这里的“以太网”网卡,实际就是个人电脑的有线网卡。
官方的帮助信息(ip默认就是ipv4):- C:\Users\HelloWorld>netsh interface ip /?
-
- 下列指令有效:
-
- 此上下文中的命令:
- ? - 显示命令列表。
- add - 在一个表格中添加一个配置项。
- delete - 从一个表格中删除一个配置项。
- dump - 显示一个配置脚本。
- help - 显示命令列表。
- install - 安装 IP 协议。
- reset - 重置 IP 配置。
- set - 设置配置信息。
- show - 显示信息。
- uninstall - 卸载 IP 协议。
-
- 若需要命令的更多帮助信息,请键入命令,接着是空格,
- 后面跟 ?。
-
-
- C:\Users\HelloWorld>netsh interface ipv4 /?
-
- 下列指令有效:
-
- 此上下文中的命令:
- ? - 显示命令列表。
- add - 在一个表格中添加一个配置项。
- delete - 从一个表格中删除一个配置项。
- dump - 显示一个配置脚本。
- help - 显示命令列表。
- install - 安装 IP 协议。
- reset - 重置 IP 配置。
- set - 设置配置信息。
- show - 显示信息。
- uninstall - 卸载 IP 协议。
-
- 若需要命令的更多帮助信息,请键入命令,接着是空格,
- 后面跟 ?。
复制代码
- C:\Users\HelloWorld>netsh interface ipv4 set address /?
-
- 用法: set address [name=]<字符串>
- [[source=]dhcp|static]
- [[address=]<IPv4 地址>[/<整数>] [[mask=]<IPv4 掩码>]
- [[gateway=]<IPv4 地址>|none [gwmetric=]<整数>]
- [[type=]unicast|anycast]
- [[subinterface=]<字符串>]
- [[store=]active|persistent]
-
- 参数:
-
- 标记 值
- name - 接口名称或索引。
- source - 下列值之一:
- dhcp: 启用 DHCP,以便为指定的接口
- 配置 IP 地址。
- static: 禁用 DHCP,以便为指定的接口
- 配置 IP 地址。如果配置了
- 地址或网关,则必须指定
- 该值。
- address - 要添加或修改的 IPv4 地址,
- 后边也可以加上子网前缀长度。
- mask - 指定的 IP 地址的 IP 子网掩码。
- gateway - 下列值之一:
- <IPv4 address>: 正在设置的静态 IP 地址的
- 特定默认网关。
- none: 未设置任何默认网关。此为默认值。
- gwmetric - 默认网关的跃点数。仅在指定了网关时
- 才应设置该字段。
- type - 下列值之一:
- unicast: 将地址标记为单播地址。
- 此为默认值。
- anycast: 将地址标记为任意广播地址。
- subinterface - 默认网关存在于其上的子接口的 LUID。
- 此参数仅用于带有
- 多个子接口的接口。
- store - 下列值之一:
- active: 设置仅持续到下一次启动。
- persistent: 设置永久有效。此为默认值。
-
- 备注: 用来启用或禁用 IP 地址配置的 DHCP。
- 同时删除所有以前的静态 IP 地址和默认网关,
- 并可以添加新的静态 IP 地址和默认网关。
-
- 示例:
-
- set address name="Wired Ethernet Connection" source=dhcp
- set address "Wired Ethernet Connection" static 10.0.0.9 255.0.0.0 10.0.0.1 1
复制代码 本章节梳理清楚了 netsh interface这个分支,即网络接口(网卡)管理。
三楼、四楼有
(二)防火墙管理
(三)无线网络管理 |