다음을 통해 공유


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

Get-Job cmdlet은 현재 세션에서 시작된 백그라운드 작업을 나타내는 개체를 가져옵니다. 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 사용자 지정 작업 유형을 가져올 수 있도록 하려면 Import-Module cmdlet을 사용하거나 모듈에서 cmdlet을 사용하거나 가져와서 Get-Job 명령을 실행하기 전에 사용자 지정 작업 유형을 지원하는 모듈을 세션으로 가져옵니다. 특정 사용자 지정 작업 유형에 대한 자세한 내용은 사용자 지정 작업 유형 기능의 설명서를 참조하세요.

예제

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

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

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

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

이 명령은 Get-Process 명령을 포함하는 시스템의 작업을 가져옵니다. 이 명령은 Get-JobCommand 매개 변수를 사용하여 검색된 작업을 제한합니다. 이 명령은 와일드카드 문자(*)를 사용하여 명령 문자열의 아무 곳이나 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 CommandPSCustomObject를 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-JobName 매개 변수를 사용하여 작업에 친숙한 이름을 할당합니다. 두 번째 명령은 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을 사용하여 로컬 컴퓨터에서 작업을 시작합니다. 두 번째 명령은 Invoke-Command cmdlet의 AsJob 매개 변수를 사용하여 S1 컴퓨터에서 작업을 시작합니다. 작업의 명령이 원격 컴퓨터에서 실행되더라도 로컬 컴퓨터에서 작업 개체가 만들어지므로 로컬 명령을 사용하여 작업을 관리합니다. 세 번째 명령은 Invoke-Command cmdlet을 사용하여 S2 컴퓨터에서 Start-Job 명령을 실행합니다. 이 메서드를 사용하면 원격 컴퓨터에서 작업 개체가 만들어지므로 원격 명령을 사용하여 작업을 관리합니다. 네 번째 명령은 Get-Job 사용하여 로컬 컴퓨터에 저장된 작업을 가져옵니다. Windows PowerShell 3.0에서 도입된 작업의 PSJobTypeName 속성은 Start-Job cmdlet을 사용하여 시작된 로컬 작업이 백그라운드 작업이며 Invoke-Command cmdlet을 사용하여 원격 세션에서 시작된 작업이 원격 작업임을 보여 줍니다. 다섯 번째, 여섯 번째 및 일곱 번째 명령은 New-PSSession cmdlet을 사용하여 S2 컴퓨터에 연결된 PSSession을 만들고 Invoke-Command 사용하여 PSSession 및 Session 매개 변수를 사용하여 원격 컴퓨터에서 작업을 시작합니다. 그런 다음 PSSession을 사용하여 S2 컴퓨터에서 Get-Job 명령을 사용하여 작업을 가져옵니다. 샘플 출력은 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 속성의 값이 실패했습니다.

두 번째 명령은 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 매개 변수를 사용하여 사용자 지정 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: 자식 작업에 대한 정보 가져오기

이 예제에서는 Get-Job cmdlet의 IncludeChildJobChildJobState 매개 변수를 사용하는 효과를 보여줍니다.

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

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

이 매개 변수는 EndTime 속성이 있는 워크플로 작업 및 예약된 작업과 같은 사용자 지정 작업 유형에서만 작동합니다. Start-Job cmdlet을 사용하여 만든 작업과 같은 표준 백그라운드 작업에서는 작동하지 않습니다. 이 매개 변수에 대한 지원에 대한 자세한 내용은 작업 유형에 대한 도움말 항목을 참조하세요.

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

형식:DateTime
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Before

지정된 날짜 및 시간 이전에 종료된 완료된 작업을 가져옵니다. DateTime 개체를 입력합니다.

이 매개 변수는 EndTime 속성이 있는 워크플로 작업 및 예약된 작업과 같은 사용자 지정 작업 유형에서만 작동합니다. Start-Job cmdlet을 사용하여 만든 작업과 같은 표준 백그라운드 작업에서는 작동하지 않습니다. 이 매개 변수에 대한 지원에 대한 자세한 내용은 작업 유형에 대한 도움말 항목을 참조하세요.

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

형식:DateTime
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ChildJobState

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

  • NotStarted
  • 달리기
  • 완료
  • 실패
  • 중지
  • 막힌
  • 일시 중단
  • 연결이 끊어진
  • 일시 중단
  • 중지

기본적으로 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
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Command

명령 배열을 문자열로 지정합니다. 이 cmdlet은 지정된 명령을 포함하는 작업을 가져옵니다. 기본값은 모든 작업입니다. 와일드카드 문자를 사용하여 명령 패턴을 지정할 수 있습니다.

형식:String[]
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-Filter

조건의 해시 테이블을 지정합니다. 이 cmdlet은 모든 조건을 충족하는 작업을 가져옵니다. 키가 작업 속성이고 값이 작업 속성 값인 해시 테이블을 입력합니다.

이 매개 변수는 워크플로 작업 및 예약된 작업과 같은 사용자 지정 작업 유형에서만 작동합니다. Start-Job cmdlet을 사용하여 만든 작업과 같은 표준 백그라운드 작업에서는 작동하지 않습니다. 이 매개 변수에 대한 지원에 대한 자세한 내용은 작업 유형에 대한 도움말 항목을 참조하세요.

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

형식:Hashtable
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-HasMoreData

이 cmdlet이 지정된 HasMoreData 속성 값이 있는 작업만 가져오는지 여부를 나타냅니다. HasMoreData 속성은 현재 세션에서 모든 작업 결과를 받았는지 여부를 나타냅니다. 더 많은 결과가 있는 작업을 얻으려면 $True값을 지정합니다. 더 많은 결과가 없는 작업을 얻으려면 $False값을 지정합니다.

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

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

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

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

형식:Boolean
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Id

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

ID는 현재 세션의 작업을 고유하게 식별하는 정수입니다. 인스턴스 ID보다 기억하고 입력하는 것이 더 쉽지만 현재 세션에서만 고유합니다. 하나 이상의 ID를 쉼표로 구분하여 입력할 수 있습니다. 작업의 ID를 찾으려면 매개 변수 없이 Get-Job 입력합니다.

형식:Int32[]
Position:0
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-IncludeChildJob

이 cmdlet은 부모 작업 외에도 자식 작업을 반환한다는 것을 나타냅니다.

이 매개 변수는 실패의 이유가 자식 작업의 속성에 저장되므로 Get-Job 컨테이너 부모 작업 및 작업 실패를 반환하는 워크플로 작업을 조사하는 데 특히 유용합니다.

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

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InstanceId

이 cmdlet이 가져오는 작업의 인스턴스 ID 배열을 지정합니다. 기본값은 모든 작업입니다.

인스턴스 ID는 컴퓨터에서 작업을 고유하게 식별하는 GUID입니다. 작업의 인스턴스 ID를 찾으려면 Get-Job사용합니다.

형식:Guid[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Name

이 cmdlet이 가져오는 작업의 인스턴스 이름 배열을 지정합니다. 작업 이름을 입력하거나 와일드카드 문자를 사용하여 작업 이름 패턴을 입력합니다. 기본적으로 Get-Job 현재 세션의 모든 작업을 가져옵니다.

형식:String[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:True

-Newest

가져올 작업 수를 지정합니다. 이 cmdlet은 가장 최근에 종료된 작업을 가져옵니다.

Newest 매개 변수는 최신 작업을 최종 시간 순서로 정렬하거나 반환하지 않습니다. 출력을 정렬하려면 Sort-Object cmdlet을 사용합니다.

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

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-State

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

  • NotStarted
  • 달리기
  • 완료
  • 실패
  • 중지
  • 막힌
  • 일시 중단
  • 연결이 끊어진
  • 일시 중단
  • 중지

기본적으로 Get-Job 현재 세션의 모든 작업을 가져옵니다.

작업 상태에 대한 자세한 내용은 JobState 열거형참조하세요.

형식:JobState
허용되는 값:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

입력

None

개체를 이 cmdlet으로 파이프할 수 없습니다.

출력

System.Management.Automation.RemotingJob

이 cmdlet은 세션의 작업을 나타내는 개체를 반환합니다.

참고

PowerShell에는 Get-Job다음과 같은 별칭이 포함되어 있습니다.

  • 모든 플랫폼:
    • gjb

작업의 PSJobTypeName 속성은 작업의 작업 유형을 나타냅니다. 속성 값은 작업 유형 작성자가 결정합니다. 다음 목록에는 일반적인 작업 유형이 나와 있습니다.

  • BackgroundJob . Start-Job사용하여 로컬 작업을 시작했습니다.
  • RemoteJob . Invoke-Command cmdlet의 AsJob 매개 변수를 사용하여 PSSession 작업이 시작되었습니다.
  • PSWorkflowJob . AsJob 워크플로의 일반적인 매개 변수를 사용하여 작업을 시작했습니다.