Ağ bağlantısı / bağlantı kesilmesi hakkında bir komut nasıl başlatılır?


59

Kablosuz bağlantı kurulduktan sonra bir web formu kullanarak kimlik doğrulaması gerektiren bir wifi bağlantısı var. Kimlik doğrulamasını curl/ curlIE kullanan bir komut dosyasıyla otomatikleştirmeyi biliyorum .

Ancak, belirli bir ağ bağlantısına her bağlandığımda Windows'tan komut dosyasını aramasını nasıl isteyebilirim?

Ayrıca betiğimin komut satırında kablosuz profilin adını veya ESSID'yi de almak isterim.


1
Muhtemelen işe yaramaz ama bunu googling ile buldum. Görünüşe göre bağlantılarınızı numaralandırıyor ve bir adaptörün ne zaman bağlanıp bağlanacağını belirlemek için bir komut dosyasıyla sorgulayabileceğiniz bir şey sağlayabilir. msdn.microsoft.com/en-us/library/ms739931%28v=VS.85%29.aspx
CreeDorofl

Birkaç saniyede bir durumu kontrol etmek istemiyorum. Ağ Konumu Bilinci bildirimleri ilginç, ancak onu yalnızca komut dosyasıyla kullanmak için kolay bir yol görmüyorum.
dolmen

dolmen - Doğrulama için yazdığınız betiği de gönderebilmenizin bir yolu var mı? bu soru bununla daha da eksiksizleşecektir.
arayış49

@ quest49 Anladığım kadarıyla senaryomun ilgini çekebilir, ancak soru ile alakası yok.
dolmen

Sorunuzu tatmin eden buna bir cevap aldınız mı?
Menasheh

Yanıtlar:


80

Windows Vista ve sonraki sürümlerinde, bunu olay günlüğü tetikleyicisiyle zamanlanmış bir görev kullanarak yapabilirsiniz. İlk olay ağa bağlanılarak tetiklenecek ve çalışması için hangi ağa bağlanmanız gerektiğini belirleyeceksiniz. Herhangi bir ağ bağlantısının kesilmesi durumunda ikinci olay tetiklenecektir. Her olay, belirttiğiniz belirli bir görevi yürütecektir; Muhtemelen bahsettiğiniz senaryoları yazmışsınızdır.

Ağa bağlandığınızda bir etkinlik ayarlama:

  1. Görev Zamanlayıcı'yı açın. Task SchedulerBaşlat menüsü arama kutusuna veya altına yazarak bulabilirsiniz Programs | Accessories | System Tools.
  2. Görev Zamanlayıcı kütüphanesinde, Create Tasksağ taraftaki Eylemler paneline tıklayarak yeni bir görev oluşturun .

    görev ekle

  3. Göreve "ağ bağlantısını algıla" gibi bir ad verin veya ne istersen

  4. On Triggerssekmesine tıklayın New...ve seçin On an Eventaçılan listeden.

    açılan tetiği

  5. Aşağıdaki ayarları seçin:

    • Log: Microsoft-Windows-NetworkProfile/Operational
    • Kaynak: NetworkProfile
    • Etkinlik kimliği: 10000
  6. Tamam'ı tıklayın, ardından Conditionssekmeye gidin.
  7. Kutusunu işaretleyin Start only if the following network connection is availableve betiği çalıştırmak istediğiniz ağı seçin.
  8. ActionsSekmenin altında , tıklayın New...ve seçin Start a program. Çalıştırmak istediğiniz komut dosyasının konumunu girin ve ardından düğmesine tıklayın OK.
  9. Eğer, ardından istediğiniz diğer görev ayarlarını OK.

Şebeke bağlantısını kestiğiniz için bir etkinlik ayarlama:

  1. Yukarıdaki 2-4. Adımları izleyin
  2. Aşağıdaki olay tetikleyici ayarlarını kullanın:
    • Log: Microsoft-Windows-NetworkProfile/Operational
    • Kaynak: NetworkProfile
    • Etkinlik kimliği: 10001
  3. Artık hiçbir ağa bağlı olmayacağınız için 6-7 arasındaki adımları atlayın. Bu olay dolayısıyla çalışacak herhangi Bağlantısını kesmek zaman herhangi ağa.
  4. 8-9. Adımları tekrar izleyin.

1
Harika! Bu ayrıntılı cevap için teşekkür ederim! Bu beklediğimden çok daha fazla. Ağ bağlantı adında bir koşul bile kullanabileceğimi öğrendim, böylece komutu yalnızca belirli bir WLAN profili için çalıştırabilirim.
dolmen

5. adımda verdiğiniz değerleri nereden aldınız? Olay günlüğünde deneme yanılma yoluyla bunları çözmek mümkündür, ancak belirli bir olayı tanımlamanın daha iyi bir yolu olup olmadığını merak ediyorum, örneğin bazı belgelerle.
Adam Millerchip

1
@AdamMillerchip Olay görüntüleyicisini yeni açtım, bağlantım kesildi / yeniden bağlandım ve sonra etrafa baktım.
nhinkle

1
Garip, ben bunu denedim ve hiçbir şey ....
Menelaos Bakopoulos

1
Kayıt için, "kaynak" olarak belirtmem gerekiyordu Microsoft-Windows-NetworkProfile(W10 1709)
Joril

11

Start only if the following network connection is availableWindows 10 yıldönümü güncellemesinden sonra bozuk görünüyor . Bunun yerine bu özel tetiği kullanın:

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

Kurumsal ağlarda SSID yerine alanın adını kullanın. Bu durumda etkinliğin kategorisi "Özel" değil, "Etki Alanı Doğrulandı" olur.


Start only if the following network connection is availablegerçekten kırılmış görünüyor. O seçeneği ayarlamak ve talep üzerine görevi çalıştırırsanız bu hatayı alıyorum: Task Scheduler Service is not available. Task scheduler will attempt to reconnect to it.
Federico Destefanis

4

Bir Thinkpad kullanıyorsanız, Windows 7, Vista ve XP için kullanılabilen ThinkVantage Access Connection'dan yararlanabilirsiniz.

ThinkVantage Access Connection, ThinkPad ile birlikte gelen, destek sitelerinden indirilebilir bir ağ bağlantısı yöneticisi yazılımıdır. Konumunuz için yeni bir profil oluşturduğunuzda, o konum bağlandığında başlayacak bir program listesini yapılandırmak isteyip istemediğinizi soran bir sihirbaz vardır . Ağ çıktığında da programı öldürmeyi teklif ediyor.

Yazılımın herhangi bir konum profili olmadan çalışacak şekilde yapılandırılabileceğini ve belki de ilk durumun bu olduğunu unutmayın; bu durumda, wifi bağlandığında başlatılacak bir program listesi yapılandırmanın bir yolu yoktur: bir bağlantı oluşturmanız gerekir. Listeyi içerecek

Kendi tecrübelerime göre, yazılımı kullanmaktan kaçınmaya çalışıyorum - onsuzdan bağlantı kurmak çok daha fazla zaman alıyor ve bazen önyükleme yaparken yeni bağlantı kuramıyor (manuel olarak yeniden bağlanarak sabitlenebilir).

Yazılım sadece thinkpad ile birlikte verilen WIFI sürücüsü ile çalışır.

Bir yandan, bu yazılım, kullanıcı oturum açmadan önce, profili oluştururken bir seçenek olarak bağlantı kurmayı sunar. Bu olmadan mümkün olup olmadığını bilmiyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.