Resume-Job

Memulai ulang pekerjaan yang ditangguhkan.

Sintaks

Resume-Job
      [-Wait]
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Job] <Job[]>
      [-Wait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-Name] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-InstanceId] <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-State] <JobState>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-Filter] <Hashtable>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Deskripsi

Resume-Job Cmdlet melanjutkan pekerjaan alur kerja yang ditangguhkan, seperti dengan menggunakan Suspend-Job cmdlet atau aktivitas about_Suspend-Alur Kerja. Saat pekerjaan alur kerja dilanjutkan, mesin pekerjaan membangun kembali status, metadata, dan output dari sumber daya yang disimpan, seperti titik pemeriksaan. Pekerjaan dimulai ulang tanpa kehilangan status atau data. Status pekerjaan diubah dari Ditangguhkan menjadi Berjalan.

Gunakan parameter Resume-Job untuk memilih pekerjaan berdasarkan nama, ID, ID instans, atau objek pekerjaan pipa, seperti yang dikembalikan oleh Get-Job cmdlet, ke Resume-Job. Anda juga dapat menggunakan filter properti untuk memilih pekerjaan yang akan dilanjutkan.

Secara default, Resume-Job segera dikembalikan, meskipun semua pekerjaan mungkin belum dilanjutkan. Untuk menekan prompt perintah hingga semua pekerjaan yang ditentukan dilanjutkan, gunakan parameter Tunggu .

Resume-Job Cmdlet hanya berfungsi pada jenis pekerjaan kustom, seperti pekerjaan alur kerja. Ini tidak berfungsi pada pekerjaan latar belakang standar, seperti yang dimulai dengan menggunakan Start-Job cmdlet. Jika Anda mengirimkan pekerjaan dengan jenis yang tidak didukung, Resume-Job menghasilkan kesalahan yang mengakhiri dan berhenti berjalan.

Untuk mengidentifikasi pekerjaan alur kerja, cari nilai PSWorkflowJob di properti PSJobTypeName pekerjaan. Untuk menentukan apakah jenis pekerjaan kustom tertentu mendukung Resume-Job cmdlet, lihat topik bantuan untuk jenis pekerjaan kustom.

Sebelum menggunakan cmdlet Pekerjaan pada jenis pekerjaan kustom, impor modul yang mendukung jenis pekerjaan kustom, baik dengan menggunakan Import-Module cmdlet atau mendapatkan atau menggunakan cmdlet dalam modul.

Cmdlet ini diperkenalkan di Windows PowerShell 3.0.

Contoh

Contoh 1: Melanjutkan pekerjaan berdasarkan ID

Perintah dalam contoh ini memverifikasi bahwa pekerjaan adalah pekerjaan alur kerja yang ditangguhkan lalu melanjutkan pekerjaan. Perintah pertama menggunakan Get-Job cmdlet untuk mendapatkan pekerjaan. Output menunjukkan bahwa pekerjaan adalah pekerjaan alur kerja yang ditangguhkan. Perintah kedua menggunakan parameter Id cmdlet Resume-Job untuk melanjutkan pekerjaan dengan nilai Id 4.

PS C:\> Get-Job EventJob
Id     Name            PSJobTypeName   State         HasMoreData     Location   Command
--     ----            -------------   -----         -----------     --------   -------
4      EventJob        PSWorkflowJob   Suspended     True            Server01   \\Script\Share\Event.ps1

PS C:\> Resume-Job -Id 4

Contoh 2: Melanjutkan pekerjaan berdasarkan nama

Perintah ini menggunakan parameter Nama untuk melanjutkan beberapa pekerjaan alur kerja di komputer lokal.

PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*

Contoh 3: Menggunakan nilai properti kustom

Perintah ini menggunakan nilai properti kustom untuk mengidentifikasi pekerjaan alur kerja yang akan dilanjutkan. Ini menggunakan parameter Filter untuk mengidentifikasi pekerjaan alur kerja dengan properti CustomID-nya. Ini juga menggunakan parameter Status untuk memverifikasi bahwa pekerjaan alur kerja ditangguhkan, sebelum mencoba melanjutkannya.

PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended

Contoh 4: Melanjutkan semua pekerjaan yang ditangguhkan di komputer jarak jauh

Perintah ini melanjutkan semua pekerjaan yang ditangguhkan pada komputer jarak jauh Srv01.

PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}

Perintah menggunakan Invoke-Command cmdlet untuk menjalankan perintah pada komputer Srv01. Perintah jarak jauh menggunakan parameter Get-Job Status cmdlet untuk mendapatkan semua pekerjaan yang ditangguhkan di komputer. Operator alur (|) mengirim pekerjaan yang ditangguhkan ke Resume-Job cmdlet, yang melanjutkannya.

Contoh 5: Tunggu pekerjaan dilanjutkan

Perintah ini menggunakan parameter Tunggu untuk diarahkan Resume-Job untuk kembali hanya setelah semua pekerjaan yang ditentukan dilanjutkan. Parameter Tunggu sangat berguna dalam skrip yang mengasumsikan bahwa pekerjaan dilanjutkan sebelum skrip berlanjut.

PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait

Contoh 6: Melanjutkan alur kerja yang menangguhkan dirinya sendiri

Sampel kode ini memperlihatkan Suspend-Workflow aktivitas dalam alur kerja.

Test-Suspend Alur kerja pada komputer Server01. Saat Anda menjalankan alur kerja, alur kerja menjalankan Get-Date aktivitas dan menyimpan hasilnya $a dalam variabel. Kemudian menjalankan Suspend-Workflow aktivitas. Sebagai respons, dibutuhkan titik pemeriksaan, menangguhkan alur kerja, dan mengembalikan objek pekerjaan alur kerja. Suspend-Workflow mengembalikan objek pekerjaan alur kerja meskipun alur kerja tidak dijalankan secara eksplisit sebagai pekerjaan.

Resume-JobTest-Suspend melanjutkan alur kerja di Job8. Ini menggunakan parameter Tunggu untuk menahan prompt perintah hingga pekerjaan dilanjutkan.

Receive-Job Cmdlet mendapatkan hasil Test-Suspend alur kerja. Perintah akhir dalam alur kerja mengembalikan objek TimeSpan yang mewakili waktu yang berlalu antara tanggal dan waktu saat ini dan tanggal dan waktu yang disimpan dalam $a variabel sebelum alur kerja ditangguhkan.

#SampleWorkflow
Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}

PS C:\> Test-Suspend -PSComputerName Server01
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
8      Job8            PSWorkflowJob   Suspended     True            Server01             Test-Suspend

PS C:\> Resume-Job -Name "Job8" -Wait
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
8      Job8            PSWorkflowJob   Running       True            Server01             Test-Suspend

PS C:\> Receive-Job -Name Job8
        Days              : 0
        Hours             : 0
        Minutes           : 0
        Seconds           : 19
        Milliseconds      : 823
        Ticks             : 198230041
        TotalDays         : 0.000229432917824074
        TotalHours        : 0.00550639002777778
        TotalMinutes      : 0.330383401666667
        TotalSeconds      : 19.8230041
        TotalMilliseconds : 19823.0041
        PSComputerName    : Server01

Resume-Job Cmdlet memungkinkan Anda melanjutkan pekerjaan alur kerja yang ditangguhkan dengan menggunakan Suspend-Workflow aktivitas. Aktivitas ini menangguhkan alur kerja dari dalam alur kerja. Ini hanya valid dalam alur kerja.

Untuk informasi tentang Suspend-Workflow, lihat about_Suspend-Alur Kerja](.. . /PSWorkflow/about/about_Suspend-Workflow.md).

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 melanjutkan pekerjaan yang memenuhi semua kondisi dalam tabel hash. 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

-Id

Menentukan array ID untuk pekerjaan yang dilanjutkan 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, jalankan Get-Job.

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

Menentukan array ID instans pekerjaan yang dilanjutkan cmdlet ini. Defaultnya adalah semua pekerjaan.

ID instans adalah GUID yang secara unik mengidentifikasi pekerjaan di komputer. Untuk menemukan ID instans pekerjaan, jalankan Get-Job.

Type:Guid[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Job

Menentukan pekerjaan yang akan dilanjutkan. Masukkan variabel yang berisi pekerjaan atau perintah yang mendapatkan pekerjaan. Anda juga dapat menyalurkan pekerjaan ke Resume-Job cmdlet.

Type:Job[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Menentukan array nama pekerjaan ramah yang dilanjutkan cmdlet ini. Masukkan satu atau beberapa nama pekerjaan. Karakter kartubebas diizinkan.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-State

Menentukan status pekerjaan yang akan dilanjutkan. Nilai yang dapat diterima untuk parameter ini adalah:

  • Belum Dimulai
  • Sedang berjalan
  • Selesai
  • Gagal
  • Dihentikan
  • Terblokir
  • Ditangguhkan
  • Terputus
  • Menangguhkan
  • Menghentikan

Cmdlet ini hanya melanjutkan pekerjaan dalam status Ditangguhkan .

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 semua hasil pekerjaan dimulai ulang. Secara default, cmdlet ini segera mengembalikan hasil yang tersedia.

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

Job

Anda dapat menyalurkan semua jenis pekerjaan ke cmdlet ini. Jika Resume-Job mendapatkan pekerjaan dari jenis yang tidak didukung, maka akan mengembalikan kesalahan yang mengakhiri.

Output

None, System.Management.Automation.Job

Cmdlet ini mengembalikan pekerjaan yang coba dilanjutkan, jika Anda menggunakan parameter PassThru . Jika tidak, cmdlet ini tidak menghasilkan output apa pun.

Catatan

Windows PowerShell menyertakan alias berikut untuk Resume-Job:

  • rujb

  • Resume-Job hanya dapat melanjutkan pekerjaan yang ditangguhkan. Jika Anda mengirimkan pekerjaan dalam status yang berbeda, Resume-Job menjalankan operasi resume pada pekerjaan, tetapi menghasilkan peringatan untuk memberi tahu Anda bahwa pekerjaan tidak dapat dilanjutkan. Untuk menekan peringatan, gunakan parameter umum WarningAction dengan nilai SilentlyContinue.

  • Jika pekerjaan bukan jenis yang mendukung dilanjutkan, seperti pekerjaan alur kerja (PSWorkflowJob), Resume-Job mengembalikan kesalahan penghentian.

  • 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 SQL.

  • Saat Anda melanjutkan pekerjaan, status pekerjaan berubah dari Ditangguhkan menjadi Berjalan. Untuk menemukan pekerjaan yang berjalan, termasuk yang dilanjutkan oleh cmdlet ini, gunakan parameter Get-Job Status cmdlet untuk mendapatkan pekerjaan dalam status Berjalan.

  • 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.