วิธีการเปิดคำสั่งเกี่ยวกับการเชื่อมต่อเครือข่าย / ตัดการเชื่อมต่อ


59

ฉันมีการเชื่อมต่อ wifi ที่ต้องใช้การตรวจสอบความถูกต้องโดยใช้แบบฟอร์มเว็บเมื่อมีการสร้างลิงค์ไร้สาย ฉันรู้วิธีการทำให้การตรวจสอบที่มีสคริปต์ที่ใช้curl/ curlIE

แต่ฉันจะขอให้ Windows เรียกสคริปต์ของฉันทุกครั้งที่ฉันเชื่อมต่อกับการเชื่อมต่อเครือข่ายที่เฉพาะเจาะจงได้อย่างไร

ฉันจะสนใจรับชื่อโปรไฟล์ไร้สายหรือ ESSID ในบรรทัดคำสั่งของสคริปต์


1
อาจไร้ประโยชน์ แต่ฉันพบสิ่งนี้ผ่าน googling ดูเหมือนจะแจงนับการเชื่อมต่อของคุณและอาจมีบางสิ่งที่คุณสามารถสืบค้นด้วยสคริปต์เพื่อพิจารณาว่าอะแดปเตอร์เชื่อมต่อ / ยกเลิกการเชื่อมต่อหรือไม่ msdn.microsoft.com/en-us/library/ms739931%28v=VS.85%29.aspx
CreeDorofl

ฉันไม่ต้องการตรวจสอบสถานะทุกสองสามวินาที การแจ้งเตือนการรับรู้ตำแหน่งในเครือข่ายเป็นสิ่งที่น่าสนใจ แต่ฉันไม่เห็นวิธีการใช้งานง่าย ๆ เพียงแค่เขียนสคริปต์
dolmen

dolmen - มีวิธีที่คุณสามารถโพสต์สคริปต์ที่คุณเขียนสำหรับการตรวจสอบเช่นกัน คำถามนี้จะสมบูรณ์มากขึ้นด้วยในนั้น
quest49

@ quest49 ฉันเข้าใจว่าสคริปต์ของฉันอาจสนใจคุณ แต่ก็ไม่เกี่ยวข้องกับคำถาม
dolmen

คุณเคยได้รับคำตอบเกี่ยวกับสิ่งนี้ที่ทำให้คุณพอใจหรือไม่?
Menasheh

คำตอบ:


80

ใน Windows Vista และใหม่กว่าคุณสามารถทำได้โดยใช้งานที่กำหนดเวลาด้วยทริกเกอร์บันทึกเหตุการณ์ กิจกรรมแรกจะถูกเรียกใช้โดยเชื่อมต่อกับเครือข่ายและคุณจะระบุเครือข่ายที่คุณต้องเชื่อมต่อเพื่อให้ทำงานได้ เหตุการณ์ที่สองจะถูกเรียกใช้เมื่อตัดการเชื่อมต่อจากเครือข่ายใด ๆ แต่ละเหตุการณ์จะเรียกใช้งานเฉพาะที่คุณระบุ น่าจะเป็นสคริปต์ที่คุณพูดถึงว่ามีการเขียน

การตั้งค่าเหตุการณ์เมื่อคุณเชื่อมต่อกับเครือข่าย:

  1. เปิดตัวกำหนดเวลางาน คุณสามารถค้นหาได้โดยการพิมพ์ลงในช่องค้นหาเมนูเริ่มต้นหรือภายใต้Task SchedulerPrograms | Accessories | System Tools
  2. ในไลบรารี Task Scheduler สร้างงานใหม่โดยคลิกCreate Taskในพาเนลการดำเนินการทางด้านขวา

    เพิ่มงาน

  3. ตั้งชื่องานเช่น "ตรวจสอบการเชื่อมต่อเครือข่าย" หรือสิ่งที่คุณเลือก

  4. บนTriggersแท็บคลิกNew...และเลือกOn an Eventจากกล่องดรอปดาวน์

    ทริกเกอร์แบบเลื่อนลง

  5. เลือกการตั้งค่าต่อไปนี้:

    • เข้าสู่ระบบ: Microsoft-Windows-NetworkProfile/Operational
    • ที่มา: NetworkProfile
    • รหัสเหตุการณ์: 10000
  6. คลิกตกลงจากนั้นไปที่Conditionsแท็บ
  7. ทำเครื่องหมายที่ช่องเพื่อStart only if the following network connection is availableเลือกเครือข่ายที่คุณต้องการเรียกใช้สคริปต์
  8. ภายใต้Actionsแท็บคลิกและเลือกNew... ป้อนตำแหน่งของไฟล์สคริปต์ที่คุณต้องการใช้แล้วคลิกStart a programOK
  9. ตั้งค่างานอื่น ๆ OKที่คุณต้องการจากนั้นคลิก

การตั้งค่าเหตุการณ์เมื่อคุณตัดการเชื่อมต่อจากเครือข่าย:

  1. ทำตามขั้นตอน 2-4 ด้านบน
  2. ใช้การตั้งค่าทริกเกอร์เหตุการณ์ต่อไปนี้:
    • เข้าสู่ระบบ: Microsoft-Windows-NetworkProfile/Operational
    • ที่มา: NetworkProfile
    • รหัสเหตุการณ์: 10001
  3. ข้ามขั้นตอนที่ 6-7 เนื่องจากคุณจะไม่ได้เชื่อมต่อกับเครือข่ายใด ๆ อีกต่อไป เหตุการณ์นี้จะทำงานเมื่อใดก็ตามที่คุณตัดการเชื่อมต่อจากเครือข่ายใด ๆ
  4. ทำตามขั้นตอนที่ 8-9 อีกครั้ง

1
ที่ดี! ขอบคุณสำหรับคำตอบที่ไม่ต้องชำระ! นี่เป็นมากกว่าที่ฉันคาดไว้ ฉันพบว่าฉันสามารถใช้เงื่อนไขกับชื่อการเชื่อมต่อเครือข่ายได้ดังนั้นฉันจึงสามารถเรียกใช้คำสั่งสำหรับโปรไฟล์ WLAN เฉพาะเท่านั้น
dolmen

คุณได้รับคุณค่าจากสิ่งที่คุณได้ให้ไว้ในขั้นตอนที่ 5 เป็นไปได้ที่จะทดสอบพวกเขาผ่านการทดลองและข้อผิดพลาดในบันทึกเหตุการณ์ แต่ฉันสงสัยว่ามีวิธีที่ดีกว่าในการระบุเหตุการณ์ที่เฉพาะเจาะจงผ่านเอกสารบางอย่างเช่น
Adam Millerchip

1
@ AdamMillerchip ฉันเพิ่งเปิดดูเหตุการณ์ตัดการเชื่อมต่อ / เชื่อมต่อใหม่แล้วมองไปรอบ ๆ
nhinkle

1
แปลกฉันลองสิ่งนี้และไม่มีอะไรเลย ....
Menelaos Bakopoulos

1
สำหรับบันทึกฉันต้องระบุว่า "source" Microsoft-Windows-NetworkProfile(W10 1709)
Joril

11

ดูเหมือนว่าStart only if the following network connection is availableจะใช้งานไม่ได้หลังจากการอัปเดตครบรอบของ Windows 10 ใช้ทริกเกอร์ที่กำหนดเองนี้แทน:

<QueryList>
  <Query Id="0" Path="System">
    <Select Path="Microsoft-Windows-NetworkProfile/Operational">
     *[System[(EventID=10000)]] and *[EventData[(Data[@Name="Name"]="YOUR-SSID-HERE")]]
    </Select>
  </Query>
</QueryList>

ในเครือข่ายองค์กรให้ใช้ชื่อโดเมนแทน SSID ในกรณีนี้หมวดหมู่ของกิจกรรมจะเป็น "รับรองความถูกต้องของโดเมน" และไม่ใช่ "ส่วนตัว"


Start only if the following network connection is availableดูเหมือนจะหักแน่นอน Task Scheduler Service is not available. Task scheduler will attempt to reconnect to itถ้าผมตั้งค่าตัวเลือกที่และเรียกใช้งานได้ตามความต้องการที่ฉันได้รับข้อผิดพลาดนี้:
Federico Destefanis

4

หากคุณบังเอิญใช้ Thinkpad คุณสามารถใช้ประโยชน์จากการเชื่อมต่อการเข้าถึง ThinkVantage ซึ่งมีให้สำหรับ Windows 7, Vista และ XP

ThinkVantage Access Connection เป็นซอฟต์แวร์ตัวจัดการการเชื่อมต่อเครือข่ายที่มาพร้อมกับ ThinkPad - หากไม่สามารถดาวน์โหลดได้จากเว็บไซต์สนับสนุนของพวกเขา เมื่อคุณสร้างโปรไฟล์ใหม่สำหรับตำแหน่งของคุณจะมีตัวช่วยสร้างที่ถามว่าคุณต้องการกำหนดค่ารายการโปรแกรมให้เริ่มต้นเมื่อเชื่อมต่อตำแหน่งนั้นหรือไม่ มันเสนอให้ฆ่าโปรแกรมเมื่อเน็ตหมดเช่นกัน

โปรดทราบว่าซอฟต์แวร์สามารถกำหนดค่าให้ทำงานได้โดยไม่มีโปรไฟล์ตำแหน่งใด ๆ และนั่นอาจเป็นสถานะเริ่มต้น - ในกรณีนั้นไม่มีวิธีกำหนดค่ารายการโปรแกรมที่จะเริ่มเมื่อเชื่อมต่อ wifi: คุณต้องสร้างการเชื่อมต่อ โปรไฟล์ที่จะมีรายการ

สำหรับประสบการณ์ของฉันฉันพยายามหลีกเลี่ยงการใช้ซอฟต์แวร์ - ใช้เวลาในการเชื่อมต่อมากกว่าที่ไม่มีและบางครั้งก็ล้มเหลวในการสร้างการเชื่อมต่อใหม่เมื่อทำการบูท (สามารถแก้ไขได้ด้วยการเชื่อมต่อใหม่ด้วยตนเอง)

ซอฟต์แวร์ใช้งานได้กับไดรเวอร์ WIFI ที่มาพร้อมกับ Thinkpad เท่านั้น

ในบันทึกย่อด้านซอฟต์แวร์นี้มีการสร้างการเชื่อมต่อก่อนที่ผู้ใช้เข้าสู่ระบบเป็นตัวเลือกเมื่อคุณสร้างโปรไฟล์ ฉันไม่รู้ว่ามันเป็นไปได้หรือไม่ถ้าไม่มี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.