Bagaimana cara meluncurkan perintah pada koneksi jaringan / pemutusan?

59

Saya memiliki koneksi wifi yang mengharuskan untuk mengautentikasi menggunakan formulir web setelah tautan nirkabel dibuat. Saya tahu cara mengotomatiskan otentikasi dengan skrip yang menggunakan curl/ curlIE .

Tetapi bagaimana saya bisa meminta Windows untuk memanggil skrip saya setiap kali saya terhubung ke koneksi jaringan tertentu?

Saya juga tertarik untuk menerima nama profil nirkabel atau ESSID pada baris perintah skrip saya.

dolmen
sumber
1
Mungkin tidak berguna tetapi saya menemukan ini melalui googling. Ini tampaknya menghitung koneksi Anda dan mungkin memberikan sesuatu yang Anda bisa query dengan skrip untuk menentukan kapan adaptor terhubung / terputus. msdn.microsoft.com/en-us/library/ms739931%28v=VS.85%29.aspx
CreeDorofl
Saya tidak mau harus memeriksa keadaan setiap beberapa detik. Pemberitahuan Kesadaran Lokasi Jaringan menarik, tetapi saya melihat tidak ada cara mudah untuk menggunakannya hanya dengan skrip.
dolmen
dolmen - adakah cara Anda dapat memposting skrip yang Anda tulis untuk otentikasi juga. pertanyaan ini akan jauh lebih lengkap di dalamnya.
quest49
@ quest49 Saya mengerti bahwa skrip saya mungkin menarik bagi Anda, tetapi tidak relevan dengan pertanyaan.
dolmen
Apakah Anda pernah mendapatkan jawaban yang memuaskan pertanyaan Anda?
Menasheh

Jawaban:

80

Di Windows Vista dan yang lebih baru, Anda bisa melakukan ini menggunakan tugas yang dijadwalkan dengan pemicu log peristiwa. Peristiwa pertama akan dipicu dengan menghubungkan ke jaringan, dan Anda akan menentukan jaringan mana yang harus Anda hubungkan agar dapat berjalan. Peristiwa kedua akan dipicu saat memutuskan koneksi dari jaringan apa pun. Setiap acara akan menjalankan tugas tertentu yang Anda tentukan; kemungkinan skrip yang Anda sebutkan telah ditulis.

Mengatur acara ketika Anda terhubung ke jaringan:

  1. Buka Penjadwal Tugas. Anda dapat menemukannya dengan mengetik Task Schedulerdi kotak pencarian menu mulai, atau di bawah Programs | Accessories | System Tools.
  2. Di perpustakaan Penjadwal Tugas, buat tugas baru dengan mengklik Create Taskdi panel Tindakan di sisi kanan.

    tambahkan tugas

  3. Beri nama tugas seperti "deteksi koneksi jaringan" atau apa pun yang Anda pilih

  4. Pada Triggerstab, klik New...dan pilih On an Eventdari kotak dropdown.

    pemicu dropdown

  5. Pilih pengaturan berikut:

    • Catatan: Microsoft-Windows-NetworkProfile/Operational
    • Sumber: NetworkProfile
    • ID Peristiwa: 10000
  6. Klik OK, lalu buka Conditionstab.
  7. Centang kotak Start only if the following network connection is availabledan pilih jaringan yang ingin Anda gunakan skripnya
  8. Di bawah Actionstab, klik New...dan pilih Start a program. Masukkan lokasi file skrip yang ingin Anda jalankan, lalu klik OK.
  9. Atur pengaturan tugas lain yang Anda inginkan, lalu klik OK.

Mengatur acara ketika Anda memutuskan koneksi dari jaringan:

  1. Ikuti langkah 2-4 di atas
  2. Gunakan pengaturan pemicu acara berikut:
    • Catatan: Microsoft-Windows-NetworkProfile/Operational
    • Sumber: NetworkProfile
    • ID Peristiwa: 10001
  3. Lewati langkah 6-7, karena Anda tidak akan lagi terhubung ke jaringan apa pun. Karenanya acara ini akan berjalan kapan pun Anda memutuskan koneksi dari jaringan apa pun .
  4. Ikuti langkah 8-9 lagi
nhinkle
sumber
1
Bagus! Terima kasih atas jawaban yang rusak itu! Ini jauh lebih dari yang saya harapkan. Saya menemukan bahwa saya bahkan dapat menggunakan kondisi pada nama koneksi jaringan, jadi saya dapat menjalankan perintah hanya untuk profil WLAN tertentu.
dolmen
Di mana Anda mendapatkan nilai dari yang Anda berikan di langkah 5? Mungkin untuk menyelesaikannya melalui coba-coba dalam log peristiwa, tetapi saya ingin tahu apakah ada cara yang lebih baik untuk mengidentifikasi peristiwa tertentu, misalnya melalui beberapa dokumentasi.
Adam Millerchip
1
@AdamMillerchip Saya baru saja membuka penampil acara, terputus / terhubung kembali, dan kemudian melihat sekeliling.
nhinkle
1
Aneh, saya mencoba ini dan tidak ada ....
Menelaos Bakopoulos
1
Sebagai catatan, saya harus menetapkan sebagai "sumber" Microsoft-Windows-NetworkProfile(W10 1709)
Joril
11

Tampaknya Start only if the following network connection is availablerusak setelah pembaruan ulang tahun Windows 10. Gunakan pemicu khusus ini sebagai gantinya:

<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>

Dalam jaringan perusahaan gunakan nama domain, bukan SSID. Dalam hal ini kategori acara tersebut adalah "Otentikasi Domain" dan bukan "Pribadi".

krrr
sumber
Start only if the following network connection is availabletampaknya memang rusak. Jika saya menetapkan pilihan itu dan menjalankan tugas pada permintaan saya mendapatkan error ini: Task Scheduler Service is not available. Task scheduler will attempt to reconnect to it.
Federico Destefanis
Apakah bug ini masih ada di Windows 10 1803 atau yang lebih baru?
Krrr
4

Jika Anda menggunakan Thinkpad, Anda dapat memanfaatkan ThinkVantage Access Connection, yang tersedia untuk Windows 7, Vista dan XP.

ThinkVantage Access Connection adalah perangkat lunak manajer koneksi jaringan yang dikirimkan bersama ThinkPad - jika tidak, dapat diunduh dari situs dukungan mereka. Saat Anda membuat profil baru untuk lokasi Anda, ada panduan yang menanyakan apakah Anda ingin mengonfigurasi daftar program untuk memulai ketika lokasi itu terhubung. Ia menawarkan untuk mematikan program ketika bersih juga.

Perhatikan bahwa perangkat lunak dapat dikonfigurasikan untuk bekerja tanpa profil lokasi sama sekali, dan itu mungkin status awal - dalam hal ini, tidak ada cara untuk mengkonfigurasi daftar program untuk memulai ketika wifi terhubung: Anda harus membuat koneksi profil untuk berisi daftar.

Untuk pengalaman saya sendiri, saya mencoba untuk menghindari menggunakan perangkat lunak - dibutuhkan lebih banyak waktu untuk terhubung daripada tanpa itu, dan kadang-kadang gagal membuat koneksi baru saat booting (dapat diperbaiki dengan menghubungkan kembali secara manual).

Perangkat lunak hanya bekerja dengan driver WIFI yang disediakan dengan thinkpad.

Di samping catatan, perangkat lunak ini menawarkan untuk membuat koneksi sebelum pengguna masuk, sebagai opsi ketika Anda membuat profil. Saya tidak tahu apakah ini mungkin tanpanya.

Tankman 六四
sumber