- Netsh ช่วยให้คุณสามารถสอบถาม กำหนดค่า และวินิจฉัยเครือข่ายใน Windows โดยใช้บริบทเฉพาะทาง (IPv4, Wi-Fi, ไฟร์วอลล์, TCP, พร็อกซี ฯลฯ)
- ด้วยคำสั่งต่างๆ ของโปรแกรมนี้ คุณสามารถจัดการที่อยู่ IP, DNS, โปรไฟล์ Wi-Fi, กฎไฟร์วอลล์ และรีเซ็ตสแต็ก TCP/IP และ Winsock ได้
- Netsh ช่วยให้การทำงานอัตโนมัติเป็นไปได้ง่ายขึ้น โดยรองรับการเขียนสคริปต์ การส่งออกและนำเข้าการกำหนดค่า และการเรียกใช้งานจากระยะไกลด้วยข้อมูลรับรองที่แตกต่างกัน
- แม้ว่าจะใช้งานได้ไม่สะดวกเท่ากับอินเทอร์เฟซแบบกราฟิก แต่ก็ยังคงเป็นเครื่องมือสำคัญสำหรับการจัดการเครือข่ายและการแก้ไขปัญหาขั้นสูง
หากคุณใช้งาน Windows และเกี่ยวข้องกับเครือข่ายบ่อยๆ ไม่ช้าก็เร็วคุณจะต้องเจอกับคำสั่ง netsh และศักยภาพเต็มรูปแบบของมันในการจัดการเครือข่ายและ Wi-Fi ด้วยคำสั่งแม้ว่าส่วนใหญ่จะสามารถทำได้จากส่วนติดต่อผู้ใช้แบบกราฟิก แต่เมื่อคุณต้องการทำงานอย่างรวดเร็ว ทำงานอัตโนมัติ หรือแก้ไขปัญหาที่สำคัญ บรรทัดคำสั่งคือเพื่อนที่ดีที่สุดของคุณ
คู่มือนี้ได้รวบรวมและจัดระเบียบข้อมูลจากคู่มือที่ดีที่สุดในหัวข้อนี้ไว้อย่างชัดเจน เพื่อให้คุณมีคู่มือ netsh ฉบับสมบูรณ์ในที่เดียว: มันคืออะไร ทำงานอย่างไร และคำสั่งที่มีประโยชน์ที่สุดสำหรับ IPv4, Wi-Fi, ไฟร์วอลล์, DNS, พร็อกซี, สคริปต์ และการวินิจฉัยเครือข่ายใน Windows
netsh คืออะไร และใช้ทำอะไรใน Windows?
Netsh (Network Shell) เป็นเครื่องมือแบบบรรทัดคำสั่งที่มีอยู่ใน Windows ซึ่งช่วยให้คุณสามารถตรวจสอบ กำหนดค่า และวินิจฉัยเครือข่ายของคุณได้ทั้งบนคอมพิวเตอร์ไคลเอ็นต์ (Windows 10, 11 ฯลฯ) และบน Windows Server ทุกอย่างทำได้โดยใช้คำสั่งโดยไม่มีส่วนติดต่อผู้ใช้แบบกราฟิก
ยูทิลิตีนี้ทำงานโดยใช้บริบทคำสั่งที่โหลดผ่านไฟล์ DLLแต่ละไฟล์ DLL จะเพิ่มชุดคำสั่งสำหรับฟังก์ชันเฉพาะ เช่น DHCP, ไฟร์วอลล์, IP, Wi-Fi, TCP เป็นต้น ตัวอย่างเช่น ไลบรารี dhcpmon.dllจะเพิ่มบริบทสำหรับการจัดการเซิร์ฟเวอร์ DHCP จาก netsh
ในหลายกรณี คำสั่ง netsh มีฟังก์ชันการทำงานเหมือนกับส่วนเสริมของ Microsoft Management Console (MMC)ที่คุณใช้ในโหมดกราฟิก เช่น ไฟร์วอลล์ขั้นสูง, Network Policy Server (NPS), BranchCache, IPsec, HTTP และอื่นๆ ในบางกรณี คุณยังสามารถเข้าถึงการตั้งค่าที่ส่วนติดต่อผู้ใช้แบบกราฟิกไม่สามารถเข้าถึงได้ เช่น การกำหนดค่า IPv6, WFP หรือ RPC บางอย่าง
ข้อดีอย่างยิ่งของ netsh คือคุณสามารถตั้งค่าการเปลี่ยนแปลงโดยอัตโนมัติ เรียกใช้คำสั่งจากระยะไกล และสร้างสคริปต์ที่นำกลับมาใช้ซ้ำได้ซึ่งเป็นประโยชน์อย่างมากหากคุณจัดการคอมพิวเตอร์หรือเซิร์ฟเวอร์หลายเครื่องและต้องการทำงานอย่างสม่ำเสมอ
ไวยากรณ์ทั่วไปของคำสั่ง netsh
ไวยากรณ์พื้นฐานของ netsh ตามที่ Microsoft ได้ระบุไว้ มีดังนี้ (ปรับให้เข้ากับภาษาสเปน):
netsh
พารามิเตอร์แต่ละตัวมีวัตถุประสงค์เฉพาะ และทั้งหมดเป็นตัวเลือก ยกเว้นคำสั่งหรือสคริปต์ที่คุณต้องการเรียกใช้:
- -ถึง: ระบุว่าคุณต้องการเรียกใช้ไฟล์นามแฝง (ข้อความธรรมดาที่มีคำสั่ง netsh หลายคำสั่ง) และเมื่อเสร็จสิ้นแล้ว ให้กลับไปยังเชลล์ netsh แทนที่จะออกจากโปรแกรม
- -c: กำหนดบริบทเริ่มต้น นั่นคือ พื้นที่คำสั่งที่คุณจะใช้งาน (ตัวอย่างเช่น
wlan,interface,advfirewall). - -r: เรียกใช้คำสั่งบนคอมพิวเตอร์เครื่องอื่น โดยใช้ชื่อคอมพิวเตอร์ ชื่อโดเมนแบบเต็ม (FQDN) หรือที่อยู่ IP ต้องเปิดใช้งานบริการ Remote Registry หากไม่เปิดใช้งาน คุณจะพบข้อผิดพลาด "ไม่พบเส้นทางเครือข่าย".
- -หรือ: อนุญาตให้เรียกใช้ netsh ด้วยข้อมูลประจำตัวของบัญชีผู้ใช้อื่น ไม่ว่าจะเป็นบัญชีภายในเครื่องหรือบัญชีโดเมน
- -p | *: ประกอบ -u เพื่อป้อนรหัสผ่านบัญชี ด้วย
*บังคับให้คุณต้องป้อนรหัสอย่างปลอดภัยโดยไม่ต้องแสดงรหัสบนหน้าจอ - -เอฟ: เรียกใช้สคริปต์ netsh (รายการคำสั่ง) และออกจากโปรแกรมโดยอัตโนมัติเมื่อเสร็จสิ้น
เมื่อค่าสตริงมีช่องว่าง ช่องว่างนั้นจะต้องไม่มีอยู่จริง ใส่เครื่องหมายอัญประกาศคู่ล้อมรอบตัวอย่างเช่น หากต้องการใช้งานคอมพิวเตอร์ระยะไกลที่มีชื่อไฟล์มีช่องว่างอยู่ คุณจะต้องทำเช่นนี้: -r "equipo remoto oficina".
บริบท บริบทย่อย และความช่วยเหลือในตัวของ Netsh
Netsh ทำงานในลักษณะ "คอนโซลขนาดเล็ก" ภายในระบบ โดยคุณสามารถสลับไปมาระหว่างบริบทและบริบทย่อยต่างๆ ขึ้นอยู่กับส่วนประกอบเครือข่ายที่คุณต้องการจัดการ เช่น อินเทอร์เฟซ, IPv4, IPv6, ไฟร์วอลล์, Wi-Fi, TCP, UDP เป็นต้น
หากคุณพิมพ์เฉพาะจาก CMD หรือ PowerShell เท่านั้น netsh และคุณกด Enter คุณจะเข้าสู่ระบบ netsh interactive shellตรงนั้นคุณจะเห็นข้อความแจ้งเตือนที่คล้ายกับ netsh>และจากตรงนั้นคุณสามารถเปลี่ยนบริบทได้:
- การเขียน
dhcpclientคุณจะเข้าสู่บริบทไคลเอ็นต์ DHCP - ถ้าคุณเขียน
interfaceคุณจะข้ามไปยังบริบทของอินเทอร์เฟซเครือข่าย - จาก
interfaceคุณสามารถไปที่บริบทย่อยได้ipv4oipv6, otros Entre
ข้อความที่ปรากฏอยู่ก่อนสัญลักษณ์ > มันบอกคุณ คุณอยู่ที่ไหน ณ ขณะใดขณะหนึ่ง. ยกตัวอย่างเช่น netsh interface ipv4> ข้อความนี้แสดงให้เห็นอย่างชัดเจนว่าคุณอยู่ในบริบทย่อยของอินเทอร์เฟซ IPv4
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าระบบของคุณรองรับบริบทใดบ้าง netsh ? o netsh helpในรายการทั่วไป คุณจะพบสิ่งต่างๆ เช่น:
- แอดวีไฟร์วอลล์: การจัดการไฟร์วอลล์ของ Windows พร้อมระบบรักษาความปลอดภัยขั้นสูง
- WLANทุกสิ่งทุกอย่างที่เกี่ยวข้องกับเครือข่าย Wi-Fi
- อินเตอร์เฟซ: การจัดการอินเทอร์เฟซเครือข่ายและบริบทย่อยต่างๆ (IPv4, IPv6, TCP, UDP…)
- branchcache, http, ipsec, ras, winsock, winhttp และอื่น ๆ อีกมากมาย.
นอกจากนี้ แต่ละบริบทก็มีลักษณะเฉพาะของตนเอง บริบทย่อยที่ซ้อนกันตัวอย่างเช่น ภายใน interface คุณมี ipv4, ipv6, tcp, udp, portproxy, teredoเป็นต้น โดยแต่ละอย่างจะมีคำสั่งเฉพาะของตนเอง
หากคุณไม่ต้องการเปลี่ยนตำแหน่งที่ตั้ง คุณสามารถใช้เส้นทางแบบเต็มไปยังคำสั่งได้ตัวอย่างเช่น จากที่ใดก็ได้ (แม้กระทั่งนอก netsh) คุณสามารถเรียกใช้คำสั่ง:
netsh interface ipv4 set address "NetLAN1" static <IP> <MASCARA> <PUERTA_DE_ENLACE>
วิธีนี้จะกำหนดที่อยู่ IP แบบคงที่ให้กับอินเทอร์เฟซ "NetLAN1" โดยไม่ต้องสลับบริบทด้วยตนเอง
คำอธิบายและไวยากรณ์ของคำสั่ง netsh
เอกสารประกอบการใช้งาน netsh ใช้หลักเกณฑ์ที่ชัดเจนมากในการอธิบายว่าส่วนใดของคำสั่งเป็นส่วนที่ต้องปฏิบัติตามจริง และส่วนใดที่คุณควรแทนที่ด้วยข้อมูลของคุณเอง
- ข้อความใน หนังสือแบบตัวเอียง โดยปกติจะชี้ให้เห็น ข้อมูลที่คุณต้องการเปลี่ยนแปลงเช่น ชื่อผู้ใช้ ไฟล์ หรืออินเทอร์เฟซ
- ข้อความใน ตัวหนา นั่นหมายถึงสิ่งที่คุณต้องเขียนลงไปตรงตามต้นฉบับทุกประการ โดยไม่มีการแก้ไขใดๆ
- เมื่อคุณเห็นพารามิเตอร์ตามด้วยจุดไข่ปลา (...) หมายความว่าพารามิเตอร์นั้น สามารถทำซ้ำได้หลายครั้ง ตามแนวเดียวกัน
- ทุกอย่างที่อยู่ในวงเล็บ es ไม่จำเป็น.
- องค์ประกอบในวงเล็บ {} แยกโดย
|พวกเขาบอกเป็นนัยว่า คุณสามารถเลือกได้เพียงหนึ่งตัวเลือกเท่านั้นตัวอย่างเช่น{enable|disable}. - ข้อความที่ใช้แบบอักษรคงที่ (แบบอักษร Courier) แสดงถึง รหัสคำสั่งหรือผลลัพธ์.
โปรดทราบว่าพารามิเตอร์หลายตัวรับค่าสตริงหากมีช่องว่าง โปรดอย่าลืมใส่เครื่องหมายคำพูดคู่คร่อมช่องว่างเหล่านั้น ตัวอย่างเช่น เมื่อกำหนดค่าอินเทอร์เฟซที่ชื่อว่าWireless Network Connection :
netsh interface ipv4 set address name="Wireless Network Connection" dhcp
แทนที่จะใช้ชื่ออินเทอร์เฟซ คุณยังสามารถใช้หมายเลขดัชนี ได้ (ซึ่งมีประโยชน์เมื่อชื่ออยู่ในภาษาอื่นหรือมีความยาวมาก) ตัวอย่างเช่น:
netsh interface ipv4 set address name=15 dhcp
วิธีใช้งาน netsh: ผ่าน CMD, PowerShell และโหมดโต้ตอบ
Netsh สามารถเรียกใช้งานได้ทั้งจากWindows PowerShell และจากพรอมต์คำสั่งแบบคลาสสิก (CMD)แต่รูปแบบการใช้งานจะแตกต่างกันเล็กน้อยในแต่ละกรณี
หากต้องการเปิดใช้งานในโหมดผู้ดูแลระบบ คุณสามารถทำได้ดังนี้:
- กด ของ Windows + X และเลือก “Windows PowerShell (Administrator)” หรือ “Command Prompt (Administrator)”
- หรือค้นหา “cmd"หรือ"PowerShell"ในเมนู Start ให้คลิกขวาแล้วเลือก Run as administrator"
คุณสามารถเขียนได้จากทั้งสองคอนโซล netsh เพื่อเข้าสู่เชลล์ netsh จากนั้นคุณจะป้อนคำสั่งต่อไปนี้ คำสั่งทีละคำสั่งการเปลี่ยนบริบทและการใช้ ? เพื่อดูตัวเลือกที่มีให้ในแต่ละจุด
หากคุณไม่ต้องการเข้าสู่โหมดโต้ตอบ ใน CMD การพิมพ์คำสั่งต่อไปนี้เป็นเรื่องปกติมาก ดำเนินการคำสั่งให้เสร็จสมบูรณ์ในครั้งเดียว และกด Enter ตัวอย่างเช่น netsh /? เพื่อดูความช่วยเหลือทั่วไปหรืออะไรทำนองนั้น netsh interface tcp show global เพื่อดูพารามิเตอร์ TCP ทั่วโลก
การใช้งาน netsh กับ IPv4: IP, mask, gateway และ DNS
หนึ่งในแอปพลิเคชันที่พบบ่อยที่สุดของ netsh คือการสอบถามและแก้ไขการกำหนดค่า IPv4 ของอินเทอร์เฟซต่างๆเช่น IP, ซับเน็ตมาสก์, เกตเวย์ และเซิร์ฟเวอร์ DNS
หากต้องการแสดงสรุปการกำหนดค่า IPv4 ปัจจุบันบนอินเทอร์เฟซทั้งหมด คุณสามารถใช้คำสั่งต่อไปนี้:
netsh interface ip show config
ทางออกนั้นค่อนข้างไม่ละเอียดถี่ถ้วนเท่าที่ควร ipconfig /allแต่มันก็มีข้อเสนอ ข้อมูลสำคัญทั้งหมดสรุปไว้ในที่เดียว: ตั้งค่า IP ปัจจุบัน, มาสก์, เกตเวย์ และ DNS แล้ว
หากคุณต้องการเปลี่ยนที่อยู่ IP ของอินเทอร์เฟซเครือข่ายเป็นที่อยู่แบบคงที่ เช่น เพื่อเพิ่มประสิทธิภาพการเล่นเกมออนไลน์ คุณสามารถใช้ไวยากรณ์ IPv4 แบบคลาสสิกได้:
netsh interface ip set address name="Ethernet" source=static addr=192.168.1.10 mask=255.255.255.0 gateway=192.168.1.1
คำสั่งนี้จะตั้งค่าที่อยู่ IP 192.168.1.10, ซับเน็ตมาสก์ /24 และเกตเวย์ 192.168.1.1 สำหรับอินเทอร์เฟซ "Ethernet" หากคุณต้องการกำหนดที่อยู่ IP ใหม่ผ่าน DHCP ในภายหลัง คุณเพียงแค่เรียกใช้คำสั่งต่อไปนี้:
netsh interface ip set address name="Ethernet" source=dhcp
หลักการเดียวกันนี้ใช้ได้กับเซิร์ฟเวอร์ DNS ด้วยเช่นกัน ในการตั้งค่า DNS แบบคงที่:
netsh interface ip set dnsserver "Ethernet" static 8.8.8.8 primary
และเพื่อคืนค่าการแปลงชื่อโดเมนกลับไปใช้ DHCP:
netsh interface ip set dnsserver "Ethernet" dhcp
ใน IPv4 คุณจะมีคำสั่งต่างๆ ไว้ใช้แสดงสถิติ IP , ตาราง ARP หรือการเชื่อมต่อ TCP ที่กำหนดค่าไว้ด้วยเช่นกัน:
netsh interface ip show ipstats– สถิติโปรโตคอล IPnetsh interface ip show ipnet– ที่อยู่ IP และ MAC ที่เกี่ยวข้อง (ซึ่งจะกระตุ้นการร้องขอ ARP บนเครือข่าย)netsh interface ip show tcpconn– สรุปการเชื่อมต่อ TCP ที่มีอยู่
การจัดการอินเทอร์เฟซ: ชื่อ ดัชนี และสถานะ
ก่อนที่จะเปลี่ยนแปลงอะไรก็ตาม สิ่งสำคัญคือต้องทราบว่าคุณมีอินเทอร์เฟซอะไรบ้าง ชื่อของอินเทอร์เฟซเหล่านั้น และสถานะปัจจุบันของอินเทอร์เฟซเหล่านั้นการใช้ netsh จะทำให้เรื่องนี้ง่ายขึ้นมาก: เพื่อให้เข้าใจการไหลของการเชื่อมต่อเครือข่าย ได้ดีขึ้น การแสดงรายการอินเทอร์เฟซก่อนทำการเปลี่ยนแปลงการกำหนดค่าใดๆ จะเป็นประโยชน์อย่างยิ่ง
หากต้องการดูรายการทั่วไปของอินเทอร์เฟซเครือข่ายและสถานะ (เชื่อมต่อ, ตัดการเชื่อมต่อ, ปิดใช้งาน):
netsh interface show interface
หากคุณต้องการดัชนีตัวเลขของอินเทอร์เฟซ IPv4 ทั้งหมด (ซึ่งมีประโยชน์เมื่อชื่อมีช่องว่างหรือเครื่องหมายเน้นเสียง):
netsh interface ip show interfaces
นอกจากนี้ คุณยังมีคำสั่งสำหรับแสดงที่อยู่และ DNS ที่กำหนดค่าไว้ตามอินเทอร์เฟซตัวอย่างเช่น:
netsh interface ipv4 show address Wi-Finetsh interface ipv4 show dns Wi-Finetsh interface ipv4 show address Ethernetnetsh interface ipv4 show dns Ethernet
เมื่อคุณอยู่นอกบริบทย่อยใดๆ คุณสามารถใช้เส้นทางแบบเต็มได้ ตัวอย่างเช่น:
netsh interface ipv4 show interfaces
ด้วยวิธีนี้ คุณก็จะเห็นทุกอย่างพร้อมกัน อินเทอร์เฟซ IPv4 ทั้งหมดพร้อมดัชนี MTU และสถานะโดยไม่ต้องข้ามไปยังบริบท interface.
เครือข่าย Wi-Fi: โปรไฟล์, ปุ่มลัด, ไดรเวอร์ และความสามารถต่างๆ
บริบทwlanครอบคลุมเกือบทุกสิ่งที่คุณสามารถทำได้กับเครือข่ายไร้สายจาก netsh: การแสดงรายการโปรไฟล์ การดูรหัสผ่านที่บันทึกไว้ การตรวจสอบไดรเวอร์และคุณสมบัติ และการสร้างรายงานนอกจากนี้ยังช่วยให้คุณสามารถสร้างเครือข่าย Wi-Fi เสมือนโดยใช้ netsh ได้อีกด้วย
เพื่อแสดงรายการโปรไฟล์ Wi-Fi ทั้งหมดที่ระบบบันทึกไว้:
netsh wlan show profiles
หากคุณต้องการกรองตามอินเทอร์เฟซไร้สายเฉพาะ คุณสามารถใช้คำสั่งต่อไปนี้:
netsh wlan show profiles interface="nombre_interfaz"
หากต้องการดูรายละเอียดของตัวควบคุม Wi-Fi (ผู้ผลิต รุ่น วันที่ ประเภทคลื่นความถี่ ฯลฯ):
netsh wlan show drivers
ในระบบรุ่นใหม่ๆ คุณยังสามารถดูคุณสมบัติการเชื่อมต่อไร้สายที่อะแดปเตอร์รองรับได้อีกด้วย:
netsh wlan show wireless capabilities
หากคุณต้องการดูข้อมูลแบบเรียลไทม์เกี่ยวกับอินเทอร์เฟซ Wi-Fi ที่ใช้งานอยู่ (SSID ที่เชื่อมต่อ ช่องสัญญาณ ความแรงของสัญญาณ ความเร็วในการเชื่อมต่อ):
netsh wlan show interfaces
และหากคุณมีหลายรายการ คุณสามารถระบุชื่อได้:
netsh wlan show interface name="Nombre_interfaz"
หากต้องการดูรายชื่อเครือข่ายไร้สายที่อะแดปเตอร์ของคุณกำลังตรวจพบอยู่:
netsh wlan show networks
หากคุณต้องการข้อมูลรายละเอียดเพิ่มเติมเกี่ยวกับ BSSID แต่ละรายการ (ช่องสัญญาณ ระดับพลังงาน ความเร็วที่รองรับ) คุณสามารถเพิ่มโหมด BSSID ได้:
netsh wlan show networks mode=bssid
การใช้งานที่พบบ่อยมากอย่างหนึ่งคือการเรียกดูรหัสผ่าน Wi-Fi ที่บันทึกไว้สำหรับโปรไฟล์เฉพาะ โดยสามารถเรียกใช้คำสั่งต่อไปนี้ได้:
netsh wlan show profile name="NombrePerfil" key=clear
รหัสผ่านจะปรากฏเป็นข้อความธรรมดาในส่วนการตั้งค่าความปลอดภัยของผลลัพธ์ ดังนั้นควรใช้เฉพาะกับคอมพิวเตอร์ที่คุณควบคุมเท่านั้น เพราะใครก็ตามที่มีสิทธิ์ผู้ดูแลระบบสามารถเห็นรหัสผ่านเหล่านั้นได้
หากคุณต้องการให้เครือข่าย Wi-Fi หยุดเชื่อมต่อโดยอัตโนมัติเมื่อตรวจพบ คุณสามารถเปลี่ยนโหมดการเชื่อมต่อได้:
netsh wlan set profileparameter name="Nombre de perfil" connectionmode=manual
และหากคุณสนใจในสิ่งที่ตรงกันข้ามโดยสิ้นเชิง นั่นคือการเชื่อมต่ออัตโนมัติเมื่ออยู่ในระยะ:
netsh wlan set profileparameter name="Nombre de perfil" connectionmode=auto
หากต้องการตัดการเชื่อมต่อจากเครือข่าย Wi-Fi ปัจจุบันผ่านทางคอนโซล คุณสามารถทำได้ดังนี้:
netsh wlan disconnect
และเพื่อเชื่อมต่อกับเครือข่ายอื่นที่มีโปรไฟล์อยู่แล้วในคอมพิวเตอร์ จะใช้คำสั่งประมาณนี้:
netsh wlan connect name="NombreDeTuSSID"
ส่งออก นำเข้า และล้างข้อมูลโปรไฟล์ Wi-Fi
เมื่อต้องจัดการอุปกรณ์หลายเครื่อง การส่งออกโปรไฟล์ Wi-Fiจากอุปกรณ์ที่ตั้งค่าไว้เรียบร้อยแล้ว แล้วนำเข้าโปรไฟล์เหล่านั้นไปยังอุปกรณ์อื่นโดยไม่ต้องป้อนรหัสด้วยตนเองจะเป็นเรื่องสะดวกมาก
หากต้องการส่งออกโปรไฟล์ทั้งหมดไปยังโฟลเดอร์ที่กำหนด โดยใช้คีย์ที่ชัดเจน เพื่อให้สามารถย้ายข้อมูลได้อย่างราบรื่น:
netsh wlan export profile key=clear folder="C:\perfileswifi"
ขั้นตอนนี้จะสร้างไฟล์ XML หนึ่งไฟล์หรือมากกว่านั้นในเส้นทางที่ระบุไว้ ต่อมา หากต้องการนำเข้าไฟล์เหล่านั้นไปยังคอมพิวเตอร์เครื่องอื่น เพียงทำตามขั้นตอนต่อไปนี้
netsh wlan add profile filename="C:\perfileswifi\perfil1.xml"
หากคุณมีโปรไฟล์เก่าสำหรับเครือข่ายที่คุณไม่ได้เชื่อมต่ออีกต่อไปแล้ว ควรลบโปรไฟล์เหล่านั้นออกเพื่อหลีกเลี่ยงความสับสนและปัญหาการเชื่อมต่อวิธีการลบโปรไฟล์เฉพาะ:
netsh wlan delete profile name="Nombre de perfil"
หากคุณต้องการรายงาน HTML ที่สมบูรณ์เกี่ยวกับประวัติการเชื่อมต่อ Wi-Fi ข้อผิดพลาด และการกำหนดค่าอะแดปเตอร์ คุณสามารถสร้างรายงานได้โดยใช้:
netsh wlan show wlanreport
คำสั่งนี้จะบอกเส้นทางไปยัง ไฟล์ .htmlที่มีข้อมูลทั้งหมด เมื่อคุณเปิดไฟล์นั้นในเบราว์เซอร์ คุณจะเห็นสรุปรายละเอียดเกี่ยวกับการเชื่อมต่อ เหตุการณ์ และสถิติ Wi-Fi ของอุปกรณ์อย่างละเอียด
ไฟร์วอลล์ Windows และ netsh advfirewall
ส่วนประกอบสำคัญอีกอย่างคือadvfirewallซึ่งช่วยให้คุณจัดการ Windows Firewall ได้อย่างละเอียดมากขึ้น เช่น ดูข้อกำหนด สร้างข้อกำหนดใหม่ อนุญาตพอร์ต บล็อก ICMP รีเซ็ตการตั้งค่า ฯลฯ หากคุณต้องการคู่มือการใช้งาน Windows Defender Firewallที่เป็นประโยชน์ ก็จะเป็นประโยชน์อย่างยิ่ง
เพื่อแสดงรายการกฎไฟร์วอลล์ที่กำหนดค่าไว้ทั้งหมด:
netsh advfirewall firewall show rule name=all
หากคุณสนใจเฉพาะโปรไฟล์ปัจจุบันของผู้ใช้ (ส่วนตัว สาธารณะ โดเมน) พร้อมพารามิเตอร์ที่ใช้งานอยู่:
netsh advfirewall show currentprofile
หากคุณต้องการดูหรือเปิดพอร์ตเฉพาะ คำสั่งที่ใช้กันทั่วไปคือ:
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80
นี่เป็นการสร้างกฎขาเข้าเพื่ออนุญาตการรับส่งข้อมูล TCP บนพอร์ต 80 อีกตัวอย่างคลาสสิกสำหรับการเปิดพอร์ตเดสก์ท็อประยะไกล (3389) คือ:
netsh advfirewall firewall add rule name="Open Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
หากคุณต้องการลบกฎเฉพาะในภายหลัง คุณสามารถใช้คำสั่งต่อไปนี้:
netsh advfirewall firewall delete rule name="NombreDeLaRegla" protocol=udp localport=500
การตรวจสอบเครือข่ายหลายอย่างกำหนดให้คุณไม่ต้องตอบสนองต่อคำขอ ping ICMP ที่เข้ามา หากต้องการอนุญาตคำขอ ping ICMPv4 ที่เข้ามาคุณสามารถใช้คำสั่งต่อไปนี้:
netsh advfirewall firewall add rule name="All ICMP V4" dir=in action=allow protocol=icmpv4
และเพื่อสกัดกั้นพวกมัน โดยการเปลี่ยนการกระทำ:
netsh advfirewall firewall add rule name="All ICMP V4" dir=in action=block protocol=icmpv4
นอกจากนี้ ยังสามารถปิดใช้งานไฟร์วอลล์สำหรับทุกโปรไฟล์ได้อย่างสมบูรณ์ (โดยต้องระมัดระวังเป็นอย่างยิ่ง):
netsh advfirewall set allprofiles state off
หากคุณต้องการคืนค่าเป็นการตั้งค่าจากโรงงานเนื่องจากมีการเปลี่ยนแปลงมากเกินไป คุณสามารถรีเซ็ตกฎทั้งหมดได้:
netsh advfirewall reset
การซ่อมแซม DNS, พร็อกซี, TCP/IP และเครือข่าย
นอกจากนี้ Netsh ยังมีประโยชน์มากสำหรับการปรับแต่งด้านขั้นสูงของ TCP/IP, Winsock และการกำหนดค่าพร็อกซี โดยเฉพาะอย่างยิ่งเมื่อคุณมีปัญหาที่ไม่สามารถแก้ไขได้ด้วยการรีสตาร์ทอะแดปเตอร์เพียงอย่างเดียว
เพื่อตรวจสอบการตั้งค่าพร็อกซี WinHTTPที่ระบบใช้งาน:
netsh winhttp show proxy
หากคุณต้องการกำหนดค่าพร็อกซีเฉพาะสำหรับการเชื่อมต่อ WinHTTP คุณสามารถทำได้ดังนี้:
netsh winhttp set proxy "servidorproxy.dominio.com:8484" "<local>"
แทนที่ชื่อโฮสต์และพอร์ตด้วยชื่อและพอร์ตของเซิร์ฟเวอร์จริงของคุณ และปรับรายการยกเว้นสำหรับที่อยู่ภายในหรือโดเมนที่ไม่ควรผ่านพร็อกซี
เมื่อเกิดปัญหาที่ระดับสแต็กเครือข่าย คู่มือหลายฉบับแนะนำให้รีเซ็ต Winsock และ TCP/IPคำสั่งทั่วไปสองคำสั่งมีดังนี้:
netsh winsock reset catalog– รีเซ็ตแคตตาล็อก Winsocknetsh int ip reset reset.log– รีเซ็ตสแต็ก TCP/IP เป็นค่าเริ่มต้นและบันทึกการเข้าสู่ระบบreset.log.
หลังจากรันคำสั่งเหล่านี้แล้ว ขอแนะนำให้รีสตาร์ทคอมพิวเตอร์เพื่อให้การเปลี่ยนแปลงทั้งหมดในส่วนของระบบเครือข่ายมีผลใช้งานได้
หากคุณต้องการตรวจสอบพารามิเตอร์ TCP และ UDP ทั่วโลกที่กำหนดค่าไว้ในเครื่องของคุณ คุณสามารถใช้คำสั่งต่อไปนี้:
netsh interface tcp show globalnetsh interface udp show global
การปรับแต่งประสิทธิภาพหรือการวินิจฉัยขั้นสูงบางอย่างเกี่ยวข้องกับการเปลี่ยนแปลงค่าเหล่านี้ ตัวอย่างทั่วไปคือReceive Side Scaling (RSS)ซึ่งกระจายภาระงานเครือข่ายไปยังคอร์ประมวลผลหลายตัว
วิธีปิดใช้งาน RSS:
netsh interface tcp set global rss=disabled
และเพื่อเปิดใช้งานอีกครั้ง:
netsh interface tcp set global rss=enabled
เมื่อใช้งานมัลติแคสต์ (การประชุมทางวิดีโอ การสตรีมมิ่ง ฯลฯ) คุณสามารถตรวจสอบการสมัครรับมัลติแคสต์ที่ใช้งานอยู่บนอินเทอร์เฟซได้โดยใช้คำสั่งต่อไปนี้:
netsh interface ip show joins
ตั้งค่า IP, DNS และ DHCP โดยใช้คำสั่ง netsh int ip
นอกเหนือจากสิ่งที่เคยเห็นใน IPv4 แล้ว บริบท int ip (interface IP) ยังช่วยให้คุณสามารถเปลี่ยนแปลงที่อยู่ DNS และพฤติกรรม DHCP ได้อย่างรวดเร็ว
ตัวอย่างคลาสสิกของการกำหนดค่าIP แบบคงที่และเกตเวย์บนอินเทอร์เฟซ LANคือ:
netsh int ip set address "local area connection" static 192.168.29.101 255.255.255.0 192.168.29.254 1
netsh interface ip add dns name="Local Area Connection" addr=192.168.0.131
โปรดจำไว้ว่าคุณต้องแทนที่ที่อยู่ IP ด้วยที่อยู่ IP ที่ตรงกับเครือข่ายของคุณ (เซ็กเมนต์ เกตเวย์ DNS ของตนเองหรือภายนอก)
หากคุณใช้งาน DHCP คุณสามารถเปลี่ยนอินเทอร์เฟซที่กำหนดค่าแบบคงที่ให้รับทั้ง IP และ DNS ผ่าน DHCP ได้เช่นกัน ตัวอย่างเช่น ในกรณีของ Wi-Fi:
netsh interface ipv4 set address "Wi-Fi" dhcp
netsh interface ipv4 set dnsservers "Wi-Fi" dhcp
การแสดงค่าการตั้งค่า ชื่อเรียกแทน และวิธีการใช้งานในสคริปต์แบบแบตช์
จุดเด่นอย่างหนึ่งของ netsh คือความสามารถในการบันทึกการตั้งค่าเครือข่ายลงในไฟล์ข้อความซึ่งคุณสามารถใช้เป็นข้อมูลสำรอง หรือใช้เป็นสคริปต์เพื่อคัดลอกการตั้งค่าดังกล่าวไปยังคอมพิวเตอร์เครื่องอื่นได้
ตัวอย่างเช่น คุณสามารถสร้างโฟลเดอร์C:\networksและบันทึกการตั้งค่าปัจจุบันลงในโฟลเดอร์นั้นได้โดยใช้คำสั่ง:
netsh dump >> C:\redes\configuracion.txt
หากคุณต้องการกู้คืนการตั้งค่าดังกล่าวเมื่อใด เพียงเรียกใช้คำสั่งต่อไปนี้:
netsh -f C:\redes\configuracion.txt
นอกจากไฟล์ดัมพ์แบบเต็มแล้ว คุณยังสามารถเตรียมไฟล์แบตช์ (.bat หรือ .cmd)ที่มีคำสั่ง netsh หลายคำสั่งที่ทำงานพร้อมกันได้ ตัวอย่างเช่น สคริปต์ที่ตั้งค่าที่อยู่ IP เซิร์ฟเวอร์ DNS หลักและรอง และเปิดใช้งานไฟร์วอลล์:
@echo off
echo Configurando red...
REM IP, máscara y puerta de enlace
netsh interface ip set address name="Ethernet" static 192.168.1.100 255.255.255.0 192.168.1.1
REM DNS principal
netsh interface ip set dns name="Ethernet" static 8.8.8.8
REM DNS secundario
netsh interface ip add dns name="Ethernet" 8.8.4.4 index=2
REM Activar firewall para todos los perfiles
netsh advfirewall set allprofiles state on
echo Configuración de red aplicada.
pause
บรรทัดที่ขึ้นต้นด้วยREMคือข้อความแสดงความคิดเห็นและจะไม่ถูกประมวลผล หากต้องการเรียกใช้สคริปต์ เพียงดับเบิ้ลคลิกหรือเรียกใช้จาก CMD/PowerShell ด้วยสิทธิ์ผู้ดูแลระบบ
อีกหนึ่งคุณสมบัติที่น่าสนใจคือ ชื่อย่อ (aliases )ซึ่งช่วยให้คุณย่อคำสั่งที่ยาวได้ คุณสามารถดูชื่อย่อทั้งหมดที่กำหนดไว้ได้โดยใช้คำสั่ง:
netsh show alias
การดักจับข้อมูล การวิเคราะห์ และข้อจำกัดของ Netsh
เมื่อปัญหาเครือข่ายเกิดขึ้นอย่างต่อเนื่อง บางครั้งก็ไม่มีทางเลือกอื่นนอกจากต้องดักจับแพ็กเก็ตเพื่อวิเคราะห์อย่างละเอียด Netsh ผสานรวมระบบติดตามที่สร้างไฟล์ ETL สำหรับการวิเคราะห์ในภายหลังด้วยเครื่องมือต่างๆ เช่น Microsoft Message Analyzer หรือ Wireshark (หลังจากแปลงรูปแบบแล้ว)
เพื่อเริ่มการบันทึกข้อมูลการจราจรทั่วไป:
netsh trace start capture=yes tracefile=C:\trace.etl persistent=yes maxsize=4096
และวิธีหยุดยั้งเมื่อคุณมีข้อมูลเพียงพอ:
netsh trace stop
แม้ว่า netsh จะมีประสิทธิภาพอย่างมาก แต่ก็มีข้อเสียและข้อจำกัดในสภาพแวดล้อมสมัยใหม่เช่นกัน:
- ไวยากรณ์ของมันไม่ค่อยเป็นมิตรกับผู้ใช้เท่าไหร่ หากคุณไม่คุ้นเคยกับการใช้งานคอนโซล มันง่ายที่จะทำผิดพลาด การพิมพ์
- มันไม่มีอินเทอร์เฟซแบบกราฟิก ทุกอย่างทำด้วยการพิมพ์ ดังนั้น มันไม่ค่อยใช้งานง่ายนักสำหรับผู้ใช้มือใหม่.
- ส่วนหนึ่งของฟังก์ชันการทำงาน มันไม่ได้ถูกออกแบบมาสำหรับเครือข่ายที่ทันสมัยมากนัก (SDN, การกำหนดค่า IPv6 ขั้นสูงมาก) และ Microsoft กำลังผลักดันให้ใช้ PowerShell และคำสั่ง cmdlet เฉพาะมากขึ้นเรื่อยๆ
- การดำเนินการส่วนใหญ่จำเป็นต้องใช้สิทธิ์ผู้ดูแลระบบ ดังนั้น นี่ไม่ใช่เครื่องมือสำหรับผู้ใช้ทั่วไป.
ถึงกระนั้น netsh ก็ยังคงเป็นเครื่องมือสารพัดประโยชน์ที่จำเป็นสำหรับทุกคนที่จัดการเครือข่ายบน Windowsด้วยคำสั่งต่างๆ ที่คุณได้เห็น คุณสามารถกำหนดค่า IP และ DNS จัดการ Wi-Fi เปิดหรือปิดพอร์ตในไฟร์วอลล์ กำหนดค่าพร็อกซี ซ่อมแซมสแต็ก TCP/IP และแม้กระทั่งดักจับการรับส่งข้อมูลหรือเขียนสคริปต์การกำหนดค่าได้อย่างรวดเร็วและซ้ำๆ เมื่ออินเทอร์เฟซแบบกราฟิกใช้งานไม่ได้ผลหรือเสียเวลาของคุณ
นักเขียนผู้หลงใหลเกี่ยวกับโลกแห่งไบต์และเทคโนโลยีโดยทั่วไป ฉันชอบแบ่งปันความรู้ผ่านการเขียน และนั่นคือสิ่งที่ฉันจะทำในบล็อกนี้ เพื่อแสดงให้คุณเห็นสิ่งที่น่าสนใจที่สุดเกี่ยวกับอุปกรณ์ ซอฟต์แวร์ ฮาร์ดแวร์ แนวโน้มทางเทคโนโลยี และอื่นๆ เป้าหมายของฉันคือการช่วยคุณนำทางโลกดิจิทัลด้วยวิธีที่เรียบง่ายและสนุกสนาน