複製鏈接
請複製以下鏈接發送給好友

netsh

鎖定
netsh(Network Shell) 是一個windows系統本身提供的功能強大的網絡配置命令行工具。 導出配置腳本:netsh -c interface ip dump > c:\interface.txt 導入配置腳本:netsh -f c:\interface.txt。
外文名
Network Shell
簡    稱
netsh
類    別
網絡配置命令行工具
導入配置腳本
netsh -f c:\interface.txt

netsh命令

C:\>netsh ?
用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName]UserName] [-p Password | *] [Command | -f ScriptFile]
進入NetSH環境後,在根級目錄用exec命令也可以加載一個配置腳本。還有對winsock、route、ras等網絡服務的配置也可以通過Netsh的內置命令操作。
C:\>netsh
netsh>help
下列指令有效:
上下文中的命令:
.. - 移到上一層上下文級。
? - 顯示命令列表。
abort - 丟棄在脱機模式下所做的更改。
add - 在項目列表上添加一個配置項目。
alias - 添加一個別名
bridge - 更改到 `netsh bridge' 上下文。
bye - 退出程序。
commit - 提交在脱機模式中所做的更改。
delete - 在項目列表上刪除一個配置項目。
diag - 更改到 `netsh diag' 上下文。
dump - 顯示一個配置腳本。
exec - 運行一個腳本文件
exit - 退出程序。
help - 顯示命令列表。
interface - 更改到 `netsh interface' 上下文。
offline - 將當前模式設置成脱機
online - 將當前模式設置成聯機。
popd - 從堆棧上打開一個上下文。
pushd - 將當前上下文放推入堆棧。
quit - 退出程序。
ras - 更改到 `netsh ras' 上下文。
routing - 更改到 `netsh routing' 上下文。
set - 更新配置設置。
show - 顯示信息
unalias - 刪除一個別名。
winsock - 更改到 `netsh winsock' 上下文。
下列的子上下文可用:
bridge diag interface ras routing winsock
若需要命令的更多幫助信息,請鍵入命令,
後面跟 ?。
netsh>

netsh信息簡介

Netsh 是命令行腳本實用工具,它允許從本地或遠程顯示或修改當前正在運行的計算機的網絡配置。
Netsh 還提供了一個腳本功能,對於指定計算機,可以通過此功能以批處理模式運行一組命令。為了存檔或配置其他服務器,Netsh 也可以將配置腳本保存在文本文件中。
Netsh 命令的強大,有經驗的管理員都不會懷疑;以前有很多介紹netsh命令的文章,今天我們從另一方面感受一下netsh命令的神奇。

netsh配置示例

:管理學校機房
ADSL接入,通過ISP上網,
上網服務器:win2ks+isa2k
IP:192.168.0.1
subnetmask:255.255.255.0
DNS為ISP的DNS IP:202.101.10.10
客户機全部win2kpro(並裝有還原卡
IP:192.168.0.2---192.168.0.102
subnetmask:255.255.255.0
網關和DNS都為代理服務器的IP:192.168.0.1並且都裝了ISA的防火牆客户端軟件。
學校規定:學生賬號登陸不能上Internet,而老師通過自己賬號登陸則可以連接Internet;
多數情況下上網權限的控制,都是通過IP地址來實現(當然,ISA在AD的支持下是可以通過賬户來實現上網權限的控制,這不是本文討論範圍內),也就是説同一台電腦,學生用過後,如果老師使用時要Internet的話,就必須更改計算機的IP地址,但有些菜鳥老師更改,都教了N次了,還是不會......
在默認情況下,客户機是全部不能上internet的,ISA的規則上是禁止192.168.0.2---192.168.0.102的IP上internet,另外在ISA再創建一規則,允許192.168.0.103-192.168.0.203上internet (這不是本文的重點,如果有需要,大家可以查看相關資料)。
netsh派上用場了,我們客户機PC18上運行CMD進入MS-DOS,輸入
netsh -c interface ip dump > c:\NetPC.TXT
(該命令是顯示當前”本地連接" 的接口IP 配置,並保存在NetPC.TXT文本文件中)
查看一下c:\NetPC.TXT這個文件,顯示的是當前”本地連接”的接口的IP配置,是否跟用ipconfig /all命令,看到的一樣的。
{
TPYE c:\NetPC.TXT
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip
# "本地連接" 的接口 IP 配置
set address name="本地連接" source=static addr=192.168.0.18 mask=255.255.255.0
set address name="本地連接" gateway=192.168.0.1 gwmetric=0
set dns name="本地連接" source=static addr=192.168.0.1 register=PRIMARY
add dns name="本地連接" addr=202.101.10.10 index=2
set wins name="本地連接" source=static addr=none
popd
# 接口 IP 配置結束
}
我們打開NetPC.TXT這個文件,把“addr=192.168.0.18”的IP改為“addr=192.168.0.118”,再保存。
然後,在老師賬户的桌面上創建一個IP.BAT文件,內容輸入“netsh -f c:\NetPC.TXT”(注意文件的路徑,我們剛才是把NetPC.TXT放在C盤根目錄下)。
用老師的賬户登陸後,雙擊桌面上的IP.BAT文件,我們用ipconfig /all看看結果,顯示IP地址換成192.168.0.118了,別的配置都沒有變。
我們知道192.168.0.103―192.168.0.203的IP地址是可以上網的。也就是説,如果老師想上網的話,只要雙擊IP.BAT這個文件就可以了;
以上的設置是在PC18這台機器上做的,如果我們要在別的機器上設置,我們只在把NetPC.TXT這個文件的裏的IP地址換成192.168.0.103-192.168.0.203範圍內的IP(當然要保證使用的IP是唯一的,以免產生IP衝突),再新建一個IP.BAT文件,內容可以一樣,不過要注意NetPC.TXT這個文件的路徑;補允一點,老師賬户都為管理員組,學生賬户為普通用户組
通過以上設置,基本上達到我們的目的,老師上機的時候,只要雙擊桌面上IP.BAT這個文件,IP地址就會換成192.168.0.103―192.168.0.203這個網段的IP,也就是説可以上網了,電腦重啓,因為有還原卡,機器又會被變成192.168.0.2―192.168.0.102這個網段的IP,也就不能上網了。通過netsh這個命令,我們能感覺到他的強大,可以為我們免去一些煩瑣的事情。
配置示例:筆記本設置wifi熱點
在筆記本命令行下,利用netsh命令設置無線熱點:
1、netsh wlan show drivers //判斷支持的承載網絡:是
2、netsh wlan set hostednetwork mode=allow ssid=熱點名字 key=熱點密碼 //mode=allow啓用虛擬WiFi網卡;mode=disallow可以直接禁用虛擬WiFi網卡。
3、netsh wlan start hostednetwork //啓動承載網絡
4、設置Internet共享。
5、netsh wlan show hostednetwork //顯示無線網絡信息

netsh用法

[Note] netsh命令詳解
1>查看網絡配置
netsh interface ip show {選項}
{選項}可以是:
address - 顯示 IP 地址配置。
config - 顯示 IP 地址和更多信息。
dns - 顯示 DNS 服務器地址。
icmp - 顯示 ICMP 統計。
interface - 顯示 IP 接口統計。
ipaddress - 顯示當前 IP 地址
ipnet - 顯示 IP 的網絡到媒體的映射。
ipstats - 顯示 IP 統計。
joins - 顯示加入的多播組。
offload - 顯示卸載信息。
tcpconn - 顯示 TCP 連接。
tcpstats - 顯示 TCP 統計。
udpconn - 顯示 UDP 連接。
udpstats - 顯示 UDP 統計。
wins - 顯示 WINS 服務器地址。
2>配置接口IP/網關IP
netsh interface ip set address "本地連接" static 10.1.2.90 255.255.255.0 10.1.2.254 1
C:>netsh interface ip show config
接口 "本地連接" 的配置
IP 地址: 10.1.2.90
子網掩碼: 255.255.255.0
默認網關: 10.1.2.254
GatewayMetric: 1
InterfaceMetric: 0
靜態配置的 DNS 服務器: 202.99.160.68
202.99.166.4
靜態配置的 WINS 服務器: 無
用哪個前綴註冊: 只是主要
3>配置自動換取IP地址,DNS地址及wins地址
netsh interface ip set address "本地連接" dhcp
netsh interface ip set dns "本地連接" dhcp
netsh interface ip set wins "本地連接" dhcp
4>配置靜態IP地址,DNS地址及wins地址
netsh interface ip set address "本地連接" static 10.1.2.90
netsh interface ip set dns "本地連接" static 202.99.160.68
netsh interface ip set wins "本地連接" static 10.1.2.200
5>查看網絡配置文件
C:>netsh -c interface dump
#========================
# 接口配置
#========================
pushd interface
reset all
popd
# 接口配置結束
#========================
# 接口配置
#========================
pushd interface ipv6
uninstall
popd
# 接口配置結束
# ----------------------------------
# ISATAP 配置
# ----------------------------------
pushd interface ipv6 isatap
popd
# ISATAP 配置結束
# ----------------------------------
# 6to4 配置
# ----------------------------------
pushd interface ipv6 6to4
reset
popd
# 6to4 配置結束
#=============
# 端口代理配置
#=============
pushd interface portproxy
reset
popd
# 端口代理配置結束
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip
# "本地連接" 的接口 IP 配置
set address name="本地連接" source=static addr=10.1.2.90 mask=255.255.255.0
set address name="本地連接" gateway=10.1.2.254 gwmetric=1
set dns name="本地連接" source=static addr=202.99.160.68 register=PRIMARY
add dns name="本地連接" addr=202.99.166.4 index=2
set wins name="本地連接" source=static addr=none
popd
# 接口 IP 配置結束
6>導出網絡配置文件
netsh -c interface dump > d:\1.txt
7>導入網絡配置文件
netsh -f d:\1.txt
netsh exec d:\2.txt
Netsh命令行設置IP與DNS
1.設置動態IP(DHCP自動獲取IP)
netsh interface ip set address "本地連接" dhcp
2.設置指定的IP,此處以設置本機IP為10.16.15.226,子網掩碼為255.255.255.0,網關IP為10.16.15.1為例
netsh interface ip set address "本地連接" static 10.16.15.226 255.255.255.0 10.16.15.1
3.設置動態DNS(DHCP自動獲取DNS)
netsh interface ip set dns "本地連接" dhcp
4.設置指定的DNS,此處以設置DNS為210.45.240.10為例
netsh interface ip set dns "本地連接"static 210.45.240.10

netsh防火牆

系統防火牆
打開命令提示符輸入輸入命令“netsh firewall show state”然後回車可查看防火牆的狀態,從顯示結果中可看到防火牆各功能模塊的禁用及啓用情況。命令“netsh firewall set opmode disable”用來禁用系統防火牆,相反命令“netsh firewall set opmode enable”可啓用防火牆。
啓用一個程序
舊命令 : 新命令:
netsh firewall add allowedprogram C: \ MyApp \ MyApp.exe "My Application" ENABLE
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yesnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domainnetsh firewall add allowedprogram program = C: \ MyApp \ MyApp.exe name = "My Application" mode = ENABLE scope = CUSTOM addresses = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = Domain
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domainnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = domain
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALLnetsh firewall add allowedprogram program = C: \ MyApp \ MyApp.exe name = "My Application" mode = ENABLE scope = CUSTOM addresses = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = ALL
運行以下命令:
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domainnetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = domain
netsh advfirewall firewall add rule name=”My Application” dir=in action=allow program=”C:\MyApp\MyApp.exe” enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=privatenetsh advfirewall firewall add rule name = "My Application" dir = in action = allow program = "C: \ MyApp \ MyApp.exe" enable = yes remoteip = 157.60.0.1,172.16.0.0 / 16, LocalSubnet profile = private
有關如何添加防火牆規則的詳細信息對於運行以下命令: netsh advfirewall firewall add rule?