about_Suspend-Workflow
업데이트 날짜: 2014년 5월
적용 대상: Windows PowerShell 4.0, Windows PowerShell 5.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)(영문)