ネットワーク接続/切断でコマンドを起動する方法は?


59

ワイヤレスリンクが確立されたら、Webフォームを使用して認証する必要があるwifi接続があります。curl/ curlIEを使用するスクリプトで認証を自動化する方法を知っています。

しかし、特定のネットワーク接続に接続するたびにWindowsにスクリプトを呼び出すように依頼するにはどうすればよいですか?

また、スクリプトのコマンドラインでワイヤレスプロファイルの名前またはESSIDを受け取ることにも興味があります。


1
おそらく役に立たないが、私はグーグルでこれを見つけました。接続を列挙しているようであり、スクリプトでクエリできるものを提供して、アダプタが接続/切断するタイミングを判断することができます。msdn.microsoft.com/en-us/library/ms739931%28v=VS.85%29.aspx
CreeDorofl

数秒ごとに状態を確認する必要はありません。Network Location Awareness通知は興味深いものですが、スクリプトだけで簡単に使用できる方法はありません。
ドルメン

ドルメン-認証用に作成したスクリプトを投稿する方法もあります。この質問は、それを使ってより完全になります。
quest49

@ quest49私のスクリプトはあなたの興味を引くかもしれませんが、質問とは無関係です。
ドルメン

あなたの質問を満足させる答えをこれまでに得ましたか?
メナシェ

回答:


80

Windows Vista以降では、スケジュールされたタスクとイベントログトリガーを使用してこれを行うことができます。最初のイベントは、ネットワークに接続することでトリガーされ、実行するために接続する必要があるネットワークを指定します。2番目のイベントは、ネットワークから切断するとトリガーされます。各イベントは、指定した特定のタスクを実行します。おそらく、あなたが言及したスクリプトが書かれているでしょう。

ネットワークに接続するときのイベントの設定:

  1. タスクスケジューラを開きます。Task Schedulerスタートメニューの検索ボックスに入力するか、の下にありPrograms | Accessories | System Toolsます。
  2. タスクスケジューラライブラリでCreate Task、右側の[ アクション]パネルをクリックして新しいタスクを作成します。

    タスクを追加

  3. タスクに「ネットワーク接続の検出」などの名前を付けます

  4. 上のTriggersタブをクリックしNew...て選択しOn an Event、ドロップダウンボックスから。

    ドロップダウントリガー

  5. 次の設定を選択します。

    • ログ: Microsoft-Windows-NetworkProfile/Operational
    • ソース: NetworkProfile
    • イベントID: 10000
  6. [OK Conditions] をクリックして、タブに移動します。
  7. チェックボックスをオンにしてStart only if the following network connection is available、スクリプトを実行するネットワークを選択します
  8. Actionsタブの下で、をクリックNew...して選択しますStart a program。実行するスクリプトファイルの場所を入力して、をクリックしますOK
  9. 必要な他のタスク設定を設定し、をクリックしますOK

ネットワークから切断するときのイベントの設定:

  1. 上記の手順2〜4に従ってください
  2. 次のイベントトリガー設定を使用します。
    • ログ: Microsoft-Windows-NetworkProfile/Operational
    • ソース: NetworkProfile
    • イベントID: 10001
  3. ネットワークにまったく接続されなくなるため、手順6〜7をスキップします。このイベントは、そのために実行されます任意のあなたはから切断時間の任意のネットワークを。
  4. もう一度手順8〜9を実行します

1
すばらしいです!その詳細な答えをありがとう!これは私が予想したよりもはるかに多いです。ネットワーク接続名に条件を使用できることもわかったので、特定のWLANプロファイルに対してのみコマンドを実行できます。
ドルメン

手順5で指定した値はどこから取得しましたか?イベントログの試行錯誤でそれらを解決することは可能ですが、特定のイベントを識別するためのより良い方法があるかどうか、たとえばドキュメントを介して疑問に思っています。
アダムミラーチップ

1
@AdamMillerchipイベントビューアーを開いて、切断/再接続し、周りを見回しました。
ヒンクル

1
奇妙な、私はこれを試してみましたが、何も....
Menelaos Bakopoulos

1
記録のために、「ソース」Microsoft-Windows-NetworkProfile(W10 1709)として指定する必要がありました
-Joril

11

Start only if the following network connection is availableWindows 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
フェデリコデステファニス

4

Thinkpadを使用している場合は、Windows 7、Vista、およびXPで利用可能なThinkVantage Access Connectionを利用できます。

ThinkVantage Access Connectionは、ThinkPadに同梱されているネットワーク接続マネージャーソフトウェアです。サポートされていない場合は、サポートサイトからダウンロードできます。場所の新しいプロファイルを作成すると、その場所が接続されたときに起動するプログラムのリストを構成するかどうかを尋ねるウィザードがあります。ネットが切れたときにプログラムを強制終了することもできます。

ソフトウェアは、ロケーションプロファイルなしで動作するように設定できることに注意してください。これはおそらく初期状態です。その場合、wifi接続時に起動するプログラムのリストを設定する方法はありません。接続を作成する必要があります。リストを含むプロファイル。

私自身の経験では、ソフトウェアの使用を避けようとしています-接続しない場合よりも接続するのに時間がかかり、起動時に新しい接続を確立できない場合があります(手動で再接続することで修正できます)。

ソフトウェアは、thinkpadに付属のWIFIドライバーでのみ動作します。

ちなみに、このソフトウェアは、プロファイルを作成する際のオプションとして、ユーザーがログインする前に接続を確立することを提供します。これなしでこれが可能かどうかはわかりません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.