Get-Job

取得在目前會話中執行的PowerShell背景工作。

Syntax

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>]

Description

Cmdlet 會 Get-Job 取得對象,這些物件表示在目前會話中啟動的背景工作。 您可以使用 Get-Job 來取得使用 Start-Job Cmdlet 啟動的工作,或使用 任何 Cmdlet 的 AsJob 參數。

如果沒有參數, Get-Job 命令會取得目前會話中的所有作業。 您可以使用 的參數 Get-Job 來取得特定作業。

傳回的作業物件 Get-Job 包含作業的實用資訊,但不包含作業結果。 若要取得結果,請使用 Receive-Job Cmdlet。

Windows PowerShell 背景作業是在背景中執行的命令,而不需與目前的會話互動。 一般而言,您會使用背景工作來執行需要很長的時間才能完成的複雜命令。 如需 Windows PowerShell 中背景工作的詳細資訊,請參閱 about_Jobs

從 Windows PowerShell 3.0 開始, Get-Job Cmdlet 也會取得自定義作業類型,例如工作流程作業和排程工作的實例。 若要尋找作業的作業類型,請使用 作業的 PSJobTypeName 屬性。

若要啟用 Get-Job 以取得自定義作業類型,請在執行 Get-Job 命令之前,先將支援自定義作業類型的模組匯入會話,方法是使用 Import-Module Cmdlet 或使用 或取得模組中的 Cmdlet。 如需特定自定義作業類型的相關信息,請參閱自定義作業類型功能的檔。

範例

範例 1:取得目前會話中啟動的所有背景工作

此命令會取得目前會話中啟動的所有背景工作。 它不包含在其他會話中建立的作業,即使作業是在本機計算機上執行也一樣。

Get-Job

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

範例 2:使用實例標識元停止作業

這些命令示範如何取得作業的實例標識碼,然後使用它來停止作業。 不同於作業的名稱,這不是唯一的,實例標識碼是唯一的。

第一個命令會 Get-Job 使用 Cmdlet 來取得作業。 它會使用 Name 參數來識別作業。 命令會儲存在變數中傳回的$j作業物件Get-Job。 在此範例中,只有一個具有指定名稱的作業。 第二個命令會取得變數中 $j 物件的InstanceId屬性,並將它儲存在變數中$ID。 第三個命令會顯示變數的值 $ID 。 第四個命令會使用 Stop-Job Cmdlet 來停止作業。 它會使用 InstanceId 參數來識別作業和 $ID 變數,以代表作業的實例識別碼。

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

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

Stop-Job -InstanceId $ID

範例 3:取得包含特定命令的工作

此命令會取得系統上包含 Get-Process 命令的作業。 命令會使用Get-Job Command 參數來限制擷取的作業。 命令會使用通配符 (*) 來取得作業,以在命令字串中的任何位置包含 Get-Process 命令。

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

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

範例 4:使用管線取得包含特定命令的工作

如同上一個範例中的 命令,此命令會取得系統上包含 Get-Process 命令的作業。 此命令會使用管線運算符 (|) 將具有 NoteProperty Command 的 PSCustomObject 傳送至 Get-Job Cmdlet。 它相當於上一個命令。

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

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

範例 5:取得尚未啟動的工作

此命令只會取得已建立但尚未啟動的作業。 這包括排程在未來執行的作業,以及尚未排程的工作。

Get-Job -State NotStarted

範例 6:取得尚未指派名稱的工作

此命令會取得具有以作業開頭之作業名稱的所有作業。 因為 job<number> 是作業的預設名稱,因此此命令會取得沒有明確指派名稱的所有作業。

Get-Job -Name Job*

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

範例 7:使用作業物件代表命令中的作業

這個範例示範如何使用 Get-Job 來取得作業對象,然後示範如何使用作業物件來代表命令中的作業。

第一個命令會 Start-Job 使用 Cmdlet 來啟動在本機電腦上執行 Get-Process 命令的背景工作。 命令會使用Start-Job Name 參數,將易記名稱指派給作業。 第二個命令會使用 Get-Job 來取得作業。 它會使用Get-Job Name 參數來識別作業。 命令會將產生的作業物件儲存在變數中 $j 。 第三個命令會顯示變數中 $j 作業物件的值。 State 屬性的值會顯示作業已完成。 HasMoreData 屬性的值會顯示尚未擷取作業的結果。 第四個命令會 Receive-Job 使用 Cmdlet 來取得作業的結果。 它會使用變數中的 $j 作業物件來表示作業。 您也可以使用管線運算子將作業物件傳送至 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
...

範例 8:取得所有作業,包括以不同方法啟動的工作

此範例示範 Get-Job Cmdlet 可以取得目前會話中啟動的所有作業,即使它們是使用不同的方法啟動也一樣。

第一個命令會 Start-Job 使用 Cmdlet 在本機電腦上啟動作業。 第二個命令會使用 Cmdlet 的 Invoke-Command AsJob 參數,在 S1 計算機上啟動作業。 即使作業中的命令是在遠端電腦上執行,作業物件還是會在本機計算機上建立,因此您可以使用本機命令來管理作業。 第三個Start-Job命令會Invoke-Command使用 Cmdlet 在 S2 計算機上執行命令。 藉由使用此方法,作業物件會在遠端電腦上建立,因此您可以使用遠端命令來管理作業。 第四個命令會使用 Get-Job 來取得儲存在本機電腦上的作業。 Windows PowerShell 3.0 中引進的作業 PSJobTypeName 屬性會顯示使用 Start-Job Cmdlet 啟動的本機作業是背景工作,而使用 Invoke-Command Cmdlet 在遠端會話中啟動的工作是遠端作業。 第五、第六和第七個命令會 New-PSSession 使用 Cmdlet 來建立連接到 S2 計算機的 PSSession,它會使用 Invoke-Command PSSession 和 Session 參數在遠端電腦上啟動作業。 然後,它會使用 Get-Job PSSession 在 S2 計算機上使用 命令取得作業。 範例輸出會顯示命令的結果 Get-Job 。 在 S2 計算機上,作業似乎是本機作業。 計算機名稱是localhost,而作業類型是背景工作。 如需如何在遠端電腦上執行背景工作的詳細資訊,請參閱 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

範例 9:調查失敗的工作

此命令示範如何使用傳回的作業對象 Get-Job 來調查作業失敗的原因。 它也會示範如何取得每個作業的子工作。

第一個命令會 Start-Job 使用 Cmdlet 在本機電腦上啟動作業。 傳回的作業物件 Start-Job 會顯示作業失敗。 State 屬性的值為 Failed。

第二個命令會 Get-Job 使用 Cmdlet 來取得作業。 此命令會使用 dot 方法來取得 物件的 JobStateInfo 屬性值。 它會使用管線運算符,將 JobStateInfo 屬性中的物件傳送至 Format-List Cmdlet,以格式化清單中物件的所有屬性。*命令的結果Format-List會顯示作業的 Reason 屬性值為空白。

第三個命令會調查更多。 它會使用 Get-Job 命令來取得作業,然後使用管線運算符將整個作業物件傳送至 Format-List Cmdlet,以在清單中顯示作業的所有屬性。作業物件中所有屬性的顯示會顯示作業包含名為Job2的子作業。

第四個命令會使用 Get-Job 來取得代表 Job2 子作業的作業物件。 這是命令實際執行所在的作業。 它會使用 dot 方法來取得 JobStateInfo 屬性的 Reason 屬性。結果顯示作業因為拒絕存取錯誤而失敗。 在此情況下,使用者忘記在啟動 Windows PowerShell 時使用 [以系統管理員身分執行] 選項。因為背景工作使用 Windows PowerShell 的遠端功能,因此計算機必須設定為遠端執行作業,即使作業在本機計算機上執行也一樣。如需 Windows PowerShell 中遠端處理需求的相關信息,請參閱 about_Remote_Requirements。 如需疑難解答秘訣,請參閱 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.

範例 10:取得篩選的結果

此範例示範如何使用 Filter 參數來取得工作流程作業。 Windows PowerShell 3.0 中引進的 Filter 參數僅適用於自定義作業類型,例如工作流程作業和排程工作。

第一個命令會使用 Workflow 關鍵詞來建立 WFProcess 工作流程。 第二個命令會使用 WFProcess 工作流程的 AsJob 參數,以背景工作的形式執行工作流程。 它會使用 工作流程的 JobName 參數來指定作業的名稱,以及 工作流程的 PSPrivateMetadata 參數來指定自定義標識符。 第三個命令會使用 的 Get-Job Filter 參數,依 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

範例 11:取得子作業的相關信息

此範例顯示使用 Cmdlet 的 IncludeChildJobChildJobState 參數 Get-Job 的效果。

第一個命令會取得目前會話中的作業。 輸出包含背景作業、遠端作業和排程作業的數個實例。 遠端作業 Job4 似乎失敗。 第二個命令使用Get-JobIncludeChildJob 參數。 輸出會新增具有子作業之所有作業的子作業。在此情況下,修訂的輸出會顯示只有Job4的Job5子作業失敗。 第三個命令會使用 ChildJobState 參數搭配 Failed 值。輸出包含所有父工作,而且只包含失敗的子作業。 第五個命令會使用 作業的 JobStateInfo 屬性及其 Reason 屬性來探索 Job5 失敗的原因。

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.

如需詳細資訊,請參閱 about_Remote_Troubleshooting 說明主題。

參數

-After

取得在指定日期和時間之後結束的已完成作業。 輸入 DateTime 物件,例如 Cmdlet 所Get-Date傳回的物件或可轉換成 DateTime 物件的字串,例如 Dec 1, 2012 2:00 AM11/06

此參數僅適用於具有 EndTime 屬性的自訂作業類型,例如工作流程作業和排程工作。 它不適用於標準背景工作,例如使用 Cmdlet 所建立的工作 Start-Job 。 如需此參數支援的相關信息,請參閱作業類型的說明主題。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Before

取得在指定日期和時間之前結束的已完成作業。 輸入 DateTime 物件。

此參數僅適用於具有 EndTime 屬性的自訂作業類型,例如工作流程作業和排程工作。 它不適用於標準背景工作,例如使用 Cmdlet 所建立的工作 Start-Job 。 如需此參數支援的相關信息,請參閱作業類型的說明主題。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ChildJobState

只取得具有指定狀態的子作業。 此參數可接受的值為:

  • 未開始
  • 執行中
  • 已完成
  • 失敗
  • 已停止
  • 已封鎖
  • 暫止
  • 已中斷連接
  • 暫停中
  • 停止中

根據預設, Get-Job 不會取得子工作。 藉由使用 IncludeChildJob 參數, Get-Job 取得所有子作業。 如果您使用 ChildJobState 參數, IncludeChildJob 參數沒有任何作用。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:JobState
Accepted values:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Command

將命令陣列指定為字串。 此 Cmdlet 會取得包含指定命令的工作。 預設值為所有作業。 您可以使用通配符來指定命令模式。

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

-Filter

指定條件的哈希表。 此 Cmdlet 會取得滿足所有條件的工作。 輸入哈希表,其中索引鍵是作業屬性,而值是作業屬性值。

此參數僅適用於自定義作業類型,例如工作流程作業和排程工作。 它不適用於標準背景工作,例如使用 Cmdlet 所建立的工作 Start-Job 。 如需此參數支援的相關信息,請參閱作業類型的說明主題。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:Hashtable
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-HasMoreData

指出這個 Cmdlet 是否只取得具有指定 HasMoreData 屬性值的工作。 HasMoreData 屬性指出目前會話中是否已收到所有作業結果。 若要取得具有更多結果的工作,請指定的值 $True。 若要取得沒有更多結果的工作,請指定的值 $False

若要取得作業的結果,請使用 Receive-Job Cmdlet。

當您使用 Receive-Job Cmdlet 時,它會從其記憶體內部會話特定記憶體中刪除它所傳回的結果。 當作業在目前會話中傳回作業的所有結果時,會將作業的 HasMoreData 屬性值設定$False),表示目前會話中作業沒有更多結果。 使用的 Receive-Job Keep 參數來防止Receive-Job刪除結果,以及變更 HasMoreData 屬性的值。 如需詳細資訊,請輸入 Get-Help Receive-Job

HasMoreData 屬性是目前會話特有的屬性。 如果自訂作業類型的結果會儲存在工作階段之外,例如排程的工作類型,這會將作業結果儲存在磁碟上,您可以使用Receive-Job不同工作階段中的 Cmdlet 再次取得作業結果,即使 HasMoreData 的值$False。 如需詳細資訊,請參閱自定義作業類型的說明主題。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

指定此 Cmdlet 取得之作業標識碼的陣列。

標識碼是整數,可唯一識別目前會話中的作業。 比實例標識碼更容易記住和輸入,但只在目前的會話中是唯一的。 您可以輸入一或多個以逗號分隔的識別碼。 若要尋找作業的識別碼,請輸入 Get-Job 不含參數。

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

-IncludeChildJob

指出這個 Cmdlet 除了父作業之外,也會傳回子作業。

此參數特別適用於調查工作流程作業,因為失敗的原因會儲存在子作業的 屬性中,因此 Get-Job 會傳回容器父作業和作業失敗。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstanceId

指定這個 Cmdlet 取得之作業實例識別碼的陣列。 預設值為所有作業。

實例標識碼是可唯一識別計算機上作業的 GUID。 若要尋找作業的實體識別碼,請使用 Get-Job

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

-Name

指定這個 Cmdlet 取得之作業實例易記名稱的陣列。 輸入作業名稱,或使用通配符輸入作業名稱模式。 根據預設, Get-Job 會取得目前會話中的所有作業。

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

-Newest

指定要取得的作業數目。 此 Cmdlet 會取得最近結束的工作。

Newest 參數不會以結束時間順序排序或傳回最新的作業。 若要排序輸出,請使用 Sort-Object Cmdlet。

此參數是在 Windows PowerShell 3.0 中引進的。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-State

指定作業狀態。 此 Cmdlet 只會取得處於指定狀態的作業。 此參數可接受的值為:

  • 未開始
  • 執行中
  • 已完成
  • 失敗
  • 已停止
  • 已封鎖
  • 暫止
  • 已中斷連接
  • 暫停中
  • 停止中

根據預設, Get-Job 會取得目前會話中的所有作業。

如需作業狀態的詳細資訊,請參閱 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

輸入

None

您無法使用管線將物件傳送至此 Cmdlet。

輸出

System.Management.Automation.RemotingJob

此 Cmdlet 會傳回代表會話中作業的物件。

備註

PowerShell 包含下列的 Get-Job別名:

  • 所有平臺:
    • gjb

作業的 PSJobTypeName 屬性表示作業的作業類型。 屬性值是由作業類型作者所決定。 下列清單顯示常見的作業類型。

  • BackgroundJob。 使用 Start-Job啟動的本機作業。
  • RemoteJob。 使用 Cmdlet 的 AsJob 參數,在 PSSession 啟動作業。Invoke-Command
  • PSWorkflowJob。 使用工作流程的 AsJob 一般參數啟動的工作。