Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Cmdlet dapat melakukan tindakan mereka secara internal atau sebagai pekerjaan latar belakangWindows PowerShell. Ketika cmdlet berjalan sebagai pekerjaan latar belakang, pekerjaan dilakukan secara asinkron di utasnya sendiri terpisah dari utas alur yang digunakan cmdlet. Dari perspektif pengguna, ketika cmdlet berjalan sebagai pekerjaan latar belakang, prompt perintah segera kembali bahkan jika pekerjaan membutuhkan waktu yang lama untuk diselesaikan, dan pengguna dapat melanjutkan tanpa gangguan saat pekerjaan berjalan.
Pekerjaan Latar Belakang, Pekerjaan Anak, dan Repositori Pekerjaan
Objek pekerjaan yang dikembalikan oleh cmdlet yang mendukung pekerjaan latar belakang menentukan pekerjaan. (cmdlet Start-Job juga mengembalikan objek pekerjaan.) Nama pekerjaan, pengidentifikasi yang digunakan untuk menentukan pekerjaan, informasi status, dan pekerjaan anak disertakan dalam definisi ini. Pekerjaan tidak melakukan pekerjaan apa pun. Setiap pekerjaan latar belakang memiliki setidaknya satu pekerjaan anak karena pekerjaan anak melakukan pekerjaan aktual. Ketika Anda menjalankan cmdlet sehingga pekerjaan dilakukan sebagai pekerjaan latar belakang, cmdlet harus menambahkan pekerjaan dan pekerjaan anak ke repositori umum, yang disebut sebagai repositori pekerjaan .
Untuk informasi selengkapnya tentang bagaimana pekerjaan latar belakang ditangani di baris perintah, lihat yang berikut ini:
Menulis Cmdlet yang Berjalan sebagai Pekerjaan Latar Belakang
Untuk menulis cmdlet yang dapat dijalankan sebagai pekerjaan latar belakang, Anda harus menyelesaikan tugas berikut:
Tentukan parameter sakelar
asJob
sehingga pengguna dapat memutuskan apakah akan menjalankan cmdlet sebagai pekerjaan latar belakang.Buat objek yang berasal dari kelas System.Management.Automation.Job. Objek ini dapat berupa objek pekerjaan kustom atau objek pekerjaan yang disediakan oleh Windows PowerShell, seperti objek System.Management.Automation.PSEventJob.
Dalam metode pemrosesan rekaman, tambahkan pernyataan
if
yang mendeteksi apakah cmdlet harus berjalan sebagai pekerjaan latar belakang.Untuk objek pekerjaan kustom, terapkan kelas pekerjaan.
Mengembalikan objek yang sesuai, tergantung pada apakah cmdlet dijalankan sebagai pekerjaan latar belakang.
Untuk contoh kode, lihat Cara Mendukung Pekerjaan.
API Job-Related latar belakang
API berikut disediakan oleh Windows PowerShell untuk mengelola pekerjaan latar belakang.
System.Management.Automation.Job Mendapatkan objek pekerjaan kustom. Ini adalah kelas abstrak.
System.Management.Automation.JobRepository Mengelola dan menyediakan informasi tentang pekerjaan latar belakang aktif saat ini.
System.Management.Automation.JobState Menentukan status pekerjaan latar belakang. Status termasuk Dimulai, Berjalan, dan Dihentikan.
System.Management.Automation.JobStateInfo Menyediakan informasi tentang status pekerjaan latar belakang dan, jika perubahan status terakhir disebabkan oleh kesalahan, alasan pekerjaan memasuki statusnya saat ini.
System.Management.Automation.JobStateEventArgs Menyediakan argumen untuk peristiwa yang dimunculkan saat pekerjaan latar belakang berubah status.
Cmdlet Pekerjaan Windows PowerShell
Cmdlet berikut disediakan oleh Windows PowerShell untuk mengelola pekerjaan latar belakang.
Mendapatkan pekerjaan latar belakang Windows PowerShell yang berjalan dalam sesi saat ini.
Mendapatkan hasil pekerjaan latar belakang Windows PowerShell dalam sesi saat ini.
Menghapus pekerjaan latar belakang Windows PowerShell.
Memulai pekerjaan latar belakang Windows PowerShell.
Menghentikan pekerjaan latar belakang Windows PowerShell.
Menekan prompt perintah hingga satu atau semua pekerjaan latar belakang Windows PowerShell yang berjalan dalam sesi selesai.