Cách chạy chương trình khi kết nối với một mạng cụ thể trong Windows 7


19

Tôi muốn có một lần chạy thực thi mỗi khi tôi kết nối với mạng không dây ở nhà. Mục đích là để đồng bộ một thư mục trên máy tính xách tay của tôi với máy tính để bàn của tôi.

Có cách nào chạy chương trình hoặc tập lệnh khi bạn tham gia mạng không dây không?

Tôi đang chạy Windows 7 và tôi cũng rất vui khi sử dụng một chương trình đảm nhiệm loại nhiệm vụ này.

Câu trả lời:


16

Tôi đã có câu hỏi chính xác này và câu trả lời của Darren đã đi đúng hướng, nhưng không đưa tôi đến đó. Đây là những gì tôi đã làm.

Đầu tiên xác định sự kiện nào bạn muốn sử dụng để kích hoạt tác vụ. Chạy chương trình Trình xem sự kiện và điều hướng đến: Applications and Services Logs > Microsoft > Windows > WLAN-AutoConfig > Operational

Trong trường hợp của tôi, tôi không muốn nhiệm vụ của mình chạy cho đến khi tôi thực sự được kết nối với một mạng WiFi cụ thể, vì vậy ID sự kiện tôi cần là 8001. Cách nhanh chóng để tạo một tác vụ dựa trên sự kiện này là nhấp chuột phải vào sự kiện và chọn "Đính kèm tác vụ với sự kiện này ..."

đây là một ảnh chụp màn hình

Trong cửa sổ bật lên, hãy đặt tên cho nhiệm vụ của bạn một cách thông minh và thêm mô tả để bạn sẽ nhớ nó là gì sau này. Đi qua trình hướng dẫn, chọn chương trình bạn muốn chạy, v.v. và khi đến màn hình cuối cùng, hãy chọn hộp có nội dung "Mở hộp thoại Thuộc tính cho tác vụ này khi tôi nhấp vào Kết thúc".

Tại thời điểm này, tác vụ sẽ chạy khi máy tính kết nối thành công với bất kỳ mạng không dây nào . Để giới hạn nó trong một mạng cụ thể, bạn sẽ phải sửa đổi tác vụ để lọc một cái gì đó duy nhất trong dữ liệu meta, như SSID của mạng. Trong hộp thoại thuộc tính cho tác vụ mới, chuyển đến tab Triggers và chỉnh sửa trình kích hoạt.

Bây giờ, hãy lưu ý các giá trị cho trình kích hoạt Cơ bản. Bạn sẽ chuyển sang Trình kích hoạt tùy chỉnh và khi bạn thực hiện, nó sẽ bắt đầu trống và bạn sẽ cần điền lại các giá trị. Sau khi nhấp vào "Bộ lọc sự kiện mới ...", hãy tạo lại bộ lọc cơ bản bằng cách chọn Nhật ký sự kiện, nguồn sự kiện cần thiết và nhập ID sự kiện.

Lưu ý rằng không có nơi nào để chỉ định dữ liệu meta từ một sự kiện cụ thể (chẳng hạn như SSID của mạng không dây). Bạn sẽ cần chỉnh sửa XML thô để thực hiện điều này, như tôi đã khám phá trong bài viết này .

Để tìm ra dữ liệu meta nào bạn cần lọc trong Nhật ký sự kiện, quay lại Trình xem sự kiện và nhấp vào tab Chi tiết cho sự kiện. Chuyển sang chế độ xem XML. Đối với trường hợp cụ thể này, bit có liên quan trông giống như thế này:

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

Quay lại hộp thoại Bộ lọc sự kiện mới, chuyển sang tab XML và chọn hộp bên cạnh "Chỉnh sửa truy vấn theo cách thủ công".

Tham khảo lại bài viết được liên kết ở trên, bạn sẽ thấy rằng chuỗi bạn cần thêm sẽ trông giống như thế này:

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

Dán cái này ngay trước </Select>

Bùng nổ. Bạn đã hoàn tất.


Chỉ cần một lưu ý có thể giúp việc này dễ dàng hơn, thay vì chỉnh sửa XML cho trình kích hoạt, bạn có thể chuyển sang tab Điều kiện khi hiển thị các thuộc tính cho tác vụ. Ở đây có một tùy chọn để 'Chỉ bắt đầu nếu có kết nối mạng sau:' và cung cấp danh sách thả xuống các mạng mà bạn đã kết nối trước đó. Tôi nghi ngờ điều này sẽ lọc kích hoạt một cách thích hợp là tốt. Justin


Với Windows 7, tôi đã không quản lý để kích hoạt hoạt động chính xác với trình đơn thả xuống "Chỉ bắt đầu nếu [..]" nhưng với trình kích hoạt tùy chỉnh và XML mà bạn đã đề cập thì nó hoạt động. Khi sử dụng menu thả xuống (không hiển thị SSID tôi cần), tôi luôn dừng lại vì tình trạng này.
joweiser

"Kết nối mạng khả dụng" không có nghĩa là máy khách đang kết nối hoặc kết nối với kết nối mạng được xác định, theo yêu cầu của OP.
Gaia

6

Bạn có thể sử dụng Trình lập lịch tác vụ Windows 7 cho việc này.

Trong tab Triggers, bắt đầu nhiệm vụ On an event

Tôi không chạy Windows 7 trên máy tính xách tay, nhưng tôi tin rằng ID sự kiện có thể được tìm thấy trong Microsoft-Windows-WLAN-AutoConfig.

Trong Tab điều kiện Start Only if the following network connection is availablevà cụ thể mạng Không dây bạn muốn.

Sau đó gọi chương trình dưới Tác vụ.


"Kết nối mạng khả dụng" không có nghĩa là máy khách đang kết nối hoặc kết nối với kết nối mạng được xác định, theo yêu cầu của OP.
Gaia
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.