netsh(網絡殼層)是一個功能強大的網絡配置命令行工具,自微軟Windows 2000開始,包含在所有Windows NT系列的操作系統中。它允許本地或遠程配置網絡設備,如硬件接口。netsh可以導出和導入配置腳本,用戶可以通過命令行修改其IP地址,從Windows Vista開始,它還可以讀取和更改無線連接配置(如SSID)。此外,netsh還可以用于讀取IPv6棧,命令行語法為“netsh 接口 ipv6 show address”。執行“netsh winsock reset”命令可以修復與其他網絡設備通訊時的TCP/IP問題,其主要作用是重置winsock目錄,重新初始化網絡環境,以解決由于軟件沖突、病毒等原因導致的參數錯誤問題。
命令
C:\>netsh ?
用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName]UserName] [-p Password | *] [Command | -f ScriptFile]
進入NetSH環境后,在根級目錄用exec命令也可以加載一個配置腳本。還有對winsock、route、ras等network service的配置也可以通過Netsh的內置命令操作。
C:\>netsh
netsh>help
下列指令有效:
此上下文中的命令:
.. - 移到上一層上下文級。
? - 顯示命令列表。
abort - 丟棄在脫機模式下所做的更改。
add - 在項目列表上添加一個配置項目。
alias - 添加一個別名
bridge - 更改到 `netsh bridge' 上下文。
bye - 退出程序。
commit - 提交在脫機模式中所做的更改。
delete - 在項目列表上刪除一個配置項目。
diag - 更改到 `netsh diag' 上下文。
dump - 顯示一個配置腳本。
exec - 運行一個腳本文件。
exit - 退出程序。
help - 顯示命令列表。
接口 - 更改到 `netsh interface' 上下文。
offline - 將當前模式設置成脫機。
online - 將當前模式設置成聯機。
popd - 從堆棧上打開一個上下文。
pushd - 將當前上下文放推入堆棧。
quit - 退出程序。
ras - 更改到 `netsh ras' 上下文。
路由 - 更改到 `netsh routing' 上下文。
set - 更新配置設置。
show - 顯示信息
unalias - 刪除一個別名。
winsock - 更改到 `netsh winsock' 上下文。
下列的子上下文可用:
bridge diag 接口 ras routing winsock
若需要命令的更多幫助信息,請鍵入命令,
后面跟 ?。
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
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上運行運行指令進入MS-DOS,輸入
netsh -c 接口 ip dump > c:\NetIBM PC/XTtxt
(該命令是顯示當前”本地連接" 的接口IP 配置,并保存在NetPC.TXT文本文件中)
查看一下c:\NetPC.TXT這個文件,顯示的是當前”本地連接”的接口的IP配置,是否跟用ipconfig /all命令,看到的一樣的。
{
TPYE c:\NetPC.TXT
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd 接口 ip
# "本地連接" 的接口 IP 配置
set address 人名="本地連接" 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 人名="本地連接" 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 //顯示無線網絡信息
用法
[Note] netsh命令詳解
1>查看網絡配置
netsh 接口 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 接口 ip set address "本地連接" static 10.1.2.90 255.255.255.0 10.1.2.254 1
C:>netsh interface ip show config
接口 "本地連接" 的配置
DHCP enabled: 否
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 接口 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 接口 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 接口
reset all
popd
# 接口配置結束
#========================
# 接口配置
#========================
pushd interface ipv6
uninstall
popd
# 接口配置結束
# ----------------------------------
# ISATAP 配置
# ----------------------------------
pushd 接口 ipv6 isatap
popd
# ISATAP 配置結束
# ----------------------------------
# 6to4 配置
# ----------------------------------
pushd interface ipv6 6to4
popd
# 6to4 配置結束
#=============
# 端口代理配置
#=============
reset
popd
# 端口代理配置結束
# ----------------------------------
# 接口 IP 配置
# ----------------------------------
pushd interface ip
# "本地連接" 的接口 IP 配置
set address 人名="本地連接" 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 人名="本地連接" source=static addr=none
popd
# 接口 IP 配置結束
6>導出網絡配置文件
7>導入網絡配置文件
netsh -f d:\1.txt
netsh exec d:\2.txt
Netsh命令行設置IP與DNS
1.設置動態IP(DHCP自動獲取IP)
[span]netsh interface ip set address "本地連接" dhcp
2.設置指定的IP,此處以設置本機IP為10.16.15.226,子網掩碼為255.255.255.0,網關IP為10.16.15.1為例
[span]netsh 接口 ip set address "本地連接" static 10.16.15.226 255.255.255.0 10.16.15.1
3.設置動態DNS(DHCP自動獲取DNS)
[span]netsh interface ip set dns "本地連接" dhcp
4.設置指定的DNS,此處以設置DNS為210.45.240.10為例
[span]netsh interface ip set dns "本地連接"static 210.45.240.10
防火墻
系統防火墻
打開命令提示符輸入輸入命令“netsh firewall show state”然后回車可查看防火墻的狀態,從顯示結果中可看到防火墻各功能模塊的禁用及啟用情況。命令“netsh firewall set opmode disable”用來禁用系統防火墻,相反命令“netsh firewall set opmode enable”可啟用防火墻。
啟用一個程序
舊命令:新命令:
有關如何添加防火墻規則的詳細信息對于運行以下命令: netsh advfirewall firewall add rule?
參考資料 >