微軟Windows的netsh是一個命令行腳本實用工具。使用netsh工具 ,可以查看或更改本地計算機或遠程計算機的網(wǎng)絡配置。 |
netsh命令已經(jīng)推出很長時間,在Windows 2000/XP/2003中均帶有Netsh命令。Windows Server 2008只是對netsh的參數(shù)項做了些擴展。日常工作中,很多管理員對netsh了解不多,甚至不知道在Windows Server 2008中netsh增強了哪些功能。通過閱讀本文,Windows管理員可以找到上面所列問題的答案。
一、什么是 Netsh?
微軟Windows的netsh是一個命令行腳本實用工具。使用netsh工具 ,可以查看或更改本地計算機或遠程計算機的網(wǎng)絡配置。
不僅可以在本地計算機上運行這些命令,而且可以在網(wǎng)絡上的遠程計算機上運行。
可以手動運行Netsh命令,或創(chuàng)建批處理文件或腳本實現(xiàn)過程的自動化。netsh提供了腳本功能,讓您在批處理模式下針對指定的計算機,運行一組命令。利用netsh ,可以將配置腳本保存為文本文件,便于存檔或用于配置其他的計算機。
二、Windows Server 2008 netsh 和 Windows XP netsh對比
即使在核心命令級別,Windows XP版本的netsh和Windows Server 2008的netsh也存在著一些差別。為了比較這些,我們可以在每個操作系統(tǒng)中運行“netsh /?”。雖然Windows XP比Windows Server 2008多了個“routing”選項,但是Windows Server 2008比windows XP下的netsh的選擇項多了更多的內(nèi)容,具體如下:
* dhcp
* dhcpclient
* http
* ipsec
* lan
* nap
* netio
* rpc
* winhttp
從上面這個列表中,可以看到,在Windows Server 2008中,有著更多的選擇項。
三、管理員常用到的netsh 十大命令
接下來,讓我們開始介紹一些系統(tǒng)管理員常用到的netsh 命令。
#10 –如何獲得幫助信息
每個Windows管理員應該知道如何獲得netsh的幫助信息 。這其實很容易——只要使用“/?”選項。例如,要顯示所有的netsh內(nèi)容情況(選項類別) ,只需輸入netsh/?,如圖1所示:
*** 圖1: netsh /? 幫助選項執(zhí)行結(jié)果
在上圖中,可以選擇一個上下文,通過上下文中的配置項引導下一步操作。例如,輸入netsh lan/? ,可以看到如圖2所示的界面:
*** 圖2: netsh lan /?的執(zhí)行結(jié)果
從上面顯示的信息,可以繼續(xù)指導我們繼續(xù)操作:
netsh lan show /?
從返回信息中,我們可以知道,要顯示網(wǎng)卡信息,可以用以下命令:
netsh lan show interfaces
通過多次使用帶/? 的netsh命令,能夠引導使用許多netsh命令,最終達到我們的操作目標。
#9 –支持遠程計算機的名稱和登陸憑證
netsh命令的執(zhí)行參數(shù)中,支持提供遠程計算機名稱、IP地址和密碼憑據(jù)。其中選項“-r”表示機器名,“-U”表示用戶名,“-p”表示密碼。
下面我們來看一個例子:
netsh -r WinXP-1 -u winxp-1\administrator -p My!Pass1 interface ip show config
這個例子提供了遠程計算機的名稱,遠程用戶名和密碼,以便通過網(wǎng)絡遠程執(zhí)行命令。只要遠程計算機支持這一命令(不同的操作系統(tǒng)將使用各種不同的命令),都可以執(zhí)行。
#8 - 在交互模式下或者腳本模式下運行
netsh命令既可以交互運行,手動輸入命令,也可以在腳本中使用。如果想在本地機器或遠程機器通過手動方式一步一步輸入命令的話,只要在命令行中輸入netsh,你會看到以下界面:
netsh>
在netsh>提示符下,可以輸入想調(diào)用的所有的netsh命令,甚至告訴netsh連接到遠程計算機。
另一方面,可以使用的netsh -f
#7 –打開防火墻的端口
netsh命令可以快速、方便地打開一個防火墻的端口。比如下面這個例子,將打開445端口:
netsh firewall set portopening tcp 445 smb enable
如果該命令執(zhí)行成功,將得到“Ok.”的回應消息。
#6 –當前的網(wǎng)絡配置的導入與導出
netsh命令可以很輕松地導入和導出您的IP地址配置。與GUI界面下操作不同的是,如果要導出配置信息,需要輸入以下命令:
netsh –c interface dump > test.txt
*** 圖3: 導出并查看IP 地址的配置信息
稍后在同一臺計算機上或者不同的機器上,可以使用以下命令,導入此配置文件:
netsh –f test.txt
#5 –嘗試Netsh 命令最新的用法
Windows Server 2008中的許多新功能,都涉及到了netsh命令。 以下是Windows Server 2008系統(tǒng)中netsh命令的新類別:
* dhcp
* dhcpclient
* http
* ipsec
* lan
* nap
* netio
* rpc
* winhttp
我們不僅可以設置DHCP客戶端,而且可以設置DHCP服務器。還可以配置IPSec加密、網(wǎng)絡接入保護(NAP)客戶端等等......
當服務器上新增了些角色之后,將會看到更多的上下文。例如,如果在Windows Server 2008增加了個網(wǎng)絡策略服務器的角色,netsh配置項的上下文將多了個“nps”。
#4 – TCP/IP問題排查和網(wǎng)卡修復
使用netsh,可以排查和重置TCP/IP網(wǎng)卡。我們看下面幾個例子:
* 重置所有IP協(xié)議棧的配置信息并輸出日志文件——netsh int ipv4 reset resetlog.txt
* 安裝TCP / IP協(xié)議——netsh int ipv4 install
* 卸載TCP / IP協(xié)議——netsh int ipv4 uninstall
#3 –配置windows 高級防火墻
在Windows Server 2008和Windows Vista中,可以使用新的advfirewall網(wǎng)絡方面的設置,來配置雙向的Windows高級防火墻。當然,也可以設定為傳統(tǒng)的Windows防火墻。下面是一些例子:
* 顯示所有的防火墻規(guī)則 —— netsh advfirewall firewall show rule name=all
* 刪除與21端口相關(guān)的所有高級防火墻規(guī)則 —— netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21
* 導出Windows高級防火墻設置 —— netsh advfirewall export “c:\advfirewall.wfw”
也許最經(jīng)常用到的命令是啟用或禁用Windows防火墻,可以使用以下命令:
netsh firewall set opmode disable 或者是:
netsh firewall set opmode enable
#2 –配置無線設置
在Windows Server 2008和Windows Vista中,可以利用netsh wlan命令,來配置無線網(wǎng)絡的配置文件,連入無線網(wǎng)絡。下面我們來看幾個例子:
* 連接到一個已定義的無線網(wǎng)絡—— netsh wlan connect ssid=”mySSID” name=”WLAN-Profil1”
* 查看當前的無線設置——netsh wlan show settings
* 新增一個無線網(wǎng)絡的配置文件——netsh wlan add profile filename="Wireless Network Connection-BOW.xml"
#1 – 配置IP地址和網(wǎng)絡設置
正如netsh英文縮寫(network shell)一樣,netsh的最初目的,就是用來配置網(wǎng)絡的基本參數(shù)。下面我們看一些例子:
* 查看網(wǎng)卡的IP地址—— netsh interface ip show config
* 設置網(wǎng)卡的IP地址使用DHCP—— netsh interface ip set address name="Local Area Connection" source=dhcp
* 設置網(wǎng)卡的IP地址使用一個靜態(tài)IP地址- netsh interface ip set address "Local Area connection" static 10.0.0.9 255.0.0.0 10.0.0.1 1
* 增加DNS服務器設置- netsh interface ip add dnsserver "Local Area Connection" 10.0.0.1
四、小結(jié)
netsh命令行實用工具一直是Windows系統(tǒng)管理員的一個功能非常強大的工具。在Windows Server 2008和Windows Vista中,隨著新特性的增加,netsh的功能將更為強大和靈活,本文介紹的10個命令,對于管理員日常工作中遇到麻煩的時候,應該有所幫助。