Bagikan melalui


Get-Job

Mendapatkan pekerjaan latar belakang PowerShell yang berjalan dalam sesi saat ini.

Sintaks

Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [[-Id] <Int32[]>]
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-InstanceId] <Guid[]>
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-Name] <String[]>
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-State] <JobState>
   [<CommonParameters>]
Get-Job
   [-IncludeChildJob]
   [-ChildJobState <JobState>]
   [-HasMoreData <Boolean>]
   [-Before <DateTime>]
   [-After <DateTime>]
   [-Newest <Int32>]
   [-Command <String[]>]
   [<CommonParameters>]
Get-Job
   [-Filter] <Hashtable>
   [<CommonParameters>]

Deskripsi

Get-Job Cmdlet mendapatkan objek yang mewakili pekerjaan latar belakang yang dimulai dalam sesi saat ini. Anda dapat menggunakan Get-Job untuk mendapatkan pekerjaan yang dimulai dengan menggunakan Start-Job cmdlet, atau dengan menggunakan parameter AsJob dari cmdlet apa pun.

Tanpa parameter, perintah Get-Job mendapatkan semua pekerjaan dalam sesi saat ini. Anda dapat menggunakan parameter Get-Job untuk mendapatkan pekerjaan tertentu.

Objek pekerjaan yang Get-Job mengembalikan berisi informasi yang berguna tentang pekerjaan, tetapi tidak berisi hasil pekerjaan. Untuk mendapatkan hasilnya, gunakan Receive-Job cmdlet .

Pekerjaan latar belakang Windows PowerShell adalah perintah yang berjalan di latar belakang tanpa berinteraksi dengan sesi saat ini. Biasanya, Anda menggunakan pekerjaan latar belakang untuk menjalankan perintah kompleks yang membutuhkan waktu lama untuk diselesaikan. Untuk informasi selengkapnya tentang pekerjaan latar belakang di Windows PowerShell, lihat about_Jobs.

Dimulai di Windows PowerShell 3.0, Get-Job cmdlet juga mendapatkan jenis pekerjaan kustom, seperti pekerjaan alur kerja dan instans pekerjaan terjadwal. Untuk menemukan jenis pekerjaan pekerjaan, gunakan properti PSJobTypeName pekerjaan.

Untuk mengaktifkan Get-Job untuk mendapatkan jenis pekerjaan kustom, impor modul yang mendukung jenis pekerjaan kustom ke dalam sesi sebelum Anda menjalankan Get-Job perintah, baik dengan menggunakan Import-Module cmdlet atau dengan menggunakan atau mendapatkan cmdlet dalam modul. Untuk informasi tentang jenis pekerjaan kustom tertentu, lihat dokumentasi fitur jenis pekerjaan kustom.

Contoh

Contoh 1: Memulai semua pekerjaan latar belakang dalam sesi saat ini

Perintah ini mendapatkan semua pekerjaan latar belakang yang dimulai dalam sesi saat ini. Ini tidak termasuk pekerjaan yang dibuat dalam sesi lain, bahkan jika pekerjaan berjalan di komputer lokal.

Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Job1            BackgroundJob   Completed     True            localhost             $env:COMPUTERNAME

Contoh 2: Menghentikan pekerjaan dengan menggunakan ID instans

Perintah ini menunjukkan cara mendapatkan ID instans pekerjaan lalu menggunakannya untuk menghentikan pekerjaan. Tidak seperti nama pekerjaan, yang tidak unik, ID instans unik.

Perintah pertama menggunakan Get-Job cmdlet untuk mendapatkan pekerjaan. Ini menggunakan parameter Nama untuk mengidentifikasi pekerjaan. Perintah menyimpan objek pekerjaan yang Get-Job dikembalikan dalam $j variabel . Dalam contoh ini, hanya ada satu pekerjaan dengan nama yang ditentukan. Perintah kedua mendapatkan properti InstanceId objek dalam $j variabel dan menyimpannya dalam $ID variabel. Perintah ketiga menampilkan nilai $ID variabel. Perintah keempat menggunakan Stop-Job cmdlet untuk menghentikan pekerjaan. Ini menggunakan parameter InstanceId untuk mengidentifikasi pekerjaan dan $ID variabel untuk mewakili ID instans pekerjaan.

$j = Get-Job -Name Job1
$ID = $j.InstanceID
$ID

Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55

Stop-Job -InstanceId $ID

Contoh 3: Mendapatkan pekerjaan yang menyertakan perintah tertentu

Perintah ini mendapatkan pekerjaan pada sistem yang menyertakan Get-Process perintah. Perintah menggunakan parameter Get-Job Perintah untuk membatasi pekerjaan yang diambil. Perintah menggunakan karakter kartubebas (*) untuk mendapatkan pekerjaan yang menyertakan Get-Process perintah di mana saja dalam string perintah.

Get-Job -Command "*Get-Process*"

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
3      Job3            BackgroundJob   Running       True            localhost            Get-Process

Contoh 4: Mendapatkan pekerjaan yang menyertakan perintah tertentu dengan menggunakan alur

Seperti perintah dalam contoh sebelumnya, perintah ini mendapatkan pekerjaan pada sistem yang menyertakan Get-Process perintah. Perintah menggunakan operator alur (|) untuk mengirim PSCustomObject dengan Perintah NoteProperty, ke Get-Job cmdlet. Ini setara dengan perintah sebelumnya.

[pscustomobject]@{Command='*Get-Process*'} | Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
3      Job3            BackgroundJob   Running       True            localhost            Get-Process

Contoh 5: Mendapatkan pekerjaan yang belum dimulai

Perintah ini hanya mendapatkan pekerjaan yang telah dibuat tetapi belum dimulai. Ini termasuk pekerjaan yang dijadwalkan untuk berjalan di masa depan dan yang belum dijadwalkan.

Get-Job -State NotStarted

Contoh 6: Mendapatkan pekerjaan yang belum diberi nama

Perintah ini mendapatkan semua pekerjaan yang memiliki nama pekerjaan yang dimulai dengan pekerjaan. Karena job<number> adalah nama default untuk pekerjaan, perintah ini mendapatkan semua pekerjaan yang tidak memiliki nama yang ditetapkan secara eksplisit.

Get-Job -Name Job*

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
1      Job1            BackgroundJob   Completed     True            localhost             $env:COMPUTERNAME

Contoh 7: Gunakan objek pekerjaan untuk mewakili pekerjaan dalam perintah

Contoh ini menunjukkan cara menggunakan Get-Job untuk mendapatkan objek pekerjaan, lalu menunjukkan cara menggunakan objek pekerjaan untuk mewakili pekerjaan dalam perintah.

Perintah pertama menggunakan Start-Job cmdlet untuk memulai pekerjaan latar belakang yang menjalankan Get-Process perintah di komputer lokal. Perintah menggunakan parameter Start-Job Nama untuk menetapkan nama yang mudah diingat ke pekerjaan. Perintah kedua menggunakan Get-Job untuk mendapatkan pekerjaan. Ini menggunakan parameter Get-Job Nama untuk mengidentifikasi pekerjaan. Perintah menyimpan objek pekerjaan yang dihasilkan dalam $j variabel . Perintah ketiga menampilkan nilai objek pekerjaan dalam $j variabel. Nilai properti Status menunjukkan bahwa pekerjaan selesai. Nilai properti HasMoreData menunjukkan bahwa ada hasil yang tersedia dari pekerjaan yang belum diambil. Perintah keempat menggunakan Receive-Job cmdlet untuk mendapatkan hasil pekerjaan. Ini menggunakan objek pekerjaan dalam $j variabel untuk mewakili pekerjaan. Anda juga dapat menggunakan operator alur untuk mengirim objek pekerjaan ke Receive-Job.

Start-Job -ScriptBlock {Get-Process} -Name MyJob
$j = Get-Job -Name MyJob
$j

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
6      MyJob           BackgroundJob   Completed     True            localhost            Get-Process

Receive-Job -Job $j

Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    124       4    13572      12080    59            1140 audiodg
    783      16    11428      13636   100             548 CcmExec
     96       4     4252       3764    59            3856 ccmsetup
...

Contoh 8: Dapatkan semua pekerjaan termasuk pekerjaan yang dimulai dengan metode yang berbeda

Contoh ini menunjukkan bahwa Get-Job cmdlet bisa mendapatkan semua pekerjaan yang dimulai dalam sesi saat ini, bahkan jika dimulai dengan menggunakan metode yang berbeda.

Perintah pertama menggunakan Start-Job cmdlet untuk memulai pekerjaan di komputer lokal. Perintah kedua menggunakan parameter AsJob dari Invoke-Command cmdlet untuk memulai pekerjaan di komputer S1. Meskipun perintah dalam pekerjaan berjalan di komputer jarak jauh, objek pekerjaan dibuat di komputer lokal, jadi Anda menggunakan perintah lokal untuk mengelola pekerjaan. Perintah ketiga menggunakan Invoke-Command cmdlet untuk menjalankan Start-Job perintah di komputer S2. Dengan menggunakan metode ini, objek pekerjaan dibuat di komputer jarak jauh, sehingga Anda menggunakan perintah jarak jauh untuk mengelola pekerjaan. Perintah keempat menggunakan Get-Job untuk menyimpan pekerjaan di komputer lokal. Properti pekerjaan PSJobTypeName , yang diperkenalkan di Windows PowerShell 3.0, menunjukkan bahwa pekerjaan lokal yang dimulai dengan menggunakan Start-Job cmdlet adalah pekerjaan latar belakang dan pekerjaan yang dimulai dalam sesi jarak jauh dengan menggunakan Invoke-Command cmdlet adalah pekerjaan jarak jauh. Perintah kelima, keenam, dan ketujuh menggunakan New-PSSession cmdlet untuk membuat PSSession yang terhubung ke komputer S2, digunakan Invoke-Command untuk memulai pekerjaan di komputer jarak jauh menggunakan PSSession dan parameter Sesi . Kemudian mendapatkan pekerjaan menggunakan Get-Job perintah di komputer S2 menggunakan PSSession. Output sampel menunjukkan hasil Get-Job perintah. Di komputer S2, pekerjaan tersebut tampaknya merupakan pekerjaan lokal. Nama komputer adalah localhost dan jenis pekerjaan adalah pekerjaan latar belakang. Untuk informasi selengkapnya tentang cara menjalankan pekerjaan latar belakang di komputer jarak jauh, lihat about_Remote_Jobs.

Start-Job -ScriptBlock {Get-EventLog -LogName System}
Invoke-Command -ComputerName S1 -ScriptBlock {Get-EventLog -LogName System} -AsJob
Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Get-Job

Id     Name       PSJobTypeName   State         HasMoreData     Location        Command
--     ----       -------------   -----         -----------     --------        -------
1      Job1       BackgroundJob   Running       True            localhost       Get-EventLog System
2      Job2       RemoteJob       Running       True            S1              Get-EventLog System

$Session = New-PSSession -ComputerName S2
Invoke-Command -Session $Session -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog -LogName System}}
Invoke-Command -Session $Session -ScriptBlock {Get-Job}

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                   PSComputerName
--     ----            -------------   -----         -----------     --------             -------                   --------------
1      Job1            BackgroundJob   Running       True            localhost            Get-EventLog -LogName Sy… S2

Contoh 9: Menyelidiki pekerjaan yang gagal

Perintah ini menunjukkan cara menggunakan objek pekerjaan yang Get-Job kembali untuk menyelidiki mengapa pekerjaan gagal. Ini juga menunjukkan cara mendapatkan pekerjaan anak dari setiap pekerjaan.

Perintah pertama menggunakan Start-Job cmdlet untuk memulai pekerjaan di komputer lokal. Objek pekerjaan yang Start-Job mengembalikan menunjukkan bahwa pekerjaan gagal. Nilai properti Status Gagal.

Perintah kedua menggunakan Get-Job cmdlet untuk mendapatkan pekerjaan. Perintah menggunakan metode titik untuk mendapatkan nilai properti JobStateInfo objek. Ini menggunakan operator alur untuk mengirim objek di properti JobStateInfo ke Format-List cmdlet, yang memformat semua properti objek (*) dalam daftar. Hasil Format-List perintah menunjukkan bahwa nilai properti Alasan pekerjaan kosong.

Perintah ketiga menyelidiki lebih lanjut. Ini menggunakan Get-Job perintah untuk mendapatkan pekerjaan dan kemudian menggunakan operator alur untuk mengirim seluruh objek pekerjaan ke Format-List cmdlet, yang menampilkan semua properti pekerjaan dalam daftar. Tampilan semua properti dalam objek pekerjaan menunjukkan bahwa pekerjaan berisi pekerjaan anak bernama Job2.

Perintah keempat menggunakan Get-Job untuk mendapatkan objek pekerjaan yang mewakili pekerjaan turunan Job2. Ini adalah pekerjaan di mana perintah benar-benar berjalan. Ini menggunakan metode titik untuk mendapatkan properti Alasan properti JobStateInfo . Hasilnya menunjukkan bahwa pekerjaan gagal karena kesalahan Akses Ditolak. Dalam hal ini, pengguna lupa menggunakan opsi Jalankan sebagai administrator saat memulai Windows PowerShell.Karena pekerjaan latar belakang menggunakan fitur jarak jauh Windows PowerShell, komputer harus dikonfigurasi untuk jarak jauh untuk menjalankan pekerjaan, bahkan ketika pekerjaan berjalan di komputer lokal. Untuk informasi tentang persyaratan untuk jarak jauh di Windows PowerShell, lihat about_Remote_Requirements. Untuk tips pemecahan masalah, lihat about_Remote_Troubleshooting.

PS> Start-Job -ScriptBlock {Get-Process}
Id     Name       PSJobTypeName   State       HasMoreData     Location             Command
--     ----       -------------   -----       -----------     --------             -------
1      Job1       BackgroundJob   Failed      False           localhost            Get-Process

PS> (Get-Job).JobStateInfo | Format-List -Property *
State  : Failed
Reason :

PS> Get-Job | Format-List -Property *
HasMoreData   : False
StatusMessage :
Location      : localhost
Command       : get-process
JobStateInfo  : Failed
Finished      : System.Threading.ManualReset
EventInstanceId    : fb792295-1318-4f5d-8ac8-8a89c5261507
Id            : 1
Name          : Job1
ChildJobs     : {Job2}
Output        : {}
Error         : {}
Progress      : {}
Verbose       : {}
Debug         : {}
Warning       : {}
StateChanged  :

PS> (Get-Job -Name job2).JobStateInfo.Reason
Connecting to remote server using WSManCreateShellEx api failed. The async callback gave the
following error message: Access is denied.

Contoh 10: Dapatkan hasil yang difilter

Contoh ini menunjukkan cara menggunakan parameter Filter untuk mendapatkan pekerjaan alur kerja. Parameter Filter , yang diperkenalkan di Windows PowerShell 3.0 hanya berlaku pada jenis pekerjaan kustom, seperti pekerjaan alur kerja dan pekerjaan terjadwal.

Perintah pertama menggunakan kata kunci Alur Kerja untuk membuat alur kerja WFProcess. Perintah kedua menggunakan parameter AsJob dari alur kerja WFProcess untuk menjalankan alur kerja sebagai pekerjaan latar belakang. Ini menggunakan parameter JobName dari alur kerja untuk menentukan nama untuk pekerjaan tersebut, dan parameter PSPrivateMetadata dari alur kerja untuk menentukan ID kustom. Perintah ketiga menggunakan parameter Get-Job Filter untuk mendapatkan pekerjaan dengan ID kustom yang ditentukan dalam parameter PSPrivateMetadata.

PS> Workflow WFProcess {Get-Process}
PS> WFProcess -AsJob -JobName WFProcessJob -PSPrivateMetadata @{MyCustomId = 92107}
PS> Get-Job -Filter @{MyCustomId = 92107}
Id     Name            State         HasMoreData     Location             Command
--     ----            -----         -----------     --------             -------
1      WFProcessJob    Completed     True            localhost            WFProcess

Contoh 11: Mendapatkan informasi tentang pekerjaan anak

Contoh ini menunjukkan efek menggunakan parameter IncludeChildJob dan ChildJobState dari Get-Job cmdlet.

Perintah pertama mendapatkan pekerjaan dalam sesi saat ini. Output mencakup pekerjaan latar belakang, pekerjaan jarak jauh, dan beberapa instans pekerjaan terjadwal. Pekerjaan jarak jauh, Job4, tampaknya gagal. Perintah kedua menggunakan parameter IncludeChildJob dari Get-Job. Output menambahkan pekerjaan anak dari semua pekerjaan yang memiliki pekerjaan anak. Dalam hal ini, output yang direvisi menunjukkan bahwa hanya pekerjaan turunan Job5 dari Job4 yang gagal. Perintah ketiga menggunakan parameter ChildJobState dengan nilai Failed.Output mencakup semua pekerjaan induk dan hanya pekerjaan turunan yang gagal. Perintah kelima menggunakan properti pekerjaan JobStateInfo dan properti Alasannya untuk menemukan mengapa Job5 gagal.

PS> Get-Job

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
2      Job2            BackgroundJob   Completed     True            localhost            .\Get-Archive.ps1
4      Job4            RemoteJob       Failed        True            Server01, Server02   .\Get-Archive.ps1
7      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
8      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
9      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
10     UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help

PS> Get-Job -IncludeChildJob

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
2      Job2            BackgroundJob   Completed     True            localhost           .\Get-Archive.ps1
3      Job3                            Completed     True            localhost           .\Get-Archive.ps1
4      Job4            RemoteJob       Failed        True            Server01, Server02  .\Get-Archive.ps1
5      Job5                            Failed        False           Server01            .\Get-Archive.ps1
6      Job6                            Completed     True            Server02            .\Get-Archive.ps1
7      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
8      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
9      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
10     UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help

PS> Get-Job -Name Job4 -ChildJobState Failed

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
2      Job2            BackgroundJob   Completed     True            localhost           .\Get-Archive.ps1
4      Job4            RemoteJob       Failed        True            Server01, Server02  .\Get-Archive.ps1
5      Job5                            Failed        False           Server01            .\Get-Archive.ps1
7      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
8      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
9      UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help
10     UpdateHelpJob   PSScheduledJob  Completed     True            localhost            Update-Help

PS> (Get-Job -Name Job5).JobStateInfo.Reason

Connecting to remote server Server01 failed with the following error message:
Access is denied.

Untuk informasi selengkapnya, lihat topik Bantuan about_Remote_Troubleshooting .

Parameter

-After

Mendapatkan pekerjaan selesai yang berakhir setelah tanggal dan waktu yang ditentukan. Masukkan objek DateTime, seperti yang dikembalikan oleh Get-Date cmdlet atau string yang dapat dikonversi ke objek DateTime, seperti Dec 1, 2012 2:00 AM atau 11/06.

Parameter ini hanya berfungsi pada jenis pekerjaan kustom, seperti pekerjaan alur kerja dan pekerjaan terjadwal, yang memiliki properti EndTime . Ini tidak berfungsi pada pekerjaan latar belakang standar, seperti yang dibuat dengan menggunakan Start-Job cmdlet. Untuk informasi tentang dukungan untuk parameter ini, lihat topik bantuan untuk jenis pekerjaan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jenis:DateTime
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Before

Mendapatkan pekerjaan selesai yang berakhir sebelum tanggal dan waktu yang ditentukan. Masukkan objek DateTime .

Parameter ini hanya berfungsi pada jenis pekerjaan kustom, seperti pekerjaan alur kerja dan pekerjaan terjadwal, yang memiliki properti EndTime . Ini tidak berfungsi pada pekerjaan latar belakang standar, seperti yang dibuat dengan menggunakan Start-Job cmdlet. Untuk informasi tentang dukungan untuk parameter ini, lihat topik bantuan untuk jenis pekerjaan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jenis:DateTime
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-ChildJobState

Hanya mendapatkan pekerjaan anak yang memiliki status yang ditentukan. Nilai yang dapat diterima untuk parameter ini adalah:

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

Secara default, Get-Job tidak mendapatkan pekerjaan anak. Dengan menggunakan parameter IncludeChildJob , Get-Job mendapatkan semua pekerjaan anak. Jika Anda menggunakan parameter ChildJobState , parameter IncludeChildJob tidak berpengaruh.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jenis:JobState
Nilai yang diterima:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Command

Menentukan array perintah sebagai string. Cmdlet ini mendapatkan pekerjaan yang menyertakan perintah yang ditentukan. Defaultnya adalah semua pekerjaan. Anda dapat menggunakan karakter kartubebas untuk menentukan pola perintah.

Jenis:String[]
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:True

-Filter

Menentukan tabel kondisi hash. Cmdlet ini mendapatkan pekerjaan yang memenuhi semua kondisi. Masukkan tabel hash di mana kunci adalah properti pekerjaan dan nilainya adalah nilai properti pekerjaan.

Parameter ini hanya berfungsi pada jenis pekerjaan kustom, seperti pekerjaan alur kerja dan pekerjaan terjadwal. Ini tidak berfungsi pada pekerjaan latar belakang standar, seperti yang dibuat dengan menggunakan Start-Job cmdlet. Untuk informasi tentang dukungan untuk parameter ini, lihat topik bantuan untuk jenis pekerjaan.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jenis:Hashtable
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:False

-HasMoreData

Menunjukkan apakah cmdlet ini hanya mendapatkan pekerjaan yang memiliki nilai properti HasMoreData yang ditentukan. Properti HasMoreData menunjukkan apakah semua hasil pekerjaan telah diterima dalam sesi saat ini. Untuk mendapatkan pekerjaan yang memiliki lebih banyak $Truehasil, tentukan nilai . Untuk mendapatkan pekerjaan yang tidak memiliki lebih banyak $Falsehasil, tentukan nilai .

Untuk mendapatkan hasil pekerjaan, gunakan Receive-Job cmdlet .

Saat Anda menggunakan Receive-Job cmdlet, cmdlet akan dihapus dari penyimpanan khusus sesi dalam memorinya, hasil yang dikembalikannya. Ketika telah mengembalikan semua hasil pekerjaan dalam sesi saat ini, ia menetapkan nilai properti HasMoreData dari pekerjaan ke $False) untuk menunjukkan bahwa ia tidak memiliki lebih banyak hasil untuk pekerjaan dalam sesi saat ini. Gunakan parameter Keep of Receive-Job untuk mencegah Receive-Job menghapus hasil dan mengubah nilai properti HasMoreData. Untuk informasi selengkapnya, ketik Get-Help Receive-Job.

Properti HasMoreData khusus untuk sesi saat ini. Jika hasil untuk jenis pekerjaan kustom disimpan di luar sesi, seperti jenis pekerjaan terjadwal, yang menyimpan hasil pekerjaan pada disk, Anda dapat menggunakan Receive-Job cmdlet dalam sesi yang berbeda untuk mendapatkan hasil pekerjaan lagi, bahkan jika nilai HasMoreData adalah $False. Untuk informasi selengkapnya, lihat topik bantuan untuk jenis pekerjaan kustom.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jenis:Boolean
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Id

Menentukan array ID pekerjaan yang didapat 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 yang dipisahkan oleh koma. Untuk menemukan ID pekerjaan, ketik Get-Job tanpa parameter.

Jenis:Int32[]
Position:0
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-IncludeChildJob

Menunjukkan bahwa cmdlet ini mengembalikan pekerjaan anak, selain pekerjaan induk.

Parameter ini sangat berguna untuk menyelidiki pekerjaan alur kerja, yang Get-Job mengembalikan pekerjaan induk kontainer, dan kegagalan pekerjaan, karena alasan kegagalan disimpan dalam properti pekerjaan anak.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-InstanceId

Menentukan array ID instans pekerjaan yang didapat 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

-Name

Menentukan array nama pekerjaan yang mudah diingat instans yang didapat cmdlet ini. Masukkan nama pekerjaan, atau gunakan karakter kartubebas untuk memasukkan pola nama pekerjaan. Secara default, Get-Job mendapatkan semua pekerjaan dalam sesi saat ini.

Jenis:String[]
Position:0
Nilai default:None
Diperlukan:True
Terima input alur:True
Terima karakter wildcard:True

-Newest

Menentukan sejumlah pekerjaan yang akan didapatkan. Cmdlet ini mendapatkan pekerjaan yang berakhir paling baru.

Parameter Terbaru tidak mengurutkan atau mengembalikan pekerjaan terbaru dalam urutan waktu akhir. Untuk mengurutkan output, gunakan Sort-Object cmdlet.

Parameter ini diperkenalkan di Windows PowerShell 3.0.

Jenis:Int32
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-State

Menentukan status pekerjaan. Cmdlet ini hanya mendapatkan 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

Secara default, Get-Job mendapatkan semua pekerjaan dalam sesi saat ini.

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

Input

None

Anda tidak dapat menyalurkan objek ke cmdlet ini.

Output

System.Management.Automation.RemotingJob

Cmdlet ini mengembalikan objek yang mewakili pekerjaan dalam sesi.

Catatan

PowerShell menyertakan alias berikut untuk Get-Job:

  • Semua platform:
    • gjb

Properti PSJobTypeName dari pekerjaan menunjukkan jenis pekerjaan. Nilai properti ditentukan oleh penulis jenis pekerjaan. Daftar berikut ini memperlihatkan jenis pekerjaan umum.

  • BackgroundJob. Pekerjaan lokal dimulai dengan menggunakan Start-Job.
  • RemoteJob. Pekerjaan dimulai dalam PSSession dengan menggunakan parameter AsJob cmdlet Invoke-Command .
  • PSWorkflowJob. Pekerjaan dimulai dengan menggunakan parameter alur kerja umum AsJob .