Chạy một tệp hàng loạt từ Trình lập lịch tác vụ mà không cần người dùng đăng nhập


10

Tôi đang cố chạy một tệp bó trên Windows 7 từ Trình lập lịch tác vụ. Tôi có thể chạy tệp bó tốt nếu tôi chạy nó từ dấu nhắc lệnh.

Nếu tôi chạy nó từ Trình lập lịch tác vụ để chỉ chạy khi người dùng đăng nhập, tác vụ sẽ chạy mà không gặp sự cố nào. Tuy nhiên, khi nó chạy khi người dùng chưa đăng nhập, Trình lập lịch tác vụ trông giống như nó đang chạy tệp nhưng không có gì xảy ra.

Tôi đã thử thay đổi tệp bó thành không có gì ngoài dòng sau để đảm bảo không phải vì tệp trong tệp bó:

echo "success" >> c:\temp\test.log

và điều đó không làm việc. Có ý kiến ​​gì không? Tôi có nó đang được chạy với các đặc quyền cao nhất và với tài khoản quản trị viên có toàn quyền đối với tệp bó và thư mục nơi tệp được ghi.


Tài khoản nào bạn đang sử dụng để chạy tác vụ? Những gì kích hoạt bạn đã thiết lập?
camilohe

Hãy thử chạy tác vụ như một tài khoản Dịch vụ hệ thống.
SamAndrew81

Câu trả lời:


20

GIÁM SÁT NHIỆM VỤ: SCRATED BATCH SCRIPT KHÔNG CHẠY

Thuộc tính lập lịch tác vụ. . .

Từ Windows Task Schedulertrong công việc Properties (xem phần lớn ảnh chụp màn hình) trong. . .

  • 1. General tab, đảm bảo rằng các tùy chọn bên dưới được chọn / chọn hoặc bỏ chọn giống như hiển thị trong Màn hình in A

    • Bỏ chọn Run only when user is logged on
    • Kiểm tra Run whether user is logged on or not
    • Kiểm tra Run with the highest privileges
  • 2. Conditions tab, đảm bảo rằng bên dưới tùy chọn được chọn , kiểm tra , hoặc không được kiểm soát chỉ như trong Print Screen B

    • Kiểm tra Wake the computer to run this task
  • 3. Actions tab, nhấp Editvà đảm bảo rằng Start in (optional)tập hợp được đặt như trong ví dụ bên dưới ( KHÔNG đặt dấu ngoặc kép quanh nó) cho đường dẫn đầy đủ chỉ vị trí tập lệnh bó mà KHÔNG có dấu gạch chéo cuối " \" Màn hình in C


CÂN NHẮC VỀ BẢO MẬT

  • Khi bạn nhấn OK( 2. ở trên), nó sẽ nhắc bạn xác thực để chạy thông tin này và thông tin đó là thứ sẽ cần truy cập vào EXECUTEtệp bó nơi nó tồn tại và nó cũng sẽ cần quyền truy cập để làm bất cứ điều gì mà tệp bó đang chạy mà bạn viết kịch bản

  • Có thể tốt nhất để thiết lập một tài khoản người dùng dịch vụ / proxy tĩnh cho quy trình này và sau đó sử dụng thông tin đăng nhập của nó để chạy quy trình. Bạn cần đảm bảo mật khẩu của nó mạnh và nó được thiết lập để không bao giờ hết hạn và nó cần quyền truy cập vào EXECUTElô và chạy bất cứ quy trình theo kịch bản nào đang chạy và bất kỳ lệnh và tài nguyên nào, v.v. nó sử dụng là tốt.

  • Có vẻ như tùy chọn Run whether user is logged on or notbạn PHẢI kiểm tra tùy chọn Run with highest privilegesđể nó thực sự chạy như mong đợi từ Trình lập lịch tác vụ.

Kiểm tra lỗi

  • Nếu có vấn đề với tập lệnh bó thực tế nhưng Bộ lập lịch tác vụ Windows thực sự thực thi nó để chạy nó nhưng lỗi logic tập lệnh bó, v.v ... vì bất kỳ lý do gì, Trình lập lịch tác vụ có thể không thấy lỗi này ở cấp độ này. Từ quan điểm của nó (theo mặc định hầu hết thời gian), nó đang thực thi tệp bó miễn là nó có thể thực thi nó và có quyền truy cập để làm như vậy, công việc của nó được thực hiện thành công.

  • Thêm kiểm tra lỗi hoặc đăng nhập vào logic tập lệnh bó để nắm bắt (hoặc khắc phục sự cố ) các vấn đề ở cấp độ này, bao gồm đảm bảo bối cảnh bảo mật mà bộ lập lịch hàng loạt thực thi nó như có quyền truy cập phù hợp vào các lệnh, tài nguyên, v.v.


Cân nhắc chính sách nhóm

KIỂM TRA CHÍNH SÁCH NHÓM VÀ ĐĂNG NHẬP NHƯ MỘT GIẤY PHÉP CÔNG VIỆC BATCH

Trả lời: Trên Windows, đặc quyền này được cấp thông qua Chính sách bảo mật cục bộ hoặc tên miền . Để thực hiện việc này bằng Chính sách bảo mật cục bộ , hãy làm theo các bước sau.

  1. Trong Bảng điều khiển , mở Công cụ quản trị , rồi Chính sách bảo mật cục bộ .
  2. Bên dưới Cài đặt bảo mật , mở Chính sách cục bộ và tô sáng Phân quyền người dùng .
  3. Xác định vị trí Đăng nhập như một công việc hàng loạt . Mở thuộc tính và thêm bất kỳ người dùng nào cần quyền này.
  4. Khi hoàn tất, hãy lưu các thay đổi của bạn và đóng cửa sổ Cài đặt bảo mật cục bộ .

Những thay đổi của bạn sẽ có hiệu lực ngay lập tức. Để thay đổi Chính sách bảo mật miền, trên bộ điều khiển miền, hãy sử dụng tiện ích Chính sách bảo mật miền trong Bảng điều khiển


Batch Script Logic với các ổ đĩa được ánh xạ hoặc Đường dẫn UNC đầy đủ và các vấn đề. . .

Nếu tập lệnh của bạn đang tham chiếu ổ đĩa mạng được ánh xạ nhưng bạn muốn nó Run whether the user is logged on or not, thì trong bối cảnh này, ánh xạ ổ đĩa có thể không thực sự ở đó để xử lý hàng loạt để thực hiện những gì mong đợi.

Nếu có thể, hãy sử dụng UNCcác đường dẫn trong logic tập lệnh bó của bạn thay vì ký tự ổ đĩa được ánh xạ để tránh các vấn đề. Mặt khác, bạn có thể cần sử dụng PUSHD \\ServerName\ShareNameở đầu quy trình lô và sau đó sử dụng POPDở cuối quy trình lô. Bạn có thể ánh xạ ổ đĩa NET USE X: \\ServerName\ShareNamekhi bắt đầu quá trình xử lý lô và sau đó ngắt kết nối ổ đĩa NET USE X: /DELETEở cuối quá trình xử lý.


KHÁC

  • MS HOTFIX (KB977353): Mục tùy chọn Nhiệm vụ tức thời của Chính sách nhóm không chạy trên máy khách đang chạy Windows 7 hoặc Windows Server 2008 R2

  • Nhìn vào Settingstab của tác vụ theo lịch trình và tùy chọn được liệt kê là Stop the task if it runs longer than:. Nếu tùy chọn này là kiểm tra và khoảng thời gian ít hơn một tập lệnh đang chạy, Trình lập lịch tác vụ sẽ giết nó sớm và do đó bạn có thể không nhận được kết quả mong đợi. Đây là một cái gì đó khác để kiểm tra khi xử lý sự cố chỉ trong trường hợp.

    nhập mô tả hình ảnh ở đây

  • Từ Triggerstab của tác vụ theo lịch trình khi bạn chọn Edittùy chọn, hãy chắc chắn đặt Start:thời gian và ngày là giá trị KHÔNG được thông qua. Hãy chắc chắn rằng giá trị này có ngày và giờ được đặt thành giá trị trong Tương lai . Nếu không, bạn có thể nhận thấy rằng công việc nói rằng nó được lên lịch để chạy vào thời gian dự kiến ​​tiếp theo như bạn mong đợi; tuy nhiên, nó không được thực thi bởi Trình lập lịch tác vụ cũng như tab Trình lập lịch tác vụ History cho thấy rằng nó đã được thực thi (vì không phải vậy). Chỉ cần chỉnh sửa trình kích hoạt và cập nhật nó với một ngày và / hoặc thời gian trong tương lai để giải quyết vấn đề này nếu bạn gặp phải nó.

    nhập mô tả hình ảnh ở đây


MÀN HÌNH IN

Màn hình in A

nhập mô tả hình ảnh ở đây

Màn hình in B

nhập mô tả hình ảnh ở đây

Màn hình in C

nhập mô tả hình ảnh ở đây

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.