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 Get-SystemLogJob
pekerjaan alur kerja. Output menunjukkan bahwa nilai properti PSJobTypeName adalah PSWorkflowJob.
Perintah keempat menggunakan Suspend-Job
cmdlet untuk menangguhkan Get-SystemLogJob
pekerjaan. Pekerjaan berjalan ke titik pemeriksaan dan kemudian menangguhkan.
#Sample WorkflowWorkflow Get-SystemLog
{
$Events = Get-WinEvent -LogName System
CheckPoint-Workflow
InlineScript {\\Server01\Scripts\Analyze-SystemEvents.ps1 -Events $Events}
}
PS C:\> Get-SystemLog -AsJob -JobName "Get-SystemLogJob"
PS C:\> Get-Job -Name Get-SystemLogJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Get-SystemLogJob PSWorkflowJob Running True localhost Get-SystemLog
PS C:\> Suspend-Job -Name Get-SystemLogJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Get-SystemLogJob 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.
PS C:\> Suspend-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
PS C:\> Get-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Suspended True localhost LogWorkflow
PS C:\> 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
PS C:\> 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
PS C:\> 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
PS C:\> 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.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Hashtable |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Aliases: | F |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 .
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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
.
Type: | Guid[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | Job[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Menentukan nama pekerjaan yang ramah yang ditangguhkan cmdlet ini. Masukkan satu atau beberapa nama pekerjaan alur kerja. Karakter kartubebas didukung.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | JobState |
Accepted values: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk