下面是網路看來的整理
時常都要切換網路卡的 TCP/IP 設定,
每次都透過介面切換也實在很煩。
用軟體又有點慢且要多裝一個軟體
首先,先介紹如何設定網路介面到 DHCP 模式
1. 先查到你的網路卡介面名稱,如下圖示,你的名稱就是【區域連線】四個字。
2. 再利用記事本(Notepad)開啟一份新文件,並且命名為 SwitchToDHCP.bat
3. 輸入以下指令碼(由於 Windows XP 與 Windows Vista 的指令有些差異,因此分開列表)
- Windows 2000 / XP / 2003
netsh interface ip set address "區域連線" source=dhcp
netsh interface ip set dns "區域連線" source=dhcp - Windows Vista / 2008
netsh interface ip set address "區域連線" source=dhcp
netsh interface ip set dnsserver "區域連線" source=dhcp
再來,介紹如何設定網路介面到靜態 IP 模式
1. 先查到你的網路卡介面名稱,如上圖示。
2. 再利用記事本(Notepad)開啟一份新文件,並且命名為 SwitchTo公司內部IP.bat
3. 輸入以下指令碼(由於 Windows XP 與 Windows Vista 的指令有些差異,因此分開列表)
- Windows 2000 / XP / 2003
netsh interface ip set address "區域連線" static 10.10.1.168 255.255.255.0 10.10.1.254 1
netsh interface ip set dns "區域連線" static 10.10.1.1 primary - Windows Vista / 2008
netsh interface ip set address "區域連線" static 10.10.1.168 255.255.255.0 10.10.1.254 1
netsh interface ip set dnsserver "區域連線" static 10.10.1.254 primary
設定靜態 IP 時,標準的指令公式如下:
- Windows 2000 / XP / 2003
netsh interface ip set address "<介面名稱>" static [IP] [子網路遮罩] [預設閘道] [閘道公制]
netsh interface ip set dns "<介面名稱>" static [名稱伺服器位址] primary - Windows Vista / 2008
netsh interface ip set address "<介面名稱>" static [IP] [子網路遮罩] [預設閘道] [閘道公制]
netsh interface ip set dnsserver "<介面名稱>" static [名稱伺服器位址] primary
當然,這只是針對網路介面卡做基本的設定,如果要將你現有的網路設定「完整紀錄」下來的話,可以利用以下指令達成:
netsh -c interface dump > netsh_office.cfg上面那個指令是將你現在的網路設定全部匯出(dump)到 netsh_office.cfg 檔案中。若下次要將設定還原,可以直接利用以下指令達成:
netsh -f netsh_office.cfg
當然,載入 netsh 設定檔的指令一樣可以寫成批次檔。
*增加第二個DNS
set dns name="區域連線" source=static addr=*.*.*.* register=PRIMARY
add dns name="區域連線" addr=*.*.*.* index=2
第一次使用時需要先生成必備的文件(需要等待執行完畢)之後就不必囉。
請先將 TCP/IP 的 IP address 相關資料改成公司的,然後開啟命令列模式也就是 MS-DOS 視窗,輸入
netsh -c interface dump > company.txt
此動作是將公司的設定值存入 company.txt 文字檔內
在來將 TCP/IP 的 IP address 相關資料改成家裡的,同樣在MS-DOS 視窗,輸入
netsh -c interface dump > home.txt
此動作是將家裡的設定值存入 home.txt 文字檔內,之後我們自己寫兩個批次檔
一個為 company.bat 內容為
netsh -f company.txt
另一個為 home.bat 內容為
netsh -f home.txt
----------------------------------------------------------------
@ECHO OFF
@ECHO Updateing IP, Subnet Mask, Gateway IP...
netsh interface ip set address "區域連線" static 192.168.10.100 255.255.255.0 192.168.10.1 1
@ECHO Updateing DNS Server IP...
netsh interface ip set dns "區域連線" static 192.168.10.1 primary
@ECHO 更新完畢!請按下任意鍵關閉!pause
備註:
IP = 192.168.10.100
Subnet = 255.255.255.0
Gateway = 192.168.10.1
DNS = 192.168.10.1
以上4個請依照你的需要改變~
*最長那一行,最後面有一個1 那是正確的,不要把他刪了阿!記得要空一格!
netsh interface ip set address "區域連線" static 192.168.10.100 255.255.255.0 192.168.10.1 1
例如:DHCP.bat
netsh interface ip set address "區域連線" dhcp
netsh interface ip set dns "區域連線" source=dhcp
例如:FixedIP.bat
netsh interface ip set address "區域連線" static 192.168.0.201 255.255.255.0 192.168.0.251 1
netsh interface ip set dns "區域連線" static 168.95.1.1
netsh interface ip add dns "區域連線" 168.95.192.1
-------------------------------------------------------------------------------
以下是微軟官網的文章
Netsh.exe 工具執行下列工作:
- 設定介面。
- 設定路由通訊協定。
- 設定篩選器。
- 設定路由。
- 為執行路由及遠端存取伺服器 (RRAS) 服務的 Windows 遠端存取路由器,設定遠端存取行為。
- 顯示目前在任何電腦上執行路由器的設定。
- 使用指令碼功能,針對指定路由器以批次模式執行命令集合。
Netsh.exe 工具的語法是:
如果要顯示內容中可以使用的子內容和命令清單,請在 netsh> 命令提示字元輸入內容名稱,後面加上空格和 ?。例如,如果要顯示可以在 /routing 內容使用的子內容和命令清單,請在 netsh> 命令提示字元輸入 routing ?,然後按 ENTER。
內容字串會附加在 Netsh.exe 工具命令之後,傳送至相關的協助程式。協助程式可以有一或多個對應至內容的進入點。Netsh.exe 工具中可使用的部分內容如下:
內容命令:/dhcp
結果:變更為動態主機設定通訊協定 (DHCP) 內容。
內容命令:/ras
結果:變更為遠端存取伺服器 (RAS) 內容。
內容命令:/routing
結果:變更為路由內容。
內容命令:/wins
結果:變更為 Windows 網際網路名稱服務 (WINS) 內容。
內容也可以巢狀於其他內容中。例如,下列內容可以在 netsh>ras 內容中操作:
內容命令:/ip
結果:變更為網際網路通訊協定 (IP) 內容。
內容命令:/ipx
結果:變更為網際網路封包交換 (IPX) 內容。
內容命令:/netbeui
結果:變更為 NetBIOS 增強型使用者介面 (NETBEUI) 內容。
下列子內容可以在 netsh>routing ip 內容中操作:
內容命令:/autodhcp
結果:變更為 autodhcp 子內容。
內容命令:/dnsproxy
結果:變更為 dnsproxy 子內容。
內容命令:/igmp
結果:變更為網際網路群組成員資格通訊協定 (IGMP) 子內容。
內容命令:/mib
結果:變更為管理資訊庫 (MIB) 子內容。
內容命令:/nat
結果:變更為網路位址轉譯 (NAT) 子內容。
內容命令:/ospf
結果:變更為先開啟最短的路徑 (OSPF) 子內容。
內容命令:/relay
結果:變更為轉接子內容。
內容命令:/rip
結果:變更為路由資訊通訊協定 (RIP) 子內容。
Netsh.exe 命令
下列附加命令可以與 Netsh.exe 工具一起使用:
注意: 選擇性參數顯示在方括弧 ([ ]) 中。替代項目之間會顯示直線 (|) 字元。
內容命令:/?
結果:顯示說明。
內容命令:/abort
結果:捨棄在離線模式進行的任何變更。在連線模式下沒有作用。
內容命令:/add helper DLL-name
結果:在 netsh.exe 中安裝協助程式 .dll 檔案。
內容命令:/alias [alias-name] [string1] [string2 ...]
結果:如果為 /alias,則列出所有別名。如果為 /alias alias-name,則顯示相等的字串。如果為 /alias alias-name string1 string2 ...,則將 alias-name 設定為指定字串。
內容命令:/bye
結果:結束程式。
內容命令:/commit
結果:將離線模式下進行的任何變更認可至路由器。在連線模式下沒有作用。
內容命令:/delete helper .dll file name
結果:移除 Netsh.exe 中的協助程式 .dll 檔案。
內容命令:/dump -file name
結果:將設定傾印或附加至文字檔案。
內容命令:/exec script file name
結果:載入指令檔,並執行其中的命令。
內容命令:/exit
結果:結束程式。
內容命令:/h
結果:顯示說明。
內容命令:/help
結果:顯示說明。
內容命令:/offline
結果:將目前的模式設定為離線。將儲存在此模式下進行的任何變更,但需要使用 commit 或 online 命令才會在路由器中設定變更。
內容命令:/online
結果:將目前的模式設定為連線。在此模式下的任何變更會立即反映在路由器中。
內容命令:/popd
結果:顯示堆疊中的內容。
內容命令:/pushd
結果:將目前內容推入堆疊中。
內容命令:/quit
結果:結束程式。
內容命令:/set mode [mode =] online | offline
結果:將目前的模式設定為連線或離線。
內容命令:/show alias | helper | mode
結果:如果為 /show alias,則列出所有定義的別名。如果為 /show helper,則列出所有最上層的協助程式。如果為 /show mode,則顯示目前的模式。
內容命令:/unalias alias name
結果:刪除指定別名。
可用的協助程式動態連結程式庫檔案
路由及遠端存取 IP 設定 - Ipmontr.dll
路由及遠端存取 IPX 設定 - Ipxmontr.dll
介面 - Ifmon.dll
RAS - Rasmontr.dll
DHCP - Dhcpmon.dll
WINS - Winsmon.dll
協助程式動態連結程式庫檔案的相關登錄項目
REG_SZ:Ipmontr.dll
REG_SZ:Ipxmontr.dll
REG_SZ:Ifmon.dll
REG_SZ:Rasmontr.dll
REG_SZ:Dhcpmon.dll
REG_SZ:Winsmon.dll
注意:如果嘗試使用 Netsh dump -<file name> 以將設定傾印至檔案時失敗,請嘗試使用語法:netsh dump >filename 或 path\filename (從命令列執行)。



