about_Suspend-Workflow

업데이트 날짜: 2014년 5월

적용 대상: Windows PowerShell 4.0

항목

about_Suspend-Workflow

간단한 설명

활동이 표시되는 워크플로를 일시 중단하는 Suspend-Workflow 활동에 대해 설명합니다.

자세한 설명

Suspend-Workflow 활동은 워크플로 내에서 워크플로 처리를 일시적으로 중지합니다. Windows PowerShell® 워크플로는 일시 중단하기 전에 검사점을 만들어 워크플로의 상태 및 데이터가 유지되고 워크플로가 일시 중단 지점부터 다시 시작될 수 있도록 합니다.

워크플로를 다시 시작하기 위해 워크플로를 실행하는 사용자는 Resume-Job cmdlet을 사용합니다. 워크플로 내에서는 워크플로를 다시 시작할 수 없습니다.

구문

    workflow <Verb-Noun>
    {
        Suspend-Workflow
    }
    

자세한 설명

Suspend-Workflow는 워크플로를 일시적으로 중지하고 워크플로 작업을 나타내는 작업 개체를 반환합니다. AsJob 워크플로 일반 매개 변수를 사용하는 경우처럼 작업 개체는 워크플로를 작업으로 실행하지 않은 경우에도 반환됩니다. 작업 상태는 Suspended입니다.

Job cmdlet을 사용하여 일시 중단된 워크플로 작업을 관리할 수 있습니다. 워크플로 작업을 다시 시작하려면 Resume-Job cmdlet을 사용합니다.

워크플로 작업을 다시 시작하면 워크플로가 Suspend-Workflow 활동 다음에 오는 명령에서 다시 시작됩니다.

예를 들어 다음 워크플로에는 Suspend-Workflow 활동이 포함됩니다. 워크플로를 실행하면 Get-Date 활동을 실행하고 해당 출력을 $a 변수에 저장한 다음 워크플로를 일시 중단하고 일시 중단된 워크플로를 나타내는 작업 개체를 반환합니다. 작업 유형은 PSWorkflowJob입니다.

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

        PS C:\>Test-Suspend

        Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                  
        --     ----            -------------   -----         -----------     --------             -------                  
        8      Job8            PSWorkflowJob   Suspended     True            localhost            Test-Suspend      

Get-Job과 같은 Job cmdlet을 사용하여 워크플로 작업을 관리할 수 있습니다.

워크플로 작업 다시 시작

워크플로 작업을 다시 시작하려면 Resume-Job cmdlet을 사용합니다. Resume-Job cmdlet은 작업이 아직 다시 시작되지 않은 경우에도 즉시 워크플로 작업 개체를 반환합니다. 작업이 다시 시작될 때까지 대기하려면 Wait 매개 변수를 사용하거나 Get-Job cmdlet을 사용하여 현재 작업 개체를 가져옵니다.

        PS C:\>Resume-Job -Name Job8

        Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                  
        --     ----            -------------   -----         -----------     --------             -------                  
        8      Job8            PSWorkflowJob   Suspended     True            localhost            Test-Suspend      


        PS C:\>Get-Job -Name Job8

        Id     Name            PSJobTypeName   State         HasMoreData     Location             Command                  
        --     ----            -------------   -----         -----------     --------             -------                  
        8      Job8            PSWorkflowJob   Completed     True            localhost            Test-Suspend      

워크플로 작업의 출력 가져오기

워크플로 작업의 출력을 가져오려면 Receive-Job cmdlet을 사용합니다. 출력에서는 워크플로가 Suspend-Workflow cmdlet 다음에 오는 명령에서 다시 시작되었음을 보여 줍니다. 일시 중단 전에 채워진 $a 변수의 값은 워크플로가 다시 시작될 때 워크플로에서 사용할 수 있습니다.

        PS C:\>Get-Job -Name Job8 | Receive-Job

        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    : localhost 

참고 항목

about_Workflows

Windows PowerShell 워크플로 시작(https://go.microsoft.com/fwlink/?LinkID=252592)(영문)