Suspend-Job
Menghentikan sementara pekerjaan alur kerja.
Sintaks
Suspend-Job
[-Force]
[-Wait]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Job] <Job[]>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-Filter] <Hashtable>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Suspend-Job
[-Force]
[-Wait]
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Suspend-Job
Cmdlet menangguhkan pekerjaan alur kerja. Menangguhkan berarti mengganggu atau menjeda pekerjaan alur kerja untuk sementara waktu. Cmdlet ini memungkinkan pengguna yang menjalankan alur kerja untuk menangguhkan alur kerja. Ini melengkapi aktivitas Suspend-Workflowhttps://go.microsoft.com/fwlink/?LinkId=267141 , yang merupakan perintah dalam alur kerja yang menangguhkan alur kerja.
Suspend-Job
Cmdlet hanya berfungsi pada pekerjaan alur kerja. Ini tidak berfungsi pada pekerjaan latar belakang standar, seperti yang dimulai dengan menggunakan Start-Job
cmdlet.
Untuk mengidentifikasi pekerjaan alur kerja, cari nilai PSWorkflowJob di properti PSJobTypeName pekerjaan. Untuk menentukan apakah jenis pekerjaan kustom tertentu mendukung Suspend-Job
cmdlet, lihat topik bantuan untuk jenis pekerjaan kustom.
Saat Anda menangguhkan pekerjaan alur kerja, pekerjaan alur kerja berjalan ke titik pemeriksaan berikutnya, menangguhkan, dan segera mengembalikan objek pekerjaan alur kerja. Untuk menunggu penangguhan selesai sebelum mendapatkan pekerjaan, gunakan parameter Suspend-Job
Tunggu atau Wait-Job
cmdlet. Ketika pekerjaan alur kerja ditangguhkan, nilai properti Status pekerjaan ditangguhkan.
Menangguhkan dengan benar bergantung pada titik pemeriksaan. Status pekerjaan, metadata, dan output saat ini disimpan di titik pemeriksaan sehingga pekerjaan alur kerja dapat dilanjutkan tanpa kehilangan status atau data. Jika pekerjaan alur kerja tidak memiliki titik pemeriksaan, maka tidak dapat ditangguhkan dengan benar. Untuk menambahkan titik pemeriksaan ke alur kerja yang Anda jalankan, gunakan parameter umum alur kerja PSPersist . Anda dapat menggunakan parameter Paksa untuk segera menangguhkan pekerjaan alur kerja apa pun dan untuk menangguhkan pekerjaan alur kerja yang tidak memiliki titik pemeriksaan, tetapi tindakan tersebut dapat menyebabkan hilangnya status dan data.
Sebelum Anda menggunakan cmdlet Pekerjaan pada jenis pekerjaan kustom, seperti pekerjaan alur kerja (PSWorkflowJob) mengimpor modul yang mendukung jenis pekerjaan kustom, baik dengan menggunakan Import-Module
cmdlet atau menggunakan atau menggunakan cmdlet dalam modul.
Cmdlet ini diperkenalkan di Windows PowerShell 3.0.
Contoh
Contoh 1: Menangguhkan pekerjaan alur kerja berdasarkan nama
Contoh ini menunjukkan cara menangguhkan pekerjaan alur kerja.
Perintah pertama membuat Get-SystemLog
alur kerja. Alur kerja menggunakan CheckPoint-Workflow
aktivitas untuk menentukan titik pemeriksaan dalam alur kerja.
Perintah kedua menggunakan parameter AsJob yang umum untuk semua alur kerja untuk menjalankan Get-SystemLog
alur kerja sebagai pekerjaan latar belakang. Perintah menggunakan parameter umum alur kerja JobName untuk menentukan nama yang mudah diingat untuk pekerjaan alur kerja.
Perintah ketiga menggunakan Get-Job
cmdlet untuk mendapatkan LogflowJob
pekerjaan alur kerja. Output menunjukkan bahwa nilai properti PSJobTypeName adalah PSWorkflowJob.
Perintah keempat menggunakan Suspend-Job
cmdlet untuk menangguhkan LogflowJob
pekerjaan. Pekerjaan berjalan ke titik pemeriksaan dan kemudian menangguhkan.
#Sample Workflow
Workflow Get-SystemLog
{
$Events = Get-WinEvent -LogName System
CheckPoint-Workflow
InlineScript {\\Server01\Scripts\Analyze-SystemEvents.ps1 -Events $Events}
}
Get-SystemLog -AsJob -JobName "LogflowJob"
Get-Job -Name LogflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 LogflowJob PSWorkflowJob Running True localhost Get-SystemLog
Suspend-Job -Name LogflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 LogflowJob PSWorkflowJob Suspended True localhost Get-SystemLog
Contoh 2: Menangguhkan dan melanjutkan pekerjaan alur kerja
Contoh ini menunjukkan cara menangguhkan dan melanjutkan pekerjaan alur kerja.
Perintah pertama menangguhkan pekerjaan LogWorkflowJob. Perintah segera kembali. Output menunjukkan bahwa pekerjaan alur kerja masih berjalan, meskipun sedang ditangguhkan.
Perintah kedua menggunakan Get-Job
cmdlet untuk mendapatkan pekerjaan LogWorkflowJob. Output menunjukkan bahwa pekerjaan alur kerja berhasil ditangguhkan.
Perintah ketiga menggunakan Get-Job
cmdlet untuk mendapatkan pekerjaan LogWorkflowJob dan Resume-Job
cmdlet untuk melanjutkannya. Output menunjukkan bahwa pekerjaan alur kerja berhasil dilanjutkan dan sekarang berjalan.
Suspend-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
Get-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Suspended True localhost LogWorkflow
Get-Job -Name LogWorkflowJob | Resume-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
Contoh 3: Menangguhkan pekerjaan alur kerja di komputer jarak jauh
Invoke-Command -ComputerName Srv01 -Scriptblock {Suspend-Job -Filter @{CustomID="031589"}
Perintah ini menggunakan Invoke-Command
cmdlet untuk menangguhkan pekerjaan alur kerja pada komputer jarak jauh Srv01. Nilai parameter Filter adalah tabel hash yang menentukan nilai CustomID.
CustomID ini adalah metadata pekerjaan (PSPrivateMetadata).
Contoh 4: Tunggu pekerjaan alur kerja ditangguhkan
Suspend-Job VersionCheck -Wait
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
5 VersionCheck PSWorkflowJob Suspended True localhost LogWorkflow
Perintah ini menangguhkan pekerjaan alur kerja VersionCheck. Perintah menggunakan parameter Tunggu untuk menunggu hingga pekerjaan alur kerja ditangguhkan. Ketika pekerjaan alur kerja berjalan ke titik pemeriksaan berikutnya dan ditangguhkan, perintah selesai dan mengembalikan objek pekerjaan.
Contoh 5: Paksa pekerjaan alur kerja untuk ditangguhkan
Suspend-Job Maintenance -Force
Perintah ini menangguhkan pekerjaan alur kerja Pemeliharaan secara paksa. Pekerjaan Pemeliharaan tidak memiliki titik pemeriksaan. Ini tidak dapat ditangguhkan dengan benar dan mungkin tidak dilanjutkan dengan benar.
Parameter
-Confirm
Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Filter
Menentukan tabel kondisi hash. Cmdlet ini menangguhkan pekerjaan yang memenuhi semua kondisi. Masukkan tabel hash di mana kunci adalah properti pekerjaan dan nilainya adalah nilai properti pekerjaan.
Jenis: | Hashtable |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Force
Menangguhkan pekerjaan alur kerja segera. Tindakan ini dapat menyebabkan hilangnya status dan data.
Secara default, Suspend-Job
memungkinkan pekerjaan alur kerja berjalan hingga titik pemeriksaan berikutnya lalu menangguhkannya.
Anda juga dapat menggunakan parameter ini untuk menangguhkan pekerjaan alur kerja yang tidak memiliki titik pemeriksaan.
Jenis: | SwitchParameter |
Alias: | F |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Id
Menentukan ID pekerjaan yang ditangguhkan cmdlet ini.
ID adalah bilangan bulat yang secara unik mengidentifikasi pekerjaan dalam sesi saat ini. Lebih mudah diingat dan dititik daripada ID instans, tetapi hanya unik dalam sesi saat ini. Anda dapat mengetik satu atau beberapa ID, dipisahkan oleh koma. Untuk menemukan ID pekerjaan, gunakan Get-Job
cmdlet .
Jenis: | Int32[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-InstanceId
Menentukan ID instans pekerjaan yang ditangguhkan cmdlet ini. Defaultnya adalah semua pekerjaan.
ID instans adalah GUID yang secara unik mengidentifikasi pekerjaan di komputer. Untuk menemukan ID instans pekerjaan, gunakan Get-Job
.
Jenis: | Guid[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Job
Menentukan pekerjaan alur kerja yang dihentikan cmdlet ini. Masukkan variabel yang berisi pekerjaan alur kerja atau perintah yang mendapatkan pekerjaan alur kerja. Anda juga dapat menyalurkan pekerjaan alur kerja ke Suspend-Job
cmdlet.
Jenis: | Job[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Name
Menentukan nama pekerjaan yang ramah yang ditangguhkan cmdlet ini. Masukkan satu atau beberapa nama pekerjaan alur kerja. Karakter kartubebas didukung.
Jenis: | String[] |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-State
Menentukan status pekerjaan. Cmdlet ini hanya menghentikan pekerjaan dalam status yang ditentukan. Nilai yang dapat diterima untuk parameter ini adalah:
- Belum Dimulai
- Sedang berjalan
- Selesai
- Gagal
- Dihentikan
- Terblokir
- Ditangguhkan
- Terputus
- Menangguhkan
- Menghentikan
Suspend-Job
menangguhkan hanya pekerjaan alur kerja dalam status Berjalan .
Untuk informasi selengkapnya tentang status pekerjaan, lihat Enumerasi JobState.
Jenis: | JobState |
Nilai yang diterima: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Wait
Menunjukkan bahwa cmdlet ini menekan prompt perintah hingga pekerjaan alur kerja dalam status ditangguhkan. Secara default, Suspend-Job
segera dikembalikan, bahkan jika pekerjaan alur kerja belum dalam status ditangguhkan.
Parameter Tunggu setara dengan pipa Suspend-Job
perintah ke Wait-Job
cmdlet.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan semua jenis pekerjaan ke cmdlet ini. Namun, jika Suspend-Job
mendapatkan pekerjaan dari jenis yang tidak didukung, itu mengembalikan kesalahan yang mengakhiri.
Output
Cmdlet ini mengembalikan pekerjaan yang ditangguhkan.
Catatan
Windows PowerShell menyertakan alias berikut untuk Suspend-Job
:
sujb
Mekanisme dan lokasi untuk menyimpan pekerjaan yang ditangguhkan mungkin bervariasi tergantung pada jenis pekerjaan. Misalnya, pekerjaan alur kerja yang ditangguhkan disimpan di penyimpanan file datar secara default, tetapi juga dapat disimpan dalam database.
Jika Anda mengirimkan pekerjaan alur kerja yang tidak dalam status Berjalan, Suspend-Job
menampilkan pesan peringatan. Untuk menekan peringatan, gunakan parameter umum WarningAction dengan nilai SilentlyContinue.
Jika pekerjaan bukan jenis yang mendukung penangguhan, Suspend-Job
mengembalikan kesalahan yang mengakhiri.
Untuk menemukan pekerjaan alur kerja yang ditangguhkan, termasuk yang ditangguhkan oleh cmdlet ini, gunakan parameter Get-Job
Status cmdlet untuk mendapatkan pekerjaan alur kerja dalam status Ditangguhkan.
Beberapa jenis pekerjaan memiliki opsi atau properti yang mencegah Windows PowerShell menangguhkan pekerjaan. Jika upaya untuk menangguhkan pekerjaan gagal, verifikasi bahwa opsi pekerjaan dan properti memungkinkan penangguhan.