Resume-Job

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

Syntax

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

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

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

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

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

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

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

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

예제

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

이 예제의 명령은 작업이 일시 중단된 워크플로 작업인지 확인한 다음 작업을 다시 시작합니다. 첫 번째 명령은 cmdlet을 Get-Job 사용하여 작업을 가져옵니다. 출력은 작업이 일시 중단된 워크플로 작업임을 보여줍니다. 두 번째 명령은 cmdlet의 Resume-Job Id 매개 변수를 사용하여 ID 값이 4인 작업을 다시 시작합니다.

PS C:\> Get-Job EventJob
Id     Name            PSJobTypeName   State         HasMoreData     Location   Command
--     ----            -------------   -----         -----------     --------   -------
4      EventJob        PSWorkflowJob   Suspended     True            Server01   \\Script\Share\Event.ps1

PS C:\> Resume-Job -Id 4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

이 코드 샘플은 워크플로의 Suspend-Workflow 활동을 보여줍니다.

Test-Suspend Server01 컴퓨터의 워크플로입니다. 워크플로를 실행하면 워크플로가 Get-Date 활동을 실행하고 결과를 변수에 $a 저장합니다. 그런 다음 활동을 실행합니다 Suspend-Workflow . 이에 대한 응답으로 검사point를 사용하고, 워크플로를 일시 중단하고, 워크플로 작업 개체를 반환합니다. Suspend-Workflow 는 워크플로가 명시적으로 작업으로 실행되지 않더라도 워크플로 작업 개체를 반환합니다.

Resume-Job 는 Job8에서 워크플로를 Test-Suspend 다시 시작합니다. Wait 매개 변수를 사용하여 작업이 다시 시작될 때까지 명령 프롬프트를 유지합니다.

cmdlet은 Receive-Job 워크플로의 Test-Suspend 결과를 가져옵니다. 워크플로의 마지막 명령은 현재 날짜와 시간 사이의 경과된 시간과 워크플로가 일시 중단되기 전에 변수에 $a 저장된 날짜와 시간을 나타내는 TimeSpan 개체를 반환합니다.

#SampleWorkflow
Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}

PS C:\> Test-Suspend -PSComputerName Server01
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
8      Job8            PSWorkflowJob   Suspended     True            Server01             Test-Suspend

PS C:\> Resume-Job -Name "Job8" -Wait
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
8      Job8            PSWorkflowJob   Running       True            Server01             Test-Suspend

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

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

자세한 Suspend-Workflow내용은 about_Suspend-Workflow](.를 참조하세요. /PSWorkflow/about/about_Suspend-Workflow.md).

매개 변수

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Filter

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

Type:Hashtable
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Id

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

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

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
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

-Job

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

Type:Job[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

이 cmdlet이 다시 시작하는 작업의 이름 배열을 지정합니다. 하나 이상의 작업 이름을 입력합니다. 와일드카드 문자를 사용할 수 있습니다.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-State

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

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

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

작업 상태에 대한 자세한 내용은 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

-Wait

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

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

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

Job

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

출력

None, System.Management.Automation.Job

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

참고

Windows PowerShell에는 다음 별칭이 포함됩니다.Resume-Job

  • rujb

  • Resume-Job 는 일시 중단된 작업만 다시 시작할 수 있습니다. 다른 상태로 Resume-Job 작업을 제출하는 경우 작업에서 다시 시작 작업을 실행하지만 작업을 다시 시작할 수 없음을 알리는 경고를 생성합니다. 경고를 표시하지 않으면 SilentlyContinue 값과 함께 WarningAction 공통 매개 변수를 사용합니다.

  • 작업이 워크플로 작업(PSWorkflowJob)Resume-Job과 같이 다시 실행을 지원하는 형식이 아닌 경우 종료 오류를 반환합니다.

  • 일시 중단된 작업을 저장하는 메커니즘과 위치는 작업 유형에 따라 달라질 수 있습니다. 예를 들어 일시 중단된 워크플로 작업은 기본적으로 플랫 파일 저장소에 저장되지만 SQL 데이터베이스에도 저장할 수 있습니다.

  • 작업을 다시 시작하면 작업 상태가 일시 중단됨에서 실행 중으로 변경됩니다. 이 cmdlet에서 다시 시작된 작업을 포함하여 실행 중인 작업을 찾으려면 cmdlet의 Get-Job 상태 매개 변수를 사용하여 실행 중인 상태에서 작업을 가져옵니다.

  • 일부 작업 유형에는 Windows PowerShell이 작업을 일시 중단하지 못하도록 하는 옵션 또는 속성이 있습니다. 작업 일시 중단 시도가 실패하는 경우 작업 옵션 및 속성이 일시 중단을 허용하는지 확인합니다.