다음을 통해 공유


Resume-Job

일시 중단된 작업을 다시 시작합니다.

구문

Resume-Job
      [-Wait]
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Job] <Job[]>
      [-Wait]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-Name] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-InstanceId] <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-State] <JobState>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Resume-Job
      [-Wait]
      [-Filter] <Hashtable>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Resume-Job cmdlet은 Suspend-Job cmdlet 또는 about_Suspend 워크플로 작업을 사용하는 등 일시 중단된 워크플로 작업을 다시 시작합니다. 워크플로 작업이 다시 시작되면 작업 엔진은 검사점과 같은 저장된 리소스의 상태, 메타데이터 및 출력을 다시 구성합니다. 작업이 상태 또는 데이터의 손실 없이 다시 시작됩니다. 작업 상태가 일시 중단된 실행변경됩니다.

Resume-Job 매개 변수를 사용하여 이름, ID, 인스턴스 ID로 작업을 선택하거나 Get-Job cmdlet에서 반환된 작업 개체와 같은 작업 개체를 파이프하여 Resume-Job. 속성 필터를 사용하여 다시 시작하려는 작업을 선택할 수도 있습니다.

기본적으로 Resume-Job 모든 작업이 아직 다시 시작되지 않더라도 즉시 반환됩니다. 지정된 모든 작업이 다시 시작될 때까지 명령 프롬프트를 표시하지 않으면 Wait 매개 변수를 사용합니다.

Resume-Job cmdlet은 워크플로 작업과 같은 사용자 지정 작업 유형에서만 작동합니다. Start-Job cmdlet을 사용하여 시작한 작업과 같은 표준 백그라운드 작업에서는 작동하지 않습니다. 지원되지 않는 형식의 작업을 제출하는 경우 Resume-Job 종료 오류를 생성하고 실행을 중지합니다.

워크플로 작업을 식별하려면 작업의 PSJobTypeName 속성에서 PSWorkflowJob 값을 찾습니다. 특정 사용자 지정 작업 유형이 Resume-Job cmdlet을 지원하는지 확인하려면 사용자 지정 작업 유형에 대한 도움말 항목을 참조하세요.

사용자 지정 작업 유형에서 Job cmdlet을 사용하기 전에 Import-Module cmdlet을 사용하거나 모듈에서 cmdlet을 가져오거나 사용하여 사용자 지정 작업 유형을 지원하는 모듈을 가져옵니다.

이 cmdlet은 Windows PowerShell 3.0에서 도입되었습니다.

예제

예제 1: ID별로 작업 다시 시작

The first command uses the **Get-Job** cmdlet to get the job. The output shows that the job is a suspended workflow job.
PS C:\> Get-Job EventJob
Id     Name            PSJobTypeName   State         HasMoreData     Location   Command
--     ----            -------------   -----         -----------     --------   -------
4      EventJob        PSWorkflowJob   Suspended     True            Server01   \\Script\Share\Event.ps1

The second command uses the *Id* parameter of the **Resume-Job** cmdlet to resume the job with an *Id* value of 4.
PS C:\> Resume-Job -Id 4

이 예제의 명령은 작업이 일시 중단된 워크플로 작업인지 확인한 다음 작업을 다시 시작합니다.

예제 2: 이름으로 작업 다시 시작

PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*

이 명령은 Name 매개 변수를 사용하여 로컬 컴퓨터에서 여러 워크플로 작업을 다시 시작합니다.

예제 3: 사용자 지정 속성 값 사용

PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended

이 명령은 사용자 지정 속성의 값을 사용하여 다시 시작할 워크플로 작업을 식별합니다. Filter 매개 변수를 사용하여 CustomID 속성으로 워크플로 작업을 식별합니다. 또한 State 매개 변수를 사용하여 워크플로 작업을 다시 시작하기 전에 일시 중단되었는지 확인합니다.

예제 4: 원격 컴퓨터에서 일시 중단된 모든 작업 다시 시작

PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}

이 명령은 Srv01 원격 컴퓨터에서 일시 중단된 모든 작업을 다시 시작합니다.

이 명령은 Invoke-Command cmdlet을 사용하여 Srv01 컴퓨터에서 명령을 실행합니다. 원격 명령은 Get-Job cmdlet의 State 매개 변수를 사용하여 컴퓨터에서 일시 중단된 모든 작업을 가져옵니다. 파이프라인 연산자(|)는 일시 중단된 작업을 다시 시작하는 Resume-Job cmdlet으로 보냅니다.

예제 5: 작업이 다시 시작될 때까지 기다립니다.

PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait

이 명령은 Wait 매개 변수를 사용하여 지정된 모든 작업이 다시 시작된 후에만 Resume-Job 반환하도록 지시합니다. Wait 매개 변수는 스크립트가 계속되기 전에 작업이 다시 시작된다고 가정하는 스크립트에서 특히 유용합니다.

예제 6: 자체를 일시 중단하는 워크플로 다시 시작

This code sample shows the **Suspend-Workflow** activity in a workflow.
#SampleWorkflow
Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}

The following command runs the Test-Suspend workflow on the Server01 computer.When you run the workflow, the workflow runs the Get-Date activity and stores the result in the $a variable. Then it runs the Suspend-Workflow activity. In response, it takes a checkpoint, suspends the workflow, and returns a workflow job object.  Suspend-Workflow returns a workflow job object even if the workflow is not explicitly run as a job.
PS C:\> Test-Suspend -PSComputerName Server01
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
8      Job8            PSWorkflowJob   Suspended     True            Server01             Test-Suspend

The following command resumes the Test-Suspend workflow in Job8. It uses the *Wait* parameter to hold the command prompt until the job is resumed.
PS C:\> Resume-Job -Name "Job8" -Wait
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command

--     ----            -------------   -----         -----------     --------             -------

8      Job8            PSWorkflowJob   Running       True            Server01             Test-Suspend

This command uses the **Receive-Job** cmdlet to get the results of the Test-Suspend workflow. The final command in the workflow returns a **TimeSpan** object that represents the elapsed time between the current date and time and the date and time that was saved in the $a variable before the workflow was suspended.
PS C:\> Receive-Job -Name Job8
        Days              : 0
        Hours             : 0
        Minutes           : 0
        Seconds           : 19
        Milliseconds      : 823
        Ticks             : 198230041
        TotalDays         : 0.000229432917824074
        TotalHours        : 0.00550639002777778
        TotalMinutes      : 0.330383401666667
        TotalSeconds      : 19.8230041
        TotalMilliseconds : 19823.0041
        PSComputerName    : Server01

Resume-Job cmdlet을 사용하면 Suspend-Workflow 작업을 사용하여 일시 중단된 워크플로 작업을 다시 시작할 수 있습니다. 이 활동은 워크플로 내에서 워크플로를 일시 중단합니다. 워크플로에서만 유효합니다.

Suspend-Workflow에 대한 자세한 내용은 about_Suspend-Workflow를 참조하세요.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

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

-Filter

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

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

-Id

이 cmdlet이 다시 시작하는 작업에 대한 ID 배열을 지정합니다.

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

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

-InstanceId

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

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

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

-Job

다시 시작될 작업을 지정합니다. 작업을 가져오는 명령이나 작업이 포함된 변수를 입력합니다. 작업을 Resume-Job cmdlet으로 파이프할 수도 있습니다.

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

-Name

이 cmdlet이 다시 시작하는 작업의 이름 배열을 지정합니다. 하나 이상의 작업 이름을 입력합니다. 와일드카드 문자가 허용됩니다.

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

-State

다시 시작할 작업의 상태를 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

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

이 cmdlet은 일시 중단된 상태의 작업만 다시 시작합니다.

작업 상태에 대한 자세한 내용은 MSDN 라이브러리의 JobState 열거형 참조하세요.

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

-Wait

이 cmdlet은 모든 작업 결과가 다시 시작될 때까지 명령 프롬프트를 표시하지 않음을 나타냅니다. 기본적으로 이 cmdlet은 사용 가능한 결과를 즉시 반환합니다.

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

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

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

입력

Job

모든 유형의 작업을 이 cmdlet으로 파이프할 수 있습니다. Resume-Job 지원되지 않는 형식의 작업을 가져오면 종료 오류가 반환됩니다.

출력

None, System.Management.Automation.Job

이 cmdlet은 PassThru 매개 변수를 사용하는 경우 다시 시작하려는 작업을 반환합니다. 그렇지 않으면 이 cmdlet은 출력을 생성하지 않습니다.

참고

  • 다시 시작 작업 일시 중단된 작업만 다시 시작할 수 있습니다. 다른 상태에서 작업을 제출하는 경우 Resume-Job 작업에서 다시 시작 작업을 실행하지만 작업을 다시 시작할 수 없음을 알리는 경고를 생성합니다. 경고를 표시하지 않으면 WarningAction 일반 매개 변수와 SilentlyContinue 값을 사용합니다.
  • 작업이 워크플로 작업(PSWorkflowJob)과 같이 다시 시작을 지원하는 형식이 아닌 경우 Resume-Job 종료 오류를 반환합니다.
  • 일시 중단된 작업을 저장하는 메커니즘 및 위치는 작업 유형에 따라 달라질 수 있습니다. 예를 들어 일시 중단된 워크플로 작업은 기본적으로 플랫 파일 저장소에 저장되지만 SQL 데이터베이스에도 저장할 수 있습니다.
  • 작업을 다시 시작하면 작업 상태가 일시 중단된실행변경됩니다. 이 cmdlet에서 다시 시작된 작업을 포함하여 실행 중인 작업을 찾으려면 Get-Job cmdlet의 State 매개 변수를 사용하여 실행 중인 상태에서 작업을 가져옵니다.
  • 일부 작업 유형에는 Windows PowerShell이 작업을 일시 중단하지 못하도록 하는 옵션 또는 속성이 있습니다. 작업 일시 중단 시도가 실패하는 경우 작업 옵션 및 속성이 일시 중단을 허용하는지 확인합니다.