Tình hình
Tôi có một tập lệnh bó chuẩn bị một số tệp, thực thi chương trình ( .exe
) và sau đó xóa các tệp đã nói.
Tác vụ này sẽ chạy hàng giờ, vì vậy tôi đang cố gắng định cấu hình này bằng Tác vụ theo lịch. Vấn đề là chương trình được đề cập trước đó không chạy đúng khi được gọi từ tác vụ (không thông qua .bat
tập lệnh, cũng như khi gọi .exe
trực tiếp), nhưng tôi không nhận được bất kỳ thông báo cảnh báo hoặc lỗi nào trong nhật ký.
Thiết lập
Tác vụ được định cấu hình để chạy dưới dạng Tài khoản dịch vụ Windows có tất cả các đặc quyền được đặt đúng. Khi sử dụng tài khoản này để đăng nhập qua RDP, tôi có thể thực thi trực tiếp .bat
và .exe
không gặp sự cố, nhưng nhiệm vụ dường như không làm gì cả. Điều này dễ dàng được quan sát bởi vì chương trình luôn sửa đổi một tệp và sửa đổi trên dấu thời gian không thay đổi thông qua tác vụ.
Trong nhật ký tác vụ theo lịch trình, tôi nhận được thông báo thông tin cho tác vụ bắt đầu quá trình, thoát, v.v. Tuy nhiên, "mã kết quả" là 111
(đã cố gắng với Google điều này mà không gặp may, liên kết duy nhất tôi nhận được là "tên tệp quá dài ", Đó là AFAIK hoàn toàn không liên quan). Trong nhật ký ứng dụng, tôi hoàn toàn không nhận được gì.
Điều tôi nghi ngờ là vấn đề
Chương trình này là một quái vật cũ tạo ra một loại màn hình giật gân (thực ra là một cửa sổ bình thường), mặc dù GUI không cần thiết vì nó không yêu cầu tương tác và tự đóng lại sau khi hoạt động. Cửa sổ xuất hiện trong khoảng 2 giây.
Tôi nghi ngờ rằng yêu cầu này đối với GUI có liên quan đến nhiệm vụ thất bại, nhưng tôi không chắc chắn. Khi tôi đăng nhập với người dùng mà tác vụ chạy bên dưới (thông qua RDP), không có cửa sổ nào xuất hiện khi tôi bắt đầu tác vụ theo lịch trình.
Chỉnh sửa về GUI
Tôi đã xây dựng một chương trình thực thi C # rất nhỏ để khởi chạy chương trình mà không cần cửa sổ chính (sử dụng ProcessStartInfo.WindowStyle = ProcessWindowStyle.Hidden
). Ngay cả theo cách này, tác vụ theo lịch trình vẫn không thành công để khởi chạy chương trình một cách chính xác, nhưng mã trả về là ngay bây giờ 0
.
Cập nhật
Khi tôi định cấu hình tác vụ để nói "chạy cho dù người dùng có đăng nhập hay không" và run with highest privileges
tùy chọn này không được chọn , giá trị lỗi là 2147943859
.
Tôi có thể làm gì để khắc phục sự cố?
HĐH = Windows Server 2008 R2 SP1
Nếu cần thêm thông tin, xin vui lòng cho tôi biết trong các ý kiến.
.exe
"chương trình" với các tham số từ trong tập lệnh, đầu vào phải được cung cấp đúng làm đối số.