Windows 中 Netsh命令的典型應(yīng)用

    微軟Windows的netsh是一個(gè)命令行腳本實(shí)用工具。使用netsh工具 ,可以查看或更改本地計(jì)算機(jī)或遠(yuǎn)程計(jì)算機(jī)的網(wǎng)絡(luò)配置。

  netsh命令已經(jīng)推出很長(zhǎng)時(shí)間,在Windows 2000/XP/2003中均帶有Netsh命令。Windows Server 2008只是對(duì)netsh的參數(shù)項(xiàng)做了些擴(kuò)展。日常工作中,很多管理員對(duì)netsh了解不多,甚至不知道在Windows Server 2008中netsh增強(qiáng)了哪些功能。通過(guò)閱讀本文,Windows管理員可以找到上面所列問(wèn)題的答案。

  一、什么是 Netsh?

  微軟Windows的netsh是一個(gè)命令行腳本實(shí)用工具。使用netsh工具 ,可以查看或更改本地計(jì)算機(jī)或遠(yuǎn)程計(jì)算機(jī)的網(wǎng)絡(luò)配置。

  不僅可以在本地計(jì)算機(jī)上運(yùn)行這些命令,而且可以在網(wǎng)絡(luò)上的遠(yuǎn)程計(jì)算機(jī)上運(yùn)行。

  可以手動(dòng)運(yùn)行Netsh命令,或創(chuàng)建批處理文件或腳本實(shí)現(xiàn)過(guò)程的自動(dòng)化。netsh提供了腳本功能,讓您在批處理模式下針對(duì)指定的計(jì)算機(jī),運(yùn)行一組命令。利用netsh ,可以將配置腳本保存為文本文件,便于存檔或用于配置其他的計(jì)算機(jī)。

  二、Windows Server 2008 netsh 和 Windows XP netsh對(duì)比

  即使在核心命令級(jí)別,Windows XP版本的netsh和Windows Server 2008的netsh也存在著一些差別。為了比較這些,我們可以在每個(gè)操作系統(tǒng)中運(yùn)行“netsh /?”。雖然Windows XP比Windows Server 2008多了個(gè)“routing”選項(xiàng),但是Windows Server 2008比windows XP下的netsh的選擇項(xiàng)多了更多的內(nèi)容,具體如下:

  * dhcp

  * dhcpclient

  * http

  * ipsec

  * lan

  * nap

  * netio

  * rpc

  * winhttp

  從上面這個(gè)列表中,可以看到,在Windows Server 2008中,有著更多的選擇項(xiàng)。

  三、管理員常用到的netsh 十大命令

  接下來(lái),讓我們開(kāi)始介紹一些系統(tǒng)管理員常用到的netsh 命令。

  #10 –如何獲得幫助信息

  每個(gè)Windows管理員應(yīng)該知道如何獲得netsh的幫助信息 。這其實(shí)很容易——只要使用“/?”選項(xiàng)。例如,要顯示所有的netsh內(nèi)容情況(選項(xiàng)類(lèi)別) ,只需輸入netsh/?,如圖1所示:

Windows Server 2008中 Netsh 十大常用命令

  *** 圖1: netsh /? 幫助選項(xiàng)執(zhí)行結(jié)果

在上圖中,可以選擇一個(gè)上下文,通過(guò)上下文中的配置項(xiàng)引導(dǎo)下一步操作。例如,輸入netsh lan/? ,可以看到如圖2所示的界面:

Windows Server 2008中 Netsh 十大常用命令

  *** 圖2: netsh lan /?的執(zhí)行結(jié)果

  從上面顯示的信息,可以繼續(xù)指導(dǎo)我們繼續(xù)操作:

  netsh lan show /?

  從返回信息中,我們可以知道,要顯示網(wǎng)卡信息,可以用以下命令:

  netsh lan show interfaces

  通過(guò)多次使用帶/? 的netsh命令,能夠引導(dǎo)使用許多netsh命令,最終達(dá)到我們的操作目標(biāo)。

  #9 –支持遠(yuǎn)程計(jì)算機(jī)的名稱(chēng)和登陸憑證

  netsh命令的執(zhí)行參數(shù)中,支持提供遠(yuǎn)程計(jì)算機(jī)名稱(chēng)、IP地址和密碼憑據(jù)。其中選項(xiàng)“-r”表示機(jī)器名,“-U”表示用戶(hù)名,“-p”表示密碼。

  下面我們來(lái)看一個(gè)例子:

  netsh -r WinXP-1 -u winxp-1\administrator -p My!Pass1 interface ip show config

  這個(gè)例子提供了遠(yuǎn)程計(jì)算機(jī)的名稱(chēng),遠(yuǎn)程用戶(hù)名和密碼,以便通過(guò)網(wǎng)絡(luò)遠(yuǎn)程執(zhí)行命令。只要遠(yuǎn)程計(jì)算機(jī)支持這一命令(不同的操作系統(tǒng)將使用各種不同的命令),都可以執(zhí)行。

  #8 - 在交互模式下或者腳本模式下運(yùn)行

  netsh命令既可以交互運(yùn)行,手動(dòng)輸入命令,也可以在腳本中使用。如果想在本地機(jī)器或遠(yuǎn)程機(jī)器通過(guò)手動(dòng)方式一步一步輸入命令的話,只要在命令行中輸入netsh,你會(huì)看到以下界面:

  netsh>

  在netsh>提示符下,可以輸入想調(diào)用的所有的netsh命令,甚至告訴netsh連接到遠(yuǎn)程計(jì)算機(jī)。

  另一方面,可以使用的netsh -f ,指定netsh所使用的腳本名稱(chēng)。

  #7 –打開(kāi)防火墻的端口

  netsh命令可以快速、方便地打開(kāi)一個(gè)防火墻的端口。比如下面這個(gè)例子,將打開(kāi)445端口:

  netsh firewall set portopening tcp 445 smb enable

  如果該命令執(zhí)行成功,將得到“Ok.”的回應(yīng)消息。

  #6 –當(dāng)前的網(wǎng)絡(luò)配置的導(dǎo)入與導(dǎo)出

  netsh命令可以很輕松地導(dǎo)入和導(dǎo)出您的IP地址配置。與GUI界面下操作不同的是,如果要導(dǎo)出配置信息,需要輸入以下命令:

  netsh –c interface dump > test.txt

Windows Server 2008中 Netsh 十大常用命令

  *** 圖3: 導(dǎo)出并查看IP 地址的配置信息

  稍后在同一臺(tái)計(jì)算機(jī)上或者不同的機(jī)器上,可以使用以下命令,導(dǎo)入此配置文件:

  netsh –f test.txt

  #5 –嘗試Netsh 命令最新的用法

  Windows Server 2008中的許多新功能,都涉及到了netsh命令。 以下是Windows Server 2008系統(tǒng)中netsh命令的新類(lèi)別:

  * dhcp

  * dhcpclient

  * http

  * ipsec

  * lan

  * nap

  * netio

  * rpc

  * winhttp

  我們不僅可以設(shè)置DHCP客戶(hù)端,而且可以設(shè)置DHCP服務(wù)器。還可以配置IPSec加密、網(wǎng)絡(luò)接入保護(hù)(NAP)客戶(hù)端等等......

  當(dāng)服務(wù)器上新增了些角色之后,將會(huì)看到更多的上下文。例如,如果在Windows Server 2008增加了個(gè)網(wǎng)絡(luò)策略服務(wù)器的角色,netsh配置項(xiàng)的上下文將多了個(gè)“nps”。

  #4 – TCP/IP問(wèn)題排查和網(wǎng)卡修復(fù)

  使用netsh,可以排查和重置TCP/IP網(wǎng)卡。我們看下面幾個(gè)例子:

  * 重置所有IP協(xié)議棧的配置信息并輸出日志文件——netsh int ipv4 reset resetlog.txt

  * 安裝TCP / IP協(xié)議——netsh int ipv4 install

  * 卸載TCP / IP協(xié)議——netsh int ipv4 uninstall

  #3 –配置windows 高級(jí)防火墻

  在Windows Server 2008和Windows Vista中,可以使用新的advfirewall網(wǎng)絡(luò)方面的設(shè)置,來(lái)配置雙向的Windows高級(jí)防火墻。當(dāng)然,也可以設(shè)定為傳統(tǒng)的Windows防火墻。下面是一些例子:

  * 顯示所有的防火墻規(guī)則 —— netsh advfirewall firewall show rule name=all

  * 刪除與21端口相關(guān)的所有高級(jí)防火墻規(guī)則 —— netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21

  * 導(dǎo)出Windows高級(jí)防火墻設(shè)置 —— netsh advfirewall export “c:\advfirewall.wfw”

  也許最經(jīng)常用到的命令是啟用或禁用Windows防火墻,可以使用以下命令:

  netsh firewall set opmode disable 或者是:

  netsh firewall set opmode enable

  #2 –配置無(wú)線設(shè)置

  在Windows Server 2008和Windows Vista中,可以利用netsh wlan命令,來(lái)配置無(wú)線網(wǎng)絡(luò)的配置文件,連入無(wú)線網(wǎng)絡(luò)。下面我們來(lái)看幾個(gè)例子:

  * 連接到一個(gè)已定義的無(wú)線網(wǎng)絡(luò)—— netsh wlan connect ssid=”mySSID” name=”WLAN-Profil1”

  * 查看當(dāng)前的無(wú)線設(shè)置——netsh wlan show settings

  * 新增一個(gè)無(wú)線網(wǎng)絡(luò)的配置文件——netsh wlan add profile filename="Wireless Network Connection-BOW.xml"

  #1 – 配置IP地址和網(wǎng)絡(luò)設(shè)置

  正如netsh英文縮寫(xiě)(network shell)一樣,netsh的最初目的,就是用來(lái)配置網(wǎng)絡(luò)的基本參數(shù)。下面我們看一些例子:

  * 查看網(wǎng)卡的IP地址—— netsh interface ip show config

  * 設(shè)置網(wǎng)卡的IP地址使用DHCP—— netsh interface ip set address name="Local Area Connection" source=dhcp

  * 設(shè)置網(wǎng)卡的IP地址使用一個(gè)靜態(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服務(wù)器設(shè)置- netsh interface ip add dnsserver "Local Area Connection" 10.0.0.1

  四、小結(jié)

  netsh命令行實(shí)用工具一直是Windows系統(tǒng)管理員的一個(gè)功能非常強(qiáng)大的工具。在Windows Server 2008和Windows Vista中,隨著新特性的增加,netsh的功能將更為強(qiáng)大和靈活,本文介紹的10個(gè)命令,對(duì)于管理員日常工作中遇到麻煩的時(shí)候,應(yīng)該有所幫助。

北大青鳥(niǎo)網(wǎng)上報(bào)名
北大青鳥(niǎo)招生簡(jiǎn)章