Get-Job
取得在目前會話中執行的PowerShell背景工作。
語法
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 的 IncludeChildJob 和 ChildJobState 參數 Get-Job
的效果。
第一個命令會取得目前會話中的作業。 輸出包含背景作業、遠端作業和排程作業的數個實例。 遠端作業 Job4 似乎失敗。
第二個命令使用的 Get-Job
IncludeChildJob 參數。 輸出會新增具有子作業之所有作業的子作業。在此情況下,修訂的輸出會顯示只有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 AM
或 11/06
。
此參數僅適用於具有 EndTime 屬性的自訂作業類型,例如工作流程作業和排程工作。 它不適用於標準背景工作,例如使用 Cmdlet 所建立的工作 Start-Job
。 如需此參數支援的相關信息,請參閱作業類型的說明主題。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | DateTime |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Before
取得在指定日期和時間之前結束的已完成作業。 輸入 DateTime 物件。
此參數僅適用於具有 EndTime 屬性的自訂作業類型,例如工作流程作業和排程工作。 它不適用於標準背景工作,例如使用 Cmdlet 所建立的工作 Start-Job
。 如需此參數支援的相關信息,請參閱作業類型的說明主題。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | DateTime |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ChildJobState
只取得具有指定狀態的子作業。 此參數可接受的值為:
- 未開始
- 執行中
- 已完成
- 失敗
- 已停止
- 封鎖
- 暫止
- 已中斷連接
- 暫停中
- 正在停止
根據預設, Get-Job
不會取得子工作。 藉由使用 IncludeChildJob 參數, Get-Job
取得所有子作業。 如果您使用 ChildJobState 參數, IncludeChildJob 參數沒有任何作用。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | JobState |
接受的值: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Command
將命令陣列指定為字串。 此 Cmdlet 會取得包含指定命令的工作。 預設值為所有作業。 您可以使用通配符來指定命令模式。
類型: | String[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | True |
-Filter
指定條件的哈希表。 此 Cmdlet 會取得滿足所有條件的工作。 輸入哈希表,其中索引鍵是作業屬性,而值是作業屬性值。
此參數僅適用於自定義作業類型,例如工作流程作業和排程工作。 它不適用於標準背景工作,例如使用 Cmdlet 所建立的工作 Start-Job
。 如需此參數支援的相關信息,請參閱作業類型的說明主題。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Hashtable |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | 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 中引進的。
類型: | Boolean |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Id
指定此 Cmdlet 取得之作業標識碼的陣列。
標識碼是整數,可唯一識別目前會話中的作業。 比實例標識碼更容易記住和輸入,但只在目前的會話中是唯一的。 您可以輸入一或多個以逗號分隔的識別碼。 若要尋找作業的識別碼,請輸入 Get-Job
不含參數。
類型: | Int32[] |
Position: | 0 |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-IncludeChildJob
指出這個 Cmdlet 除了父作業之外,也會傳回子作業。
此參數特別適用於調查工作流程作業,因為失敗的原因會儲存在子作業的 屬性中,因此 Get-Job
會傳回容器父作業和作業失敗。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InstanceId
指定這個 Cmdlet 取得之作業實例識別碼的陣列。 預設值為所有作業。
實例標識碼是可唯一識別計算機上作業的 GUID。 若要尋找作業的實體識別碼,請使用 Get-Job
。
類型: | Guid[] |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Name
指定這個 Cmdlet 取得之作業實例易記名稱的陣列。 輸入作業名稱,或使用通配符輸入作業名稱模式。 根據預設, Get-Job
會取得目前會話中的所有作業。
類型: | String[] |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | True |
-Newest
指定要取得的作業數目。 此 Cmdlet 會取得最近結束的工作。
Newest 參數不會以結束時間順序排序或傳回最新的作業。 若要排序輸出,請使用 Sort-Object
Cmdlet。
此參數是在 Windows PowerShell 3.0 中引進的。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-State
指定作業狀態。 此 Cmdlet 只會取得處於指定狀態的作業。 此參數可接受的值為:
- 未開始
- 執行中
- 已完成
- 失敗
- 已停止
- 封鎖
- 暫止
- 已中斷連接
- 暫停中
- 正在停止
根據預設, Get-Job
會取得目前會話中的所有作業。
如需作業狀態的詳細資訊,請參閱 JobState 列舉。
類型: | JobState |
接受的值: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
None
您無法使用管線將物件傳送至此 Cmdlet。
輸出
System.Management.Automation.RemotingJob
此 Cmdlet 會傳回代表會話中作業的物件。
備註
PowerShell 包含下列的 Get-Job
別名:
- 所有平臺:
gjb
作業的 PSJobTypeName 屬性表示作業的作業類型。 屬性值是由作業類型作者所決定。 下列清單顯示常見的作業類型。
- BackgroundJob。 使用
Start-Job
啟動的本機作業。 - RemoteJob。 使用 Cmdlet 的 AsJob 參數,在 PSSession 中啟動作業。
Invoke-Command
- PSWorkflowJob。 使用工作流程的 AsJob 一般參數啟動的工作。