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 현재 세션에서 시작된 백그라운드 작업을 나타내는 개체를 가져옵니다. cmdlet을 사용하거나 cmdlet의 Start-Job AsJob 매개 변수를 사용하여 시작된 작업을 가져오는 데 사용할 Get-Job 수 있습니다.

매개 변수가 Get-Job 없으면 명령은 현재 세션의 모든 작업을 가져옵니다. 매개 변수 Get-Job 를 사용하여 특정 작업을 가져올 수 있습니다.

반환되는 Get-Job 작업 개체에는 작업에 대한 유용한 정보가 포함되어 있지만 작업 결과는 포함되지 않습니다. 결과를 얻으려면 cmdlet을 Receive-Job 사용합니다.

Windows PowerShell 백그라운드 작업은 현재 세션과 상호 작용하지 않고 백그라운드에서 실행되는 명령입니다. 일반적으로 백그라운드 작업을 사용하여 완료하는 데 시간이 오래 걸리는 복잡한 명령을 실행합니다. Windows PowerShell의 백그라운드 작업에 대한 자세한 내용은 about_Jobs 참조하세요.

Windows PowerShell 3.0 Get-Job 부터 cmdlet은 워크플로 작업 및 예약된 작업의 인스턴스와 같은 사용자 지정 작업 유형도 가져옵니다. 작업의 작업 유형을 찾으려면 작업의 PSJobTypeName 속성을 사용합니다.

Get-Job 사용자 지정 작업 유형을 가져오려면 cmdlet을 사용하거나 모듈에서 cmdlet을 사용 Import-Module 하거나 가져와서 명령을 실행 Get-Job 하기 전에 사용자 지정 작업 유형을 지원하는 모듈을 세션으로 가져옵니다. 특정 사용자 지정 작업 유형에 대한 자세한 내용은 사용자 지정 작업 유형 기능의 설명서를 참조하세요.

예제

예제 1: 현재 세션에서 모든 백그라운드 작업 시작

이 명령은 현재 세션에서 시작된 모든 백그라운드 작업을 가져옵니다. 로컬 컴퓨터에서 작업이 실행되더라도 다른 세션에서 만든 작업은 포함되지 않습니다.

Get-Job

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

예제 2: 인스턴스 ID를 사용하여 작업 중지

이러한 명령은 작업의 인스턴스 ID를 가져오고 이를 사용하여 작업을 중지하는 방법을 보여 줍니다. 고유하지 않은 작업의 이름과 달리 인스턴스 ID는 고유합니다.

첫 번째 명령은 cmdlet을 Get-Job 사용하여 작업을 가져옵니다. Name 매개 변수를 사용하여 작업을 식별합니다. 이 명령은 변수에 반환되는 Get-Job 작업 개체를 $j 저장합니다. 이 예제에서는 지정된 이름을 가진 작업이 하나만 있습니다. 두 번째 명령은 변수에 있는 $j 개체의 InstanceId 속성을 가져오고 변수에 $ID 저장합니다. 세 번째 명령은 변수의 $ID 값을 표시합니다. 네 번째 명령은 cmdlet을 사용하여 Stop-Job 작업을 중지합니다. InstanceId 매개 변수를 사용하여 작업의 인스턴스 ID를 나타내는 작업 및 $ID 변수를 식별합니다.

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

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

Stop-Job -InstanceId $ID

예제 3: 특정 명령을 포함하는 작업 가져오기

이 명령은 명령을 포함하는 Get-Process 시스템의 작업을 가져옵니다. 이 명령은 검색된 작업을 제한하기 위해 Command 매개 변수 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 시스템의 작업을 가져옵니다. 이 명령은 파이프라인 연산자(|)를 사용하여 NoteProperty 명령이 있는 PSCustomObject를 cmdlet으로 Get-Job 보냅니다. 이전 명령과 동일합니다.

[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 방법을 보여 하며, 작업 개체를 사용하여 명령에서 작업을 나타내는 방법을 보여줍니다.

첫 번째 명령은 cmdlet을 Start-Job 사용하여 로컬 컴퓨터에서 명령을 실행하는 Get-Process 백그라운드 작업을 시작합니다. 이 명령은 Name 매개 변수 Start-Job 를 사용하여 작업에 친숙한 이름을 할당합니다. 두 번째 명령은 작업을 가져오는 데 사용합니다 Get-Job . Name 매개 변수를 Get-Job 사용하여 작업을 식별합니다. 이 명령은 결과 작업 개체를 변수에 $j 저장합니다. 세 번째 명령은 변수에 작업 개체의 값을 표시합니다 $j . State 속성의 값은 작업이 완료되었음을 보여 주는 값입니다. HasMoreData 속성의 값은 아직 검색되지 않은 작업에서 사용할 수 있는 결과가 있음을 보여줍니다. 네 번째 명령은 cmdlet을 사용하여 Receive-Job 작업 결과를 가져옵니다. 변수의 작업 개체를 $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: 다른 방법으로 시작된 작업을 포함한 모든 작업 가져오기

이 예제에서는 cmdlet이 Get-Job 다른 메서드를 사용하여 시작한 경우에도 현재 세션에서 시작된 모든 작업을 가져올 수 있음을 보여 줍니다.

첫 번째 명령은 cmdlet을 Start-Job 사용하여 로컬 컴퓨터에서 작업을 시작합니다. 두 번째 명령은 cmdlet의 Invoke-Command AsJob 매개 변수를 사용하여 S1 컴퓨터에서 작업을 시작합니다. 작업의 명령이 원격 컴퓨터에서 실행되더라도 로컬 컴퓨터에서 작업 개체가 만들어지므로 로컬 명령을 사용하여 작업을 관리합니다. 세 번째 명령은 cmdlet을 Invoke-Command 사용하여 S2 컴퓨터에서 Start-Job 명령을 실행합니다. 이 메서드를 사용하면 원격 컴퓨터에서 작업 개체가 만들어지므로 원격 명령을 사용하여 작업을 관리합니다. 네 번째 명령은 로컬 컴퓨터에 저장된 작업을 가져오는 데 사용합니다 Get-Job . Windows PowerShell 3.0에서 도입된 작업의 PSJobTypeName 속성은 cmdlet을 사용하여 Start-Job 시작된 로컬 작업이 백그라운드 작업이며 cmdlet을 사용하여 Invoke-Command 원격 세션에서 시작된 작업이 원격 작업임을 보여 줍니다. 다섯 번째, 여섯 번째 및 일곱 번째 명령은 cmdlet을 사용하여 New-PSSession S2 컴퓨터에 연결된 PSSession을 만들고 PSSession 및 Session 매개 변수를 사용하여 원격 컴퓨터에서 작업을 시작하는 데 사용합니다Invoke-Command. 그런 다음 PSSession을 Get-Job 사용하여 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 작업 개체를 사용하여 작업이 실패한 이유를 조사하는 방법을 보여줍니다. 또한 각 작업의 하위 작업을 가져오는 방법을 보여 줍니다.

첫 번째 명령은 cmdlet을 Start-Job 사용하여 로컬 컴퓨터에서 작업을 시작합니다. 반환되는 Start-Job 작업 개체는 작업이 실패했음을 보여줍니다. State 속성의 값이 실패했습니다.

두 번째 명령은 cmdlet을 Get-Job 사용하여 작업을 가져옵니다. 이 명령은 dot 메서드를 사용하여 개체의 JobStateInfo 속성 값을 가져옵니다. 파이프라인 연산자를 사용하여 JobStateInfo 속성의 개체를 Format-List cmdlet으로 보내는데, 이 cmdlet은 목록에 있는 개체(*)의 모든 속성 형식을 지정합니다. 명령의 Format-List 결과는 작업의 Reason 속성 값이 비어 있음을 보여줍니다.

세 번째 명령은 자세히 조사합니다. 이 명령은 명령을 사용하여 Get-Job 작업을 가져옵니다. 그런 다음 파이프라인 연산자를 사용하여 전체 작업 개체를 Format-List cmdlet으로 보내면 목록의 작업의 모든 속성이 표시됩니다. 작업 개체의 모든 속성 표시는 작업에 Job2라는 자식 작업이 포함되어 있음을 보여 줍니다.

네 번째 명령은 Job2 자식 작업을 나타내는 작업 개체를 가져오는 데 사용합니다 Get-Job . 명령이 실제로 실행되는 작업입니다. 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 매개 변수는 워크플로 작업 및 예약된 작업과 같은 사용자 지정 작업 유형에서만 유효합니다.

첫 번째 명령은 워크플로 키워드(keyword) 사용하여 WFProcess 워크플로를 만듭니다. 두 번째 명령은 WFProcess 워크플로의 AsJob 매개 변수를 사용하여 워크플로를 백그라운드 작업으로 실행합니다. 워크플로의 JobName 매개 변수를 사용하여 작업의 이름을 지정하고 워크플로의 PSPrivateMetadata 매개 변수를 사용하여 사용자 지정 ID를 지정합니다. 세 번째 명령은 Filter 매개 변수를 사용하여 PSPrivateMetadata 매개 Get-Job 변수에 지정된 사용자 지정 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의 IncludeChildJobChildJobState 매개 변수를 Get-Job 사용하는 효과를 보여줍니다.

첫 번째 명령은 현재 세션의 작업을 가져옵니다. 출력에는 백그라운드 작업, 원격 작업 및 예약된 작업의 여러 인스턴스가 포함됩니다. 원격 작업인 Job4가 실패한 것으로 보입니다. 두 번째 명령은 의 IncludeChildJob 매개 변수를 Get-Job사용합니다. 출력은 자식 작업이 있는 모든 작업의 자식 작업을 추가합니다. 이 경우 수정된 출력은 Job4의 Job5 자식 작업만 실패했음을 보여줍니다. 세 번째 명령은 값이 Failed인 ChildJobState 매개 변수를 사용합니다. 출력에는 모든 부모 작업과 실패한 자식 작업만 포함됩니다. 다섯 번째 명령은 작업의 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

지정된 날짜 및 시간 이후에 종료된 완료된 작업을 가져옵니다. cmdlet에서 반환된 Get-Date 개체 또는 DateTime 개체로 변환할 수 있는 문자열과 같은 Dec 1, 2012 2:00 AM DateTime 개체를 입력합니다11/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

지정된 상태가 있는 자식 작업만 가져옵니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • NotStarted
  • 실행 중
  • Completed
  • 실패
  • 중지됨
  • 차단됨
  • 일시 중단됨
  • 연결 끊김
  • Suspending
  • 중지 중

기본적으로 자 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지정합니다.

작업의 결과를 얻으려면 cmdlet을 Receive-Job 사용합니다.

cmdlet을 Receive-Job 사용하면 메모리 내 세션별 스토리지에서 반환된 결과를 삭제합니다. 현재 세션에서 작업의 모든 결과를 반환한 경우 작업의 $FalseHasMoreData 속성 값을 )로 설정하여 현재 세션에서 작업에 대한 결과가 더 이상 없음을 나타냅니다. 결과를 삭제하고 HasMoreData 속성의 값을 변경하지 못하도록 Receive-Job 하려면 Keep 매개 변수 Receive-Job사용합니다. 자세한 내용은 다음을 입력합니다 Get-Help Receive-Job.

HasMoreData 속성은 현재 세션과 관련이 있습니다. 디스크에 작업 결과를 저장하는 예약된 작업 유형과 같은 사용자 지정 작업 유형에 대한 결과가 세션 외부에 저장되는 경우 HasMoreData$False값이더라도 다른 세션의 cmdlet을 사용하여 Receive-Job 작업 결과를 다시 가져올 수 있습니다. 자세한 내용은 사용자 지정 작업 유형에 대한 도움말 항목을 참조하세요.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

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

-Id

이 cmdlet이 가져오는 작업의 ID 배열을 지정합니다.

ID는 현재 세션의 작업을 고유하게 식별하는 정수입니다. 인스턴스 ID보다 기억하고 입력하는 것이 더 쉽지만 현재 세션에서만 고유합니다. 하나 이상의 ID를 쉼표로 구분하여 입력할 수 있습니다. 작업의 ID를 찾으려면 매개 변수 없이 입력 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이 가져오는 작업의 인스턴스 ID 배열을 지정합니다. 기본값은 모든 작업입니다.

인스턴스 ID는 컴퓨터에서 작업을 고유하게 식별하는 GUID입니다. 작업의 인스턴스 ID를 찾으려면 .를 사용합니다 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 매개 변수는 최신 작업을 최종 시간 순서로 정렬하거나 반환하지 않습니다. 출력을 정렬하려면 cmdlet을 Sort-Object 사용합니다.

이 매개 변수는 Windows PowerShell 3.0에서 도입되었습니다.

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

-State

작업 상태를 지정합니다. 이 cmdlet은 지정된 상태의 작업만 가져옵니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • NotStarted
  • 실행 중
  • Completed
  • 실패
  • 중지됨
  • 차단됨
  • 일시 중단됨
  • 연결 끊김
  • Suspending
  • 중지 중

기본적으로 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 공통 매개 변수를 사용하여 작업을 시작했습니다.