Menjalankan File Batch dari Penjadwal Tugas Tanpa Pengguna sedang login

10

Saya mencoba menjalankan file batch pada Windows 7 dari Penjadwal Tugas. Saya dapat menjalankan file batch dengan baik jika saya menjalankannya dari command prompt.

Jika saya menjalankannya dari Penjadwal Tugas untuk hanya berjalan ketika pengguna masuk, tugas akan berjalan tanpa masalah. Namun, saat dijalankan ketika pengguna tidak masuk, Penjadwal Tugas sepertinya sedang menjalankan file tetapi tidak ada yang terjadi.

Saya sudah mencoba mengubah file batch menjadi apa-apa selain baris berikut untuk memastikan itu bukan karena apa yang ada di file batch:

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

dan itu tidak berhasil. Ada ide? Saya menjalankannya dengan hak istimewa tertinggi dan dengan akun admin yang memiliki izin penuh untuk file batch dan folder tempat file tersebut sedang ditulis.

ya
sumber
Akun apa yang Anda gunakan untuk menjalankan tugas? Apa pemicu yang Anda tetapkan?
camilohe
Coba jalankan tugas sebagai akun Layanan Sistem.
SamAndrew81

Jawaban:

20

JADWAL TUGAS: JADWAL SCRIPT JADWAL TIDAK MENJALANKAN

Properti Penjadwal Tugas. . .

Dari Windows Task Schedulerdi pekerjaan Properties (lihat sebagian besar tangkapan layar di bawah) di Windows 7 . . .

  • 1. General tab, pastikan bahwa opsi di bawah ini dipilih / dicentang atau tidak dicentang seperti yang ditunjukkan pada Print Screen A

    • Hapus centang Run only when user is logged on
    • Memeriksa Run whether user is logged on or not
    • Memeriksa Run with the highest privileges
  • 2. Conditions tab, pastikan bahwa opsi di bawah ini dipilih , dicentang , atau tidak dicentang seperti yang ditunjukkan pada Print Screen B

    • Memeriksa Wake the computer to run this task
  • 3. Actions tab, klik Edit, dan pastikan bahwa Start in (optional)diatur seperti yang ditunjukkan pada contoh di bawah ini ( JANGAN menaruh tanda kutip ganda di sekitarnya) untuk path lengkap menunjuk di mana skrip batch ditempatkan TANPA garis miring terbalik " \" Cetak Layar C


PERTIMBANGAN KEAMANAN

  • Setelah Anda menekan OK( 2. di atas) itu akan meminta Anda untuk kredensial untuk menjalankan ini sebagai, dan kredensial itulah yang akan memerlukan akses ke EXECUTEfile batch di mana ia ada, dan itu juga akan memerlukan akses untuk melakukan apa pun file batch berjalan yang Anda skrip.

  • Mungkin yang terbaik adalah mengatur akun pengguna layanan / proxy statis untuk proses ini dan kemudian menggunakan kredensial untuk menjalankan proses. Anda harus memastikan kata sandinya kuat dan tidak akan pernah kedaluwarsa — dan perlu akses ke EXECUTEbatch dan menjalankan apa pun yang proses skrip batch dijalankan dan perintah serta sumber daya apa pun, dll. itu memanfaatkan juga.

  • Tampaknya opsi Run whether user is logged on or notAnda HARUS memeriksa opsi Run with highest privilegesuntuk benar-benar berjalan seperti yang diharapkan dari Penjadwal Tugas.

Pemeriksaan Kesalahan

  • Jika ada masalah dengan skrip kumpulan sebenarnya tetapi Penjadwal Tugas Windows benar-benar mengeksekusinya untuk menjalankannya tetapi skrip kumpulan skrip keluar, dll. Karena alasan apa pun, Penjadwal Tugas mungkin tidak melihat kegagalan ini pada tingkat ini. Dari perspektifnya (secara default sebagian besar waktu), ia mengeksekusi file batch sehingga selama dapat mengeksekusi dan memiliki akses untuk melakukannya, tugasnya berhasil dilakukan.

  • Menambahkan pengecekan kesalahan atau masuk ke logika skrip batch untuk menangkap (atau memecahkan masalah ) masalah pada level ini termasuk memastikan bahwa konteks keamanan yang dijalankan oleh penjadwal bets sebagai memiliki akses yang sesuai ke perintah, sumber daya, dll. Yang dijalankan skrip batch.


Pertimbangan Kebijakan Grup

PERIKSA KEBIJAKAN KELOMPOK DAN LOG PADA SEBAGAI IZIN PEKERJAAN BATCH

Jawaban: Di Windows, hak istimewa ini diberikan melalui Kebijakan Keamanan Lokal atau Domain . Untuk melakukan ini menggunakan Kebijakan Keamanan Lokal , ikuti langkah-langkah ini.

  1. Di Panel Kontrol , buka Alat Administratif , lalu Kebijakan Keamanan Lokal .
  2. Di bawah Pengaturan Keamanan , buka Kebijakan Lokal dan sorot Penugasan Hak Pengguna .
  3. Cari Log on sebagai pekerjaan batch . Buka properti dan tambahkan semua pengguna yang membutuhkan ini.
  4. Setelah selesai, simpan perubahan Anda dan tutup jendela Pengaturan Keamanan Lokal .

Perubahan Anda harus segera berlaku. Untuk membuat perubahan pada Kebijakan Keamanan Domain, pada pengontrol domain, gunakan utilitas Kebijakan Keamanan Domain di Panel Kontrol


Logika Batch Script dengan Drive yang Dipetakan atau Path UNC Penuh, dan masalah. . .

Jika skrip Anda merujuk drive jaringan yang dipetakan tetapi Anda menginginkannya Run whether the user is logged on or not, maka dalam konteks ini, pemetaan drive mungkin sebenarnya tidak ada untuk proses batch untuk melakukan apa yang diharapkan.

Jika memungkinkan, gunakan UNCjalur dalam logika skrip batch Anda alih-alih huruf drive yang dipetakan untuk menghindari masalah. Jika tidak, Anda mungkin perlu menggunakan PUSHD \\ServerName\ShareNamedi awal proses batch dan kemudian gunakan POPDdi akhir proses batch. Anda bisa memetakan drive dengan NET USE X: \\ServerName\ShareNamedi awal proses batch dan kemudian lepaskan drive dengan NET USE X: /DELETEdi akhir proses batch.


LAINNYA

  • MS HOTFIX (KB977353): Kebijakan Grup Item preferensi tugas langsung tidak berjalan di komputer klien yang menjalankan Windows 7 atau Windows Server 2008 R2

  • Lihatlah Settingstab tugas yang dijadwalkan dan opsi yang terdaftar sebagai Stop the task if it runs longer than:. Jika opsi ini dicentang dan jangka waktunya kurang dari skrip yang berjalan, Penjadwal Tugas akan membunuhnya lebih awal dan dengan demikian Anda mungkin tidak mendapatkan hasil yang diharapkan. Ini adalah hal lain untuk diperiksa saat pemecahan masalah untuk berjaga-jaga.

    masukkan deskripsi gambar di sini

  • Dari Triggerstab tugas yang dijadwalkan saat Anda memilih Editopsi, pastikan untuk mengatur Start:waktu dan tanggal dari nilai yang belum terlewati. Pastikan ini menetapkan tanggal dan waktu dengan nilai di Masa Depan . Kalau tidak, Anda mungkin melihat bahwa pekerjaan menyatakan bahwa itu dijadwalkan untuk dijalankan pada waktu yang dijadwalkan berikutnya seperti yang Anda harapkan; namun, itu tidak dijalankan oleh Penjadwal Tugas dan tidak juga tab Penjadwal Tugas History menunjukkan bahwa itu pernah dijalankan (karena tidak). Cukup edit pemicu dan perbarui dengan tanggal dan / atau waktu mendatang untuk menyelesaikan masalah ini jika Anda mengalaminya.

    masukkan deskripsi gambar di sini


PRINT SCREENS

Layar Cetak A

masukkan deskripsi gambar di sini

Layar Cetak B

masukkan deskripsi gambar di sini

Layar Cetak C

masukkan deskripsi gambar di sini

Pimp Juice
sumber