Saya memiliki aplikasi web yang berjalan di Windows Server 2008 R2, yang memiliki banyak tugas terjadwal yang menangani semua hal backend. Ketika saya melakukan penyebaran perangkat lunak yang menyentuh basis data, saya harus menonaktifkan semua tugas yang dijadwalkan. Saat ini saya memiliki daftar panjang yang harus saya selesaikan secara manual, menonaktifkan setiap tugas yang dijadwalkan saat saya pergi - pasti ini adalah pekerjaan yang matang untuk otomatisasi dengan Powershell.
Sayangnya, dokumentasi Powershell tampaknya cukup tersembunyi tentang bagaimana Anda menonaktifkan tugas terjadwal yang ada (dan tentu saja mengaktifkannya kembali setelah rilis berhasil diselesaikan). Saya bisa mendapatkan daftar tugas siap, berjalan atau dinonaktifkan, tetapi bagaimana selanjutnya?
sumber
at.exe
. (Contoh:)AT 09:00 /every:SUNDAY shutdown.exe /r /f /d p:4:1 /c "Reboot via SchTask (AT Job)"
. Kesalahan yang akan Anda dapatkan adalah 0x80041327; Tugas ini memiliki properti yang tidak kompatibel dengan versi windows sebelumnyaJika Anda hanya mencoba untuk menghentikan SEMUA tugas, mungkin lebih mudah untuk hanya menghentikan layanan Penjadwal Tugas. Modul ScheduledTasks tidak tersedia hingga Windows Server 2012, jadi mengelola tugas tidak semudah menghentikan dan memulai layanan:
Jika itu tidak berhasil bagi Anda schtasks.exe masih dapat digunakan dari PowerShell untuk mengelola tugas individu:
sumber
Apakah ini yang Anda cari (Disable-ScheduledTask) ?
sumber
Bahkan cara yang lebih baik di mana Anda tidak perlu menentukan nama tugas:
sumber
Ini sempurna! Ini berfungsi lebih baik daripada Get-ScheduledTask karena saya berada di lingkungan campuran 2008/2012. Saya menambahkan beberapa baris ke kueri AD dan menjalankan perintah ini terhadap sekelompok komputer. Tujuan saya adalah menonaktifkan tugas "Server Manager" yang dibuka setiap kali pengguna masuk. Presto! semua hilang!
sumber
Lihatlah fungsi ini
Misalnya, Anda dapat menonaktifkan semua tugas di bawah folder "\ mysql" dengan memanggil
Control-Tasks -FolderPath "\mysql" -Disable -Recursive
Cuplikan kode ini berasal dari Cara menonaktifkan / mengaktifkan tugas terjadwal dalam batch oleh PowerShell , Anda dapat mengunduh arsip sampel lengkap di sana.
sumber
ini bekerja untuk saya
sumber