次の方法で共有


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-JobAsJob パラメーターを使用して開始されたジョブを取得できます。

パラメーターがない場合、コマンドは 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-JobName パラメーターを使用して、ジョブにフレンドリ名を割り当てます。 2 番目のコマンドでは、 を使用 Get-Job してジョブを取得します。 ジョブを識別するには、 の Get-JobName パラメーターを使用します。 コマンドは、結果のジョブ オブジェクトを 変数に $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-JobFilter パラメーターを使用して、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 AM11/06DateTime オブジェクトを入力します。

このパラメーターは、ワークフロー ジョブ、スケジュールされたジョブなどの、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 共通パラメーターを使用して開始されたジョブ。