Get-Job
取得目前會話中正在執行的 PowerShell 背景工作。
語法
SessionIdParameterSet (預設值)
Get-Job
[[-Id] <Int32[]>]
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
InstanceIdParameterSet
Get-Job
[-InstanceId] <Guid[]>
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
NameParameterSet
Get-Job
[-Name] <String[]>
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
StateParameterSet
Get-Job
[-State] <JobState>
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[<CommonParameters>]
CommandParameterSet
Get-Job
[-IncludeChildJob]
[-ChildJobState <JobState>]
[-HasMoreData <Boolean>]
[-Before <DateTime>]
[-After <DateTime>]
[-Newest <Int32>]
[-Command <String[]>]
[<CommonParameters>]
FilterParameterSet
Get-Job
[-Filter] <Hashtable>
[<CommonParameters>]
Description
指令 Get-Job 長會取得代表當前會話中啟動的背景工作物件。 你可以用 來 Get-Job 取得用 Start-Job cmdlet 啟動的工作,或是用任何 cmdlet 的 AsJob 參數來取得。
沒有參數時,指令 Get-Job 會取得目前會話中的所有工作。 你可以利用 的 Get-Job 參數來獲得特定的工作。
回 Get-Job 傳的工作物件包含關於該工作的有用資訊,但不包含工作結果。 要取得結果,請使用指令長(cmdlet)。Receive-Job
Windows PowerShell 背景工作是一種在背景執行、不與當前會話互動的指令。 通常你會用背景工作來執行一個需要很長時間才能完成的複雜指令。 欲了解更多關於 Windows PowerShell 背景工作,請參見 about_Jobs。
從 PowerShell 3.0 Windows 開始,Get-Job 指令小程式也新增自訂工作類型,例如工作流程工作和排程工作實例。 要找到工作類型,請使用該工作的 PSJobTypeName 屬性。
要啟用 Get-Job 自訂工作類型,請在執行 Get-Job 指令前,將支援該自訂工作類型的模組匯入會話,可以是使用 Import-Module cmdlet 或模組中的 cmdlet。 關於特定自訂工作類型的資訊,請參閱該自訂工作類型功能的說明文件。
範例
範例一:讓所有背景工作在當前會話中啟動
這個指令會啟動目前會話中所有背景工作。 它不包含在其他會話中建立的工作,即使這些工作是在本地電腦上執行。
Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Completed True localhost $Env:COMPUTERNAME
範例 2:透過實例 ID 停止工作
這些指令展示了如何取得作業的實例 ID,然後用它來停止工作。 與工作名稱不同,實例 ID 是唯一的。
第一個指令使用 Get-Job cmdlet 來取得工作。 它使用 Name 參數來識別工作。 指令會將回 Get-Job 傳的工作物件儲存在變數中 $j 。 在這個例子中,只有一個工作名稱符合指定名稱。 第二個指令是在變數中取得物件$j的 InstanceId 屬性,並將其儲存在變數中$ID。 第三個指令顯示變 $ID 數的值。 第四個指令使用 Stop-Job cmdlet 來停止工作。
它使用 InstanceId 參數來識別工作,並 $ID 用變數來表示該工作的實例 ID。
$j = Get-Job -Name Job1
$ID = $j.InstanceId
$ID
Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55
Stop-Job -InstanceId $ID
範例三:取得包含特定指令的工作
此指令取得系統中包含指令 Get-Process 的工作。 指令使用命令Get-Job參數來限制可檢索的工作數量。 該指令使用通配字元(*)來取得包含指令字串任意位置的 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 指令的工作。 此指令使用管線運算子(|)將 PSCustomObject 與 NoteProperty 指令傳送給 Get-Job cmdlet。 這相當於前一個指令。
[pscustomobject]@{Command='*Get-Process*'} | Get-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 BackgroundJob Running True localhost Get-Process
範例五:接尚未開始的工作
此指令只會接收那些已建立但尚未開始的工作。 這包括未來預定執行的職缺以及尚未排定的職缺。
Get-Job -State NotStarted
範例 6:取得尚未命名的工作
此指令接收所有以 job 開頭的工作名稱。 由於 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 。 指令使用 Name Start-Job參數來為工作指派友善名稱。 第二個指令用 Get-Job 來獲得工作。 它使用 Name Get-Job參數來識別工作。 指令會將產生的工作物件儲存在變數中 $j 。 第三個指令顯示該工作物件在變數中的 $j 值。
州政府財產的價值顯示工作已完成。
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-CommandAsJob 參數在 S1 電腦上啟動工作。 雖然工作中的指令是在遠端電腦上執行,但工作物件是在本地電腦上建立的,因此你使用本地指令來管理工作。 第三個指令使用 Invoke-Command 指令小程式在 S2 電腦上執行 Start-Job 指令。 透過此方法,工作物件會在遠端電腦上建立,因此你使用遠端指令來管理工作。 第四個指令用 Get-Job 來將工作儲存在本地電腦上。 PowerShell 3.0 Windows引入的 PSJobTypeName 屬性顯示,使用 Start-Job cmdlet 啟動的本地工作是背景工作,遠端工作階段使用 Invoke-Command cmdlet 啟動的工作則是遠端工作。 第五、第六和第七個指令使用 New-PSSession 指令小程式建立一個連接至 S2 電腦的 PSSession, Invoke-Command 並用 PSSession 和 Session 參數在遠端電腦上啟動工作。 接著它會用 Get-Job S2 電腦上的 PSSession 指令來獲得工作。
取樣輸出顯示指令 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 傳的工作物件顯示工作失敗。
州有財產的價值為失敗。
第二個指令是用 Get-Job cmdlet 來取得這個任務。 指令使用 dot 方法取得物件 JobStateInfo 屬性的值。 它使用管線運算子將 JobStateInfo 屬性中的物件傳送到 Format-List cmdlet,該 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 參數來取得工作流程工作。 Filter參數於 Windows PowerShell 3.0 引入,僅適用於自訂工作類型,如工作流程工作與排程工作。
第一個指令使用 workflow 關鍵字來建立 WFProcess 的工作流程。 第二個指令使用 WFProcess 工作流程中的 AsJob 參數,將該工作流程作為背景工作執行。 它使用工作流程的 JobName 參數來指定工作名稱,並使用工作流程的 PSPrivateMetadata 參數來指定自訂 ID。 第三個指令使用 的 Get-JobFilter 參數,透過 PSPrivateMetadata 參數中指定的自訂 ID 取得工作。
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 中 Get-JobIncludeChildJob 與 ChildJobState 參數的效果。
第一個指令在當前工作階段取得工作。 輸出包含一個背景工作、一個遠端工作以及多個排程工作實例。 遠端工作 Job4 似乎失敗了。
第二個指令使用 IncludeChildJob 參數。Get-Job 輸出會加上所有有子工作的工作的子工作。在此情況下,修正後的輸出顯示只有 Job4 的 Job5 子工作失敗。 第三個指令使用 ChildJobState 參數,值為 Failed。輸出包含所有父工作,僅包含失敗的子工作。 第五個指令使用 JobStateInfo 的 jobs 屬性及其 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 物件,例如由 Get-Date cmdlet 回傳的,或是可轉換成 DateTime 物件的字串,例如 Dec 1, 2012 2:00 AM11/06或 。
此參數僅適用於具有 EndTime 屬性的自訂工作類型,如工作流程工作與排程工作。 它無法用於標準的背景工作,例如使用 Start-Job 指令長所建立的。 關於此參數的支援資訊,請參閱工作類型的說明主題。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | DateTime |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SessionIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
InstanceIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
StateParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommandParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Before
獲得在指定日期和時間前完成的任務。 這時會進入 DateTime 物件。
此參數僅適用於具有 EndTime 屬性的自訂工作類型,如工作流程工作與排程工作。 它無法用於標準的背景工作,例如使用 Start-Job 指令長所建立的。 關於此參數的支援資訊,請參閱工作類型的說明主題。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | DateTime |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SessionIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
InstanceIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
StateParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommandParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ChildJobState
只會拿到指定狀態的子工作。 此參數可接受的值為:
- 尚未開始
- Running
- 已完成
- 失敗
- 已停止
- 已封鎖
- 已暫停
- 已中斷連線
- 暫停中
- 停止中
預設情況下, Get-Job 不會有兒童工作。 透過使用 IncludeChildJob 參數,取得 Get-Job 所有子工作。 如果你使用 ChildJobState 參數, IncludeChildJob 參數不會有影響。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | JobState |
| 預設值: | None |
| 接受的值: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SessionIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
InstanceIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
StateParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommandParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Command
以字串形式指定一組指令陣列。 此指令小程式會取得包含指定指令的工作。 預設是全部工作。 你可以用萬用字元來指定指令模式。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
CommandParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Filter
指定條件雜湊表。 這個指令長能獲得符合所有條件的工作。 輸入一個雜湊表,鍵為工作屬性,值為工作屬性值。
此參數僅適用於自訂工作類型,如工作流程工作與排程工作。 它無法用於標準的背景工作,例如使用 Start-Job 指令長所建立的。 關於此參數的支援資訊,請參閱工作類型的說明主題。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | Hashtable |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
FilterParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-HasMoreData
表示此 cmdlet 是否只接收具有指定 HasMoreData 屬性值的工作。
HasMoreData 屬性顯示本會話是否已收到所有工作結果。 要獲得更多結果的作業,請指定一個值。$true 要得到沒有更多結果的作業,請指定一個值。$false
要取得工作結果,請使用 Receive-Job 指令長(cmdlet)。
當你使用 Receive-Job cmdlet 時,它會從記憶體內的會話專用儲存中刪除回傳的結果。 當它回傳完當前工作階段的所有結果後,會將該工作的 HasMoreData 屬性值設為 $false,表示目前工作中沒有其他結果。 使用 KeepReceive-Job 參數來防止 Receive-Job 刪除結果並更改 HasMoreData 屬性的值。
如需詳細資訊,請鍵入 Get-Help Receive-Job。
HasMoreData 屬性是針對當前工作階段特有的。 如果自訂工作類型的結果被儲存在會話外,例如排程工作類型會將工作結果儲存在磁碟上,你可以在不同工作階段使用 Receive-Job 指令長來重新取得工作結果,即使 HasMoreData 的值是 $false。 欲了解更多資訊,請參閱自訂工作類型的說明主題。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | Boolean |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SessionIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
InstanceIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
StateParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommandParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Id
指定該指令子所獲得的工作 ID 陣列。
ID 是一個整數,唯一識別當前工作階段的工作。 它比實例 ID 更容易記憶和輸入,但它只在當前會話中是唯一的。 你可以用逗號分隔一個或多個識別碼。 要找到工作 ID,請輸入 Get-Job 無參數的 ID。
參數屬性
| 類型: | Int32[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SessionIdParameterSet
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-IncludeChildJob
表示此指令小程式除了父工作外,還回傳子工作。
此參數對於調查工作流程工作特別有用,該 Get-Job 工作回傳容器父工作,以及工作失敗,因為失敗原因儲存在子工作屬性中。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SessionIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
InstanceIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
StateParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommandParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-InstanceId
指定一個 Instance ID 陣列,該 cmdlet 會接收到作業。 預設是全部工作。
實例 ID 是一個 GUID,唯一識別電腦上的工作。 要找到作業的實例 ID,請使用 Get-Job。
參數屬性
| 類型: | Guid[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
InstanceIdParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Name
指定一個實例友善的工作名稱陣列,該指令子會取得這些工作名稱。 輸入職缺名稱,或使用萬用字元輸入職缺名稱模式。 預設情況下,會 Get-Job 取得當前會話中的所有工作。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
NameParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Newest
指定了要取得的多種工作。 這個指令長會拿到最近結束的工作。
最新參數不會依時間順序排序或回傳最新的工作。 要排序輸出,請使用 Sort-Object cmdlet。
此參數是在 Windows PowerShell 3.0 中引進的。
參數屬性
| 類型: | Int32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
SessionIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
InstanceIdParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
NameParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
StateParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommandParameterSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-State
指定工作狀態。 此指令檔只接收指定狀態下的任務。 此參數可接受的值為:
- 尚未開始
- Running
- 已完成
- 失敗
- 已停止
- 已封鎖
- 已暫停
- 已中斷連線
- 暫停中
- 停止中
預設情況下, Get-Job 會取得當前會話中的所有工作。
欲了解更多就業狀態資訊,請參閱 JobState Enumeration。
參數屬性
| 類型: | JobState |
| 預設值: | None |
| 接受的值: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
StateParameterSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
None
您不能將物件透過管道傳送到此 Cmdlet。
輸出
System.Management.Automation.RemotingJob
此 cmdlet 回傳代表會話中工作的物件。
備註
PowerShell 包含下列 Get-Job的別名:
- 所有平臺:
gjb
工作中的 PSJobTypeName 屬性表示該工作的工作類型。 房產價值由工作類型作者決定。 以下列表顯示常見的工作類型。
-
背景工作。 本地工作是從使用
Start-Job。 -
遠端工作。 工作是在 PSSession 中透過 cmdlet 的
Invoke-CommandAsJob 參數開始的。 - 附註:工作流。 工作起始於使用 AsJob 的工作流程共用參數。