There's cách khác (và các module) là không rõ ràng như vậy ngay từ đầu: win_service module kết hợp với số win_nssm module.
Vì sfuqua đã được đề cập, phần lớn thời gian bạn muốn biết "trạng thái" của ứng dụng - ví dụ: nếu nó đã được cài đặt, hiện đang chạy, dừng lại và như vậy. Do đó, khái niệm về một Windows service là một giải pháp rất tốt. Và rất dễ dàng để có được một dịch vụ như vậy thông qua việc sử dụng Non-Sucking Service Manager (nssm).
Với Ansible win_nssm module that'sa Cakewalk:
- name: Install & start application as Windows service (via nssm)
win_nssm:
name: "your_app_name"
application: "{{path_to_your_apps_exe}}"
state: restarted
Bây giờ chúng ta có một dịch vụ Windows thực sự và có thể thao tác nhà nước với sự giúp đỡ của win_service module, cũng giống như chúng ta đang sử dụng để từ các ứng dụng chạy trên Linux :
- name: Control app Windows service
win_service:
name: "your_app_name"
state: stopped
cách tiếp cận này giải phóng chúng ta về nhu cầu sử dụng các mô-đun thô (trong đó có một số nhược điểm, như vô hiệu hóa hỗ trợ điều khiển biến đổi) và những rắc rối để viết và duy trì kịch bản cho nhiệm vụ đơn giản này.
Chỉ cần thử tính năng này và "thô" hoạt động tốt để chạy tệp thực thi trên Windows Server 2012 R2. – sfuqua
Nó hoạt động trên Windows 10. Cảm ơn bạn. –