萬盛學電腦網

 萬盛學電腦網 >> Windows xp教程 >> 更改ip地址網關?巧用netsh命令

更改ip地址網關?巧用netsh命令

  我們可能需要在不同的網絡中工作,一遍又一遍地重復修改IP地址是一件比較麻煩的事。另外,系統崩潰了,重新配置網卡等相關參數也比較煩人(尤其是無線網卡)。事實上,巧妙地利用Windows 2000/XP/2003系統內置的netsh命令,可以實現快速切換IP地址,一起來看看吧.

  下面是兩個關於netsh的用法,將它們復制到文本文檔中,將後綴名 .txt 改為 .cmd直接雙擊就可以執行:

  第一個是用netsh命令來修改電腦的IP地址,子網掩碼,默認網關和DNS.

  @echo off

  netsh interface ip set address "本地連接" static 192.168.0.1 255.255.255.0 192.168.0.254 1

  netsh interface ip set dns "本地連接" static 202.194.40.1

  netsh interface ip add dns "本地連接" 202.194.40.2 2

  注意:上面用藍色字體表出的部分是需要你修改的部分。其中第二,三,四行中 "本地連接" 一般不需要修改,這要看你的電腦中右擊 “網上鄰居”,選擇“屬性”出現“網絡連接”窗口中的連接名而定,一般的只有一個“本地連接”。

  第二行中的192.168.0.1 255.255.255.0 192.168.0.254 三個地址依次為IP地址,子網掩碼和默認網關,把它們換成你要修改的地址。

  第三行中的 202.194.40.1 為DNS的地址,把它換成你要修改的DNS地址即可。

  第四行中的202.194.40.2 為輔助DNS地址,也就是第二個,把它換成你要修改的第二個DNS地址即可,如果沒有的話,可以把第四行直接刪除即可。

  第二個是用netsh命令來修改電腦的IP地址,子網掩碼,默認網關和DNS為動態獲取.

  @echo off

  netsh interface ip set address "本地連接" dhcp

  netsh interface ip set dns "本地連接" dhcp

  注意:這個比較簡單,只需根據自己電腦的情況,修改一下藍色字體標注的"本地連接" 即可,一般不需要修改。

  下面這篇文章是關於 netsh 命令的詳細用法,看完後,你會明白它的其它一些用法。

  在 Windows 2000 中可以使用 netsh 命令為以下過程編寫腳本:將計算機的靜態 Internet 協議 (IP) 地址更改為動態主機配置協議 (DHCP) 地址或相反。netsh 命令無需重新啟動計算機即可完成此任務。對於從一個環境移到另一個環境的便攜式計算機,當它在一個位置中必須使用靜態分配的 IP 地址,而在另一個位置必須使用 DHCP 分配的 IP 地址時,此功能尤其有用。

  本文所說的方法適應於Windows 2000,Windows XP和Windows Server 2003。

  要將指定適配器的靜態地址切換為 DHCP 地址,請鍵入以下命令:

  netsh interface ip set address "本地連接" dhcp注意:鍵入此命令會將名為"本地連接"的接口更改為 DHCP。

  要顯示計算機中的所有適配器及其當前 IP 地址,以確定正確的適配器名稱,請鍵入以下命令: Netsh interface ip show config要更改為靜態地址,請鍵入以下命令: netsh interface ip set address "本地連接" static  IP  掩碼  網關  躍點數如:netsh interface ip set address "本地連接" static 192.168.0.10 255.255.255.0 192.168.0.1 1

  更改DNS為192.168.0.1:netsh interface ip set DNS "本地連接" static 192.168.0.1刪除網關:netsh interface ip delete address "本地連接" gateway=all刪除DNS:

  netsh interface ip delete dns "本地連接" all

  如果執行配置時提示"指定了無效的接口",則請您開啟系統的"Remote Registry Service"服務。 上一頁123下一頁共3頁

  控制面板-->管理工具-->服務-->開啟Remote Registry Service

  修改ip,子網掩碼,網關,dns。“網絡連接名”是你機器上網絡屬性裡看到的連接名,把下面改成自己的連接名。

  netsh interface ip set address "網絡連接名" static 192.168.0.88 255.255.255.0 192.168.0.1 1

  netsh interface ip set dns "網絡連接名" static 202.216.224.66

  netsh interface ip add dns "網絡連接名" 202.216.224.67 如果要改成動態分配ip和自動獲得dns使用下面命令。

  netsh interface ip set address "網絡連接名" dhcp

  netsh interface ip set dns "網絡連接名" dhcp由於我所處的地方要經常在不同的網絡之間切換,比如局域網、系統內部網和外網(光是外網我要常常在3個ADSL網之間切換)。我之前一直用的方法是在本機上設置多個不同網段的IP,然後切換路由(Route),這樣不同的網段通過不同的網關出去,就可以達到同時訪問多個網絡的目的。但是這樣我發現經常可能出現一些問題,所以我決定用最原始的方法來解決,那就是在要使用某一個網段的時候就只用這個網段的IP,這樣就需要不停的更換IP地址。當然,在Windows的“網絡連接”屬性中這樣的更改是很麻煩的,不過還好的是,Windows的“netsh”命令提供了命令行下更改IP的功能,利用這一點,可以將它做成BAT的批處理文件,就方便多了。以下就是具體的方法和命令詳解:首先進入命令提示行:“Win+R”>“cmd”,回車

  輸入netsh,回車,出現:netsh>

  再輸入interface,回車,出現netsh interface>

  再輸入ip,回車,出現netsh interface ip>進入IP設置項了,我們要用到以下的命令:

  set address - 添加一個 IP 地址到指定的接口。先看看關於此令的windows幫助:

  --------------------------------------------------------------------------

  用法: set address [name=]

  [[source=]dhcp |

  [source=] static [addr=]IP address [mask=]IP subnet mask]

  [[gateway=]|none [gwmetric=]integer]參數: 標記 值

  name - 接口名稱。

  source - 下列值之一:

  dhcp: 對於指定接口,設置用 DHCP 配置 IP

  地址。

  static: 設置使用本地靜態配置設置 IP

  地址。 gateway - 下列值之一:

  : 您設置的 IP 地址的指定默認

  網關。

  none: 不設置默認網關。

  gwmetric - 默認網關的躍點數。如果網關設置為 'none',則

  不應設置此字段。

  只有在 'source' 為 'static' 時才設置下列選項: addr - 指定接口的 IP 地址。

  mask - 指定 IP 地址的子網掩碼。注釋 : 用來將 IP 地址配置模式從 DHCP 模式改為 static,或從 static

  模式改為 DHCP。用靜態 IP 地址在接口上添加 IP 地址,或添加

  默認網關。

  示例 : set address name="Local Area Connection" source=dhcp

  set address local static 10.0.0.9 255.0.0.0 10.0.0.1 1

  ----------------------------------------------------------------------------了解了用法之後,我們就可以進行設置了: 上一頁12 3下一頁共3頁

  在netsh interface ip>之後輸入

  set address "本地連接" static 192.168.4.23 255.255.255.192 192.168.4.1 1

  然後回車,稍候會顯示“確定”,IP設置完畢。

  這裡解釋一下,“本地連接”是指Windows“網絡屬性”中看到的連接的名稱,static表示要指定靜態IP而非DHCP指派,後面三個分別是IP,子網掩碼,網關,最後的“1”是指默認網關的躍點數,一般為“1”。至此,命令行下設置IP完成。

  同時你還可以在命令行下更改DNS設置,用的是set dns命令,你可以輸入set dns /?查看使用方法。最後,我們將這些命令保存為一個BAT文件(setIP192168423.bat):

  @echo off

  rem eth //eth 為網卡名稱,可在網絡連接中查詢,如"本地連接"

  set eth="本地連接"

  rem ip //ip 為你想更改的IP

  set ip=192.168.4.23

  rem gw //gw 為網關地址

  set gw=192.168.4.1

  rem netmasks //netmasks 為子網掩碼

  set netmasks=255.255.255.192

  echo 正在將本機IP更改到: %ip%

  rem

  if %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% > nul

  if not %gw%==none netsh interface ip set address %eth% static %ip% %netmasks% %gw% 1 > nul

  echo..............

copyright © 萬盛學電腦網 all rights reserved