สร้างแบทช์ไฟล์เปลี่ยนไอพีและอื่นๆที่เกี่ยวข้อง
ไซด์งานใหม่ที่ผมต้องดูแลด้านไอที มีอินเตอร์เน็ต 2 เส้น ทางหนึ่งเป็น WINET ของ TOT อันนี้ขอไว้ตั้งแต่เริ่มถมดิน พอย้ายมาอยู่จริง ก็ได้ FIBER OPTICAL มาอีกทาง แต่ในความเป็นจริงแล้ว ตัวหลังเร็วกว่า แต่เดี้ยงบ่อยๆ ซึ่งยังได้พ่วง IP PHONE เข้าไปอีก 2 เบอร์ ทำให้การโทรและการรับส่งแฟกส์พลอยง้องแง้งตามไปด้วย
พอเน็ตหลักเสีย ก็ต้องไปไล่ปรับค่า Gateway กันใหม่ทุกรอบ หลายๆเครื่องก็เซ็งเหมือนกัน
ปกติ ผมจะตั้ง Gateway และ DNS1 ให้ชี้ไปที่ Router/Modem เหมือนกัน ก็สามารถเข้าอินเตอร์เน็ตได้แล้ว แต่บังเอิญว่า Router/Modem ของ FIBER OPTICAL ไม่ได้ถ่ายทอดเลข DNS จริงๆออกมาให้ด้วย จึงจำเป็นต้องตั้งค่าทั้งหมด
ในระบบของ WINET มีค่าต่างๆที่จำเป็นดังนี้ Gateway=192.168.64.101 PRE DNS=192.168.64.101
ส่วนของ FIBER OPTICAL มีค่าต่างๆที่จำเป็นดังนี้ Gateway=192.168.64.100 PRE DNS=203.113.7.130 ALT1. DNS=203.113.5.130 ALT2. DNS=8.8.8.8 ALT3. DNS=8.8.4.4
DNS 2 ตัวหลัง เป็นของ google ที่ให้ใช้กันแบบฟรีๆ ซึ่งบางที DNS หลักของ TOT เองก็มีล่ม ของ google ก็สามารถพาออกเน็ตได้เป็นอย่างดี
แบทช์ไฟล์ของ WINET เป็นแบบนี้
setLocal EnableDelayedExpansion SET vargw=192.168.64.101 SET xdns1=192.168.64.101
rem SET xdns2= rem SET xdns3= rem SET xdns4=
FOR /F "Tokens=1,2,3,4,* delims= " %%i in ('ver') DO set VCHK=%%l IF %VCHK%==6 SET IPVxS=ipv4 SET IPVxS=ip FOR /F "Tokens=2 delims==" %%z in ('WMIC NIC where "NetConnectionStatus='2' and NetConnectionID like 'Local Area Connection%%'" GET NetConnectionID /VALUE') DO SET LCON1=%%z FOR /F "Tokens=1,2,3,4 delims==: " %%a in ('netsh interface %IPVxS% show addresses "%LCON1%" ^| Find /i "IP Address:"') do set MYIP=%%c netsh interface %IPVxS% set address name = "%LCON1%" source = static addr = %MYIP% mask = 255.255.255.0 gateway = %vargw% gwmetric = 1 netsh interface %IPVxS% set dns "%LCON1%" static %xdns1% primary 1>&2>nul
rem netsh interface %IPVxS% add dns "%LCON1%" %xdns2% 1>&2>nul rem netsh interface %IPVxS% add dns "%LCON1%" %xdns3% 1>&2>nul rem netsh interface %IPVxS% add dns "%LCON1%" %xdns4% 1>&2>nul
Endlocal rem pause exit
แบทช์ไฟล์ของ FIBER OPTICAL เป็นแบบนี้
setLocal EnableDelayedExpansion SET vargw=192.168.64.100 SET xdns1=203.113.7.130 SET xdns2=203.113.5.130 SET xdns3=8.8.8.8 SET xdns4=8.8.4.4 FOR /F "Tokens=1,2,3,4,* delims= " %%i in ('ver') DO set VCHK=%%l IF %VCHK%==6 SET IPVxS=ipv4 SET IPVxS=ip FOR /F "Tokens=2 delims==" %%z in ('WMIC NIC where "NetConnectionStatus='2' and NetConnectionID like 'Local Area Connection%%'" GET NetConnectionID /VALUE') DO SET LCON1=%%z FOR /F "Tokens=1,2,3,4 delims==: " %%a in ('netsh interface %IPVxS% show addresses "%LCON1%" ^| Find /i "IP Address:"') do set MYIP=%%c netsh interface %IPVxS% set address name = "%LCON1%" source = static addr = %MYIP% mask = 255.255.255.0 gateway = %vargw% gwmetric = 1 netsh interface %IPVxS% set dns "%LCON1%" static %xdns1% primary 1>&2>nul netsh interface %IPVxS% add dns "%LCON1%" %xdns2% 1>&2>nul netsh interface %IPVxS% add dns "%LCON1%" %xdns3% 1>&2>nul netsh interface %IPVxS% add dns "%LCON1%" %xdns4% 1>&2>nul Endlocal rem pause exit
พอเน็ตหลักเสีย ก็ให้พนักงานไปดับเบิ้ลคลิกแบทช์ไฟล์เอาเอง ว่างๆก็ลองมาดับเบิ้ลคลิกที่เน็ตหลักว่ามาหรือยัง ถ้ายังไม่มาก็ดับเบิ้ลคลิกกลับไป
ขอหมายเหตุไว้หน่อยว่า มิได้เป็นคนคิดแบทช์ไฟล์นี้ขึ้นมาเองแต่อย่างใด แต่ได้มาจากการค้นหาจากอินเตอร์เน็ต แล้วนำมาดัดแปลง ทดลอง เพื่อใช้งาน ดังนั้น ต้องขอขอบคุณท่านเจ้าของแบทช์ไฟล์ตัวจริงด้วยนะครับ แต่เนื่องจากผมค้นมาบันทึกไว้นานมากแล้ว จึงไม่ทราบว่าได้มาจากแหล่งใด ต้องขออภัยจริงๆครับ
อีกนิด...เท่าที่ลองใช้งาน จะใช้ได้ถูกต้องกับ windows 7 คือโค้ดจะอ่านชื่อการ์ดแลนขึ้นมาได้เอง แล้วนำชื่อนั้นมาตั้งค่าต่างๆได้ ส่วน windows xp จะต้องใช้โค้ดประเภทที่กำหนดชื่อการ์ดเอง ที่อาจจะตามด้วยตัวเลข เช่น "local area connection2" ซึ่งโค้ดแบบนี้สามารถเสิร์จหาได้มากมายอยู่แล้ว
สวัสดีครับผม
Create Date : 08 กรกฎาคม 2556 |
Last Update : 16 กรกฎาคม 2556 16:11:27 น. |
|
2 comments
|
Counter : 2768 Pageviews. |
|
|
|
แก้เพียง gateway อย่างเดียวพอ
ผมพ จำได้ว่าท่านเคยเขียนเรื่อง load balance
น่าจะนำมาใช้คร้บ
s