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>]
説明
コマンドレットは、 Get-Job
現在のセッションで開始されたバックグラウンド ジョブを表す オブジェクトを取得します。 を使用 Get-Job
して、 コマンドレットを使用するか、任意のコマンドレットの Start-Job
AsJob パラメーターを使用して開始されたジョブを取得できます。
パラメーターがない場合、コマンドは Get-Job
現在のセッション内のすべてのジョブを取得します。 のパラメーターを使用して、特定の Get-Job
ジョブを取得できます。
を返す Get-Job
job オブジェクトには、ジョブに関する有用な情報が含まれていますが、ジョブの結果は含まれません。 結果を取得するには、 コマンドレットを使用します Receive-Job
。
Windows PowerShellバックグラウンド ジョブは、現在のセッションと対話せずにバックグラウンドで実行されるコマンドです。 通常、バックグラウンド ジョブを使用して、完了に長い時間がかかる複雑なコマンドを実行します。 Windows PowerShell のバックグラウンド ジョブの詳細については、「about_Jobs」を参照してください。
Windows PowerShell 3.0 以降では、 Get-Job
コマンドレットは、ワークフロー ジョブやスケジュールされたジョブのインスタンスなどのカスタム ジョブの種類も取得します。 ジョブの種類を調べるには、ジョブの PSJobTypeName プロパティを使用します。
Get-Job
カスタム ジョブの種類を取得できるようにするには、コマンドを実行Get-Job
する前に、 コマンドレットを使用するか、モジュールで コマンドレットを使用Import-Module
または取得して、カスタム ジョブの種類をサポートするモジュールをセッションにインポートします。 特定のカスタム ジョブの種類については、カスタムのジョブの種類機能のドキュメントを参照してください。
例
例 1: 現在のセッションですべてのバックグラウンド ジョブを開始する
このコマンドは、現在のセッションで開始されたすべてのバックグラウンド ジョブを取得します。 ローカル コンピューター上でジョブが実行される場合でも、他のセッションで作成されたジョブは含まれません。
PS C:\> Get-Job
例 2: インスタンス ID を使用してジョブを停止する
ジョブのインスタンス ID を取得し、それを使用してジョブを停止する方法を次のコマンドに示します。 一意ではないジョブ名とは異なり、インスタンス ID は一意です。
最初のコマンドでは、 コマンドレットを Get-Job
使用してジョブを取得します。 Name パラメーターを使用してジョブを識別します。 コマンドは、 を返すジョブ オブジェクトを Get-Job
変数に $j
格納します。 この例では、指定された名前のジョブが 1 つだけあります。 2 番目のコマンドは、変数内の オブジェクトの InstanceId プロパティを $j
取得し、変数に $ID
格納します。 3 番目のコマンドは、変数の値を $ID
表示します。 4 番目のコマンドでは、コマンドレットを使用 Stop-Job
してジョブを停止します。
InstanceId パラメーターを使用して、ジョブのインスタンス ID を表すジョブと$ID
変数を識別します。
PS C:\> $j = Get-Job -Name Job1
PS C:\> $ID = $j.InstanceID
PS C:\> $ID
Guid
----
03c3232e-1d23-453b-a6f4-ed73c9e29d55
PS C:\> Stop-Job -InstanceId $ID
例 3: 特定のコマンドを含むジョブを取得する
このコマンドは、コマンドを含むシステム上のジョブを Get-Process
取得します。 コマンドは、 の Command パラメーター Get-Job
を使用して、取得するジョブを制限します。 コマンドは、ワイルドカード文字 (*
) を使用して、コマンド文字列内の任意の場所にコマンドを Get-Process
含むジョブを取得します。
PS C:\> Get-Job -Command "*get-process*"
例 4: パイプラインを使用して特定のコマンドを含むジョブを取得する
前の例のコマンドと同様に、このコマンドは、コマンドを含むシステム上のジョブを Get-Process
取得します。 コマンドは、パイプライン演算子 (|
) を使用して、文字列を引用符で囲んでコマンドレットに Get-Job
送信します。 これは、前のコマンドと同等です。
PS C:\> "*get-process*" | Get-Job
例 5: 開始されていないジョブを取得する
このコマンドは、作成されている一方でまだ開始されていないジョブのみを取得します。 これには、後で実行するようにスケジュール設定されているジョブとまだスケジュール設定されていないジョブが含まれます。
PS C:\> Get-Job -State NotStarted
例 6: 名前が割り当てられていないジョブを取得する
このコマンドは、ジョブで始まるジョブ名を持つすべてのジョブを取得します。 はジョブの既定の名前であるため job<number>
、このコマンドは、明示的に割り当てられた名前を持たないすべてのジョブを取得します。
PS C:\> Get-Job -Name Job*
例 7: job オブジェクトを使用してコマンド内のジョブを表す
この例では、 を使用 Get-Job
してジョブ オブジェクトを取得する方法を示し、ジョブ オブジェクトを使用してコマンド内のジョブを表す方法を示します。
最初のコマンドでは、 コマンドレットを Start-Job
使用して、ローカル コンピューターでコマンドを Get-Process
実行するバックグラウンド ジョブを開始します。 コマンドは、 の Start-Job
Name パラメーターを使用して、ジョブにフレンドリ名を割り当てます。 2 番目のコマンドでは、 を使用 Get-Job
してジョブを取得します。 ジョブを識別するには、 の Get-Job
Name パラメーターを使用します。 コマンドは、結果のジョブ オブジェクトを 変数に $j
保存します。 3 番目のコマンドは、変数内のジョブ オブジェクトの値を $j
表示します。 State プロパティの値は、ジョブが完了したことを示します。 HasMoreData プロパティの値は、このジョブに関してまだ取得されていない結果があることを示しています。 4 番目のコマンドでは、 コマンドレットを Receive-Job
使用してジョブの結果を取得します。 変数の job オブジェクトを $j
使用してジョブを表します。 パイプライン演算子を使用して、ジョブ オブジェクトを に Receive-Job
送信することもできます。
PS C:\> Start-Job -ScriptBlock {Get-Process} -Name MyJob
PS C:\> $j = Get-Job -Name MyJob
PS C:\> $j
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
6 MyJob BackgroundJob Completed True localhost Get-Process
PS C:\> 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
使用して開始された場合でも、現在のセッションで開始されたすべてのジョブを取得できることを示します。
最初のコマンドでは、 コマンドレットを Start-Job
使用して、ローカル コンピューターでジョブを開始します。 2 番目のコマンドでは、コマンドレットの AsJob パラメーターを Invoke-Command
使用して、S1 コンピューターでジョブを開始します。 ジョブに含まれるコマンドがリモート コンピューター上で実行される場合でもジョブ オブジェクトがローカル コンピューターに作成されるため、ローカル コマンドを使用してジョブを管理します。 3 番目のコマンドでは、 コマンドレットを Invoke-Command
使用して S2 コンピューターでコマンドを実行 Start-Job
します。 このメソッドを使用すると、ジョブ オブジェクトがリモート コンピューターに作成されるため、リモート コマンドを使用してジョブを管理します。 4 番目のコマンドでは、 を使用 Get-Job
して、ローカル コンピューターに格納されているジョブを取得します。 Windows PowerShell 3.0 で導入されたジョブの PSJobTypeName プロパティは、 コマンドレットを使用Start-Job
して開始されたローカル ジョブがバックグラウンド ジョブであり、 コマンドレットを使用Invoke-Command
してリモート セッションで開始されたジョブがリモート ジョブであることを示しています。 5 番目のコマンドでは、 を使用 Invoke-Command
して S2 コンピューターでコマンドを実行 Get-Job
します。サンプル出力には、コマンドの結果が Get-Job
表示されます。 S2 コンピューター上では、ジョブはローカル ジョブとして表示されます。 コンピューター名は localhost で、ジョブの種類はバックグラウンド ジョブです。リモート コンピューターでバックグラウンド ジョブを実行する方法の詳細については、「 about_Remote_Jobs」を参照してください。
PS C:\> Start-Job -ScriptBlock {Get-EventLog System}
PS C:\> Invoke-Command -ComputerName S1 -ScriptBlock {Get-EventLog System} -AsJob
PS C:\> Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}
PS C:\> 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
PS C:\> Invoke-Command -ComputerName S2 -ScriptBlock {Start-Job -ScriptBlock {Get-EventLog System}}
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- ------- -------
4 Job4 BackgroundJob Running True localhost Get-Eventlog System
例 9: 失敗したジョブを調査する
このコマンドは、 を返すジョブ オブジェクトを使用して、ジョブが Get-Job
失敗した理由を調査する方法を示します。
また、各ジョブの子ジョブを取得する方法も示します。
最初のコマンドでは、 コマンドレットを Start-Job
使用して、ローカル コンピューターでジョブを開始します。 を返すジョブ オブジェクトは、 Start-Job
ジョブが失敗したことを示しています。 State プロパティの値は Failed です。
2 番目のコマンドでは、 コマンドレットを Get-Job
使用してジョブを取得します。 ここでは、ドット表記を使用してオブジェクトの JobStateInfo プロパティの値を取得しています。 パイプライン演算子を使用して 、JobStateInfo プロパティ内のオブジェクトをコマンドレットに Format-List
送信し、リスト内のオブジェクト (*
) のすべてのプロパティを書式設定します。コマンドの結果は、 Format-List
ジョブの Reason プロパティの値が空白であることを示しています。
3 番目のコマンドは、さらに調査します。 コマンドを Get-Job
使用してジョブを取得し、パイプライン演算子を使用してジョブ オブジェクト全体をコマンドレットに Format-List
送信します。これにより、ジョブのすべてのプロパティが一覧に表示されます。ジョブ オブジェクト内のすべてのプロパティの表示は、ジョブに Job2 という名前の子ジョブが含まれていることを示しています。
4 番目のコマンドでは、 を使用 Get-Job
して、Job2 子ジョブを表すジョブ オブジェクトを取得します。 これは、コマンドが実際に実行されたジョブです。 dot メソッドを使用して、JobStateInfo プロパティの Reason プロパティを取得します。結果は、アクセス拒否エラーが原因でジョブが失敗したことを示しています。 この場合、ユーザーは、Windows PowerShellを開始するときに [管理者として実行] オプションを使用し忘れました。バックグラウンド ジョブはWindows PowerShellのリモート処理機能を使用するため、ローカル コンピューターでジョブが実行されている場合でも、リモート処理でジョブを実行するようにコンピューターを構成する必要があります。Windows PowerShellでのリモート処理の要件については、「about_Remote_Requirements」を参照してください。 トラブルシューティングのヒントについては、「about_Remote_Troubleshooting」を参照してください。
PS C:\> Start-Job -ScriptBlock {Get-Process}
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Job1 BackgroundJob Failed False localhost Get-Process
PS C:\> (Get-Job).JobStateInfo | Format-List -Property *
State : Failed
Reason :
PS C:\> 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 C:\> (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 パラメーターは、ワークフロー ジョブ、スケジュールされたジョブなどの、カスタムのジョブの種類でのみ有効です。
最初のコマンドでは、ワークフロー キーワード (keyword)を使用して WFProcess ワークフローを作成します。 2 番目のコマンドでは、WFProcess ワークフローの AsJob パラメーターを使用して、ワークフローをバックグラウンド ジョブとして実行します。 ここでは、ワークフローの JobName パラメーターを使用してジョブの名前を指定し、ワークフローの PSPrivateMetadata パラメーターを使用してカスタム ID を指定しています。 3 番目のコマンドでは、 の Get-Job
Filter パラメーターを使用して、PSPrivateMetadata パラメーターで指定されたカスタム ID でジョブを取得します。
PS C:\> Workflow WFProcess {Get-Process}
PS C:\> WFProcess -AsJob -JobName WFProcessJob -PSPrivateMetadata @{MyCustomId = 92107}
PS C:\> Get-Job -Filter @{MyCustomId = 92107}
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 WFProcessJob Completed True localhost WFProcess
例 11: 子ジョブに関する情報を取得する
この例では、コマンドレットの IncludeChildJob パラメーターと ChildJobState パラメーターを使用した場合の効果を Get-Job
示します。
最初のコマンドは、現在のセッション内のジョブを取得します。 出力には、バックグラウンド ジョブ、リモート ジョブ、およびスケジュールされたジョブのいくつかのインスタンスが含まれます。 リモート ジョブ Job4 については、失敗したことが示されています。
2 番目のコマンドでは、 の IncludeChildJob パラメーター Get-Job
を使用します。 出力により、子ジョブを持つすべてのジョブの子ジョブが追加されます。この場合、変更された出力は、Job4 の Job5 子ジョブのみが失敗したことを示しています。 3 番目のコマンドでは、値が Failed の ChildJobState パラメーターを使用します。出力には、すべての親ジョブと失敗した子ジョブのみが含まれます。 5 番目のコマンドでは、 ジョブの JobStateInfo プロパティとその Reason プロパティを使用して、Job5 が失敗した理由を検出します。
PS C:\> 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 C:\> 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 C:\> 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 C:\> (Get-Job -Name Job5).JobStateInfo.Reason
Connecting to remote server Server01 failed with the following error message:
Access is denied.
詳細については、「about_Remote_Troubleshooting ヘルプ」トピック を 参照してください。
パラメーター
-After
指定された日時以降に終了した完了済みのジョブを取得します。 コマンドレットによってGet-Date
返される DateTime オブジェクトや、 や などの DateTime オブジェクトに変換できる文字列などの Dec 1, 2012 2:00 AM
11/06
DateTime オブジェクトを入力します。
このパラメーターは、ワークフロー ジョブ、スケジュールされたジョブなどの、EndTime プロパティを持つカスタムのジョブの種類に対してのみ機能します。 コマンドレットを使用して作成されたものなど、標準のバックグラウンド ジョブでは 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 プロパティを持つカスタムのジョブの種類に対してのみ機能します。 コマンドレットを使用して作成されたものなど、標準のバックグラウンド ジョブでは Start-Job
機能しません。 このパラメーターのサポートについては、ジョブの種類のヘルプ トピックを参照してください。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ChildJobState
指定された状態を持つ子ジョブのみを取得します。 このパラメーターの有効値は、次のとおりです。
- NotStarted
- 実行中
- 完了
- 失敗
- 停止済み
- Blocked
- Suspended
- [Disconnected](切断済み)
- 中断中
- 停止中
既定では、 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
コマンドの配列を文字列として指定します。 このコマンドレットは、指定したコマンドを含むジョブを取得します。 既定値はすべてのジョブです。 ワイルドカード文字を使用して、コマンド パターンを指定できます。
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Filter
条件のハッシュ テーブルを指定します。 このコマンドレットは、すべての条件を満たすジョブを取得します。 ジョブのプロパティをキー、ジョブのプロパティ値を値とするハッシュ テーブルを入力します。
このパラメーターは、ワークフロー ジョブ、スケジュールされたジョブなどの、カスタムのジョブの種類に対してのみ機能します。 コマンドレットを使用して作成されたものなど、標準のバックグラウンド ジョブでは Start-Job
機能しません。 このパラメーターのサポートについては、ジョブの種類のヘルプ トピックを参照してください。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | Hashtable |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-HasMoreData
このコマンドレットが、指定した HasMoreData プロパティ値を持つジョブのみを取得するかどうかを示します。
HasMoreData プロパティは、すべてのジョブの結果が現在のセッションで受け取られたかどうかを示します。 結果が多いジョブを取得するには、 の $True
値を指定します。 結果が多くないジョブを取得するには、 の $False
値を指定します。
ジョブの結果を取得するには、 コマンドレットを使用します Receive-Job
。
コマンドレットを Receive-Job
使用すると、メモリ内のセッション固有のストレージから、返された結果が削除されます。 現在のセッションでジョブのすべての結果が返されると、ジョブの HasMoreData プロパティの値を に設定して $False
、現在のセッションでジョブの結果がそれ以上ないことを示します。 Keep パラメーター Receive-Job
を使用して、結果を削除したり、HasMoreData プロパティの値を変更したりしないようにReceive-Job
します。
詳細を表示するには「Get-Help Receive-Job
」を入力します。
HasMoreData プロパティは、現在のセッションに固有です。 スケジュールされたジョブの種類 (ジョブの結果をディスクに保存する) など、カスタム ジョブの種類の結果がセッションの外部に保存されている場合は、HasMoreData$False
の値が である場合でも、別のセッションで コマンドレットを使用Receive-Job
してジョブの結果を再度取得できます。 詳細については、カスタムのジョブの種類のヘルプ トピックを参照してください。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
このコマンドレットが取得するジョブの ID の配列を指定します。
ID は、現在のセッションのジョブを一意に識別する整数です。 インスタンス ID よりも覚えて入力する方が簡単ですが、現在のセッションでのみ一意です。 1 つ以上の ID をコンマで区切って入力できます。 ジョブの ID を検索するには、パラメーターを指定せずに入力します Get-Job
。
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeChildJob
このコマンドレットは、親ジョブに加えて子ジョブを返します。
このパラメーターは、失敗の理由が子ジョブのプロパティに保存されるため、 Get-Job
コンテナーの親ジョブを返すワークフロー ジョブとジョブエラーを調査する場合に特に便利です。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InstanceId
このコマンドレットが取得するジョブのインスタンス ID の配列を指定します。 既定値はすべてのジョブです。
インスタンス ID は、コンピューター上のジョブを一意に識別する GUID です。 ジョブのインスタンス ID を検索するには、 を使用 Get-Job
します。
Type: | Guid[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
このコマンドレットが取得するジョブのインスタンスフレンドリ名の配列を指定します。 ジョブの名前を入力するか、またはワイルドカード文字を使用してジョブ名のパターンを入力します。 既定では、 Get-Job
は現在のセッションのすべてのジョブを取得します。
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Newest
取得するジョブの数を指定します。 このコマンドレットは、最後に終了したジョブを取得します。
Newest パラメーターは、並べ替えを行わずに、終了時刻の順で最も新しいジョブを返します。 出力を並べ替えるには、 コマンドレットを使用します Sort-Object
。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-State
ジョブの状態を指定します。 このコマンドレットは、指定された状態のジョブのみを取得します。 このパラメーターの有効値は、次のとおりです。
- NotStarted
- 実行中
- 完了
- 失敗
- 停止済み
- Blocked
- Suspended
- [Disconnected](切断済み)
- 中断中
- 停止中
既定では、 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
パイプを使用してこのコマンドレットに入力を渡すことはできません。
出力
System.Management.Automation.RemotingJob
このコマンドレットは、セッション内のジョブを表すオブジェクトを返します。
メモ
ジョブの PSJobTypeName プロパティは、ジョブの種類を示します。 プロパティ値は、ジョブの種類の作成者によって決定されます。 次の一覧に、一般的なジョブの種類を示します。
- BackgroundJob。 を使用
Start-Job
して開始されたローカル ジョブ。 - RemoteJob。 コマンドレットの AsJob パラメーターを使用して PSSession で開始された
Invoke-Command
ジョブ。 - PSWorkflowJob。 ワークフローの AsJob 共通パラメーターを使用して開始されたジョブ。