web-dev-qa-db-ja.com

Windows 7で特定のネットワークに接続するときにプログラムを実行する方法

自宅のワイヤレスネットワークに接続するたびに実行可能ファイルを実行したい。目的は、ラップトップ上のフォルダーをデスクトップマシンと同期させることです。

ワイヤレスネットワークに参加するときにプログラムやスクリプトを実行する方法はありますか?

私はWindows 7を実行していますが、この種のタスクを処理するプログラムを使用してもかまいません。

18

私はこの正確な質問をしました、そしてダレンの答えは正しい軌道に乗っていました、しかし私をそこまでずっと連れて行かなかった。これが私がやったことです。

まず、タスクのトリガーに使用するイベントを決定します。イベントビューアプログラムを実行し、次の場所に移動します:Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational

私の場合、実際に特定のWiFiネットワークに接続するまでタスクを実行したくなかったため、必要なイベントIDは8001でした。このイベントに基づいてタスクを作成する簡単な方法は、イベントを右クリックして[このイベントにタスクをアタッチ...]を選択することです。

here's a screenshot

ポップアップ表示されるウィンドウで、タスクにわかりやすい名前を付け、説明を追加して、後でそれが何であるかを思い出せるようにします。ウィザードを実行し、実行するプログラムなどを選択し、最後の画面が表示されたら、[完了をクリックしたときにこのタスクのプロパティダイアログを開く]チェックボックスをオンにします。

この時点で、コンピューターがanyワイヤレスネットワークに正常に接続すると、タスクが実行されます。特定のネットワークに限定するには、タスクを変更して、ネットワークのSSIDなど、メタデータ内で一意の何かをフィルタリングする必要があります。新しいタスクのプロパティダイアログで、[トリガー]タブに移動してトリガーを編集します。

次に、基本トリガーの値を書き留めます。カスタムトリガーに切り替えると、空白で始まり、値を再度入力する必要があります。 [新しいイベントフィルター...]をクリックした後、必要なイベントログ、イベントソースを選択し、イベントIDを入力して、基本フィルターを再作成します。

特定のイベント(ワイヤレスネットワークのSSIDなど)からのメタデータを指定する場所がないことに注意してください。 この記事 で発見したように、これを実現するには生のXMLを編集する必要があります。

イベントログでフィルタリングする必要があるメタデータを特定するには、イベントビューアに戻り、イベントの[詳細]タブをクリックします。 XMLビューに切り替えます。この特定のケースでは、関連するビットは次のようになります。

<EventData>
  ...
  <Data Name="SSID">Your WiFi Network</Data>
  ...
</EventData>

[新しいイベントフィルター]ダイアログに戻り、[XML]タブに切り替えて、[クエリを手動で編集する]の横のチェックボックスをオンにします。

上記のリンク先の記事を参照すると、追加する必要のある文字列は次のようになります。

and *[EventData[Data[@Name='SSID']='Your WiFi Network']]

これを</Select>の直前に貼り付けます

ブーム。完了です。


トリガーのXMLを編集するのではなく、これを簡単にするためのメモとして、タスクのプロパティを表示するときに[条件]タブに切り替えます。ここには、「次のネットワーク接続が利用可能な場合にのみ開始する」オプションがあり、以前に接続したネットワークのドロップダウンリストが表示されます。これにより、トリガーも適切にフィルタリングされると思います。ジャスティン

15
Corey McKrill

これにはWindows 7タスクスケジューラを使用できます。

[トリガー]タブで、タスクを開始しますOn an event

ラップトップでWindows7を実行していませんが、イベントIDは Microsoft-Windows-WLAN-AutoConfig。 にあると思います。

[条件]タブで、Start Only if the following network connection is available、そしてあなたが望む特定のワイヤレスネットワーク。

次に、[アクション]の下のプログラムを呼び出します。

6
Darren Hall