Windows PowerShell 워크플로 소개

 

적용 대상: Windows Server 2012, Windows Server 2012 R2

IT 전문가는 흔히 장기 실행 작업의 시퀀스 또는 워크플로를 실행하여 다중 장치 환경 관리를 자동화하는데, 이렇게 하면 관리되는 여러 컴퓨터 또는 장치에 동시에 영향을 줄 수 있습니다.Windows PowerShell 워크플로를 통해 IT 전문가와 개발자는 Windows PowerShell의 자동화 기능 및 편의성이라는 Windows Workflow Foundation의 이점을 활용할 수 있습니다.Windows PowerShell 워크플로의 기능은 Windows Server® 2012 및 Windows 8에서 도입되었으며 Windows PowerShell 3.0 및 새 버전의 Windows PowerShell에 포함되어 있습니다.Windows PowerShell 워크플로는 다중 장치 작업의 분산, 오케스트레이션 및 완료 작업을 자동화할 수 있도록 하여 사용자와 관리자가 높은 수준의 작업에 집중할 수 있도록 합니다.

Windows Vista 및 Windows Server 2008의 릴리스에 처음 도입된 Windows PowerShell은 Microsoft® .NET Framework에 생성된 스크립트 언어, 분산된 자동화 엔진 및 명령줄 셸입니다. 특히 Windows 관리 자동화를 위해 설계되었습니다.

Windows PowerShell 워크플로는 Windows PowerShell 3.0 및 Windows PowerShell 4.0의 주요 기능입니다.Windows PowerShell에 대한 자세한 내용은 Windows PowerShell의 새로운 기능을 참조하세요.

이 항목의 내용은 다음과 같습니다.

  • Windows PowerShell 워크플로 개요

  • Windows PowerShell 워크플로와 Windows PowerShell 스크립트의 차이점

  • Visual Studio Workflow Designer를 사용하여 워크플로 만들기 및 가져오기

Windows PowerShell 워크플로 개요

워크플로는 장기 실행 작업을 수행하거나 여러 장치 또는 관리되는 노드 사이에서 여러 단계를 조정해야 하는 프로그래밍 방식의 연결된 단계의 시퀀스입니다.Windows PowerShell 워크플로를 통해 IT 전문가와 개발자는 다중 장치 관리 활동 또는 워크플로 내 단일 작업의 시퀀스를 워크플로로 작성할 수 있습니다. 기본적으로 워크플로는 장기 실행, 반복, 빈번, 병렬화, 인터럽트, 중지, 다시 시작이 가능합니다. 일시 중단했다가 다시 시작할 수 있고 네트워크 중단 또는 컴퓨터 다시 시작과 같은 예기치 않은 인터럽트 후에도 계속 할 수 있습니다.

Windows PowerShell 구문이나 XAML 파일을 사용하여 Windows PowerShell 워크플로를 작성하거나 정의할 수 있습니다.Windows PowerShell 스크립트 기반 워크플로 작성에 대한 자세한 내용은 스크립트 워크플로 작성을 참조하세요. XAML 기반 워크플로에 대한 자세한 내용은 이 항목의 Visual Studio Workflow Designer를 사용하여 워크플로 만들기 및 가져오기를 참조하세요.

위임된 IT 전문가나 하위 IT 전문가는 Windows PowerShell의 RunAs 기능을 사용하여 사용자 지정 세션 구성을 통해 워크플로 내의 워크플로나 활동을 실행할 수 있습니다.

활동

활동이란 워크플로가 수행해야 하는 특정 작업을 의미합니다. 스크립트가 하나 이상의 명령으로 구성된 것처럼 워크플로도 시퀀스에서 수행되는 하나 이상의 활동으로 구성됩니다. 또한 스크립트는 다른 스크립트에서 단일 명령으로 사용될 수 있고 워크플로는 다른 워크플로에서 하나의 활동으로 사용될 수 있습니다.

Windows PowerShell 워크플로의 이점

다음 목록에서는 Windows PowerShell 워크플로의 여러 가지 이점에 대해 설명합니다.

  • Windows PowerShell 스크립팅 구문 사용

    IT 전문가는 Windows PowerShell 스크립팅 기술을 사용하여 확장 가능한 Windows PowerShell 언어로 스크립트 기반 워크플로를 작성할 수 있습니다.Windows PowerShell 스크립트 기반 워크플로는 쓰기가 쉽고 메일에 붙이거나 웹 페이지에 게시하여 쉽게 공유할 수 있습니다.

  • 다중 장치 관리

    워크플로 작업을 수백 개의 관리되는 노드에 동시에 적용할 수 있습니다.Windows PowerShell 워크플로는 PSComputerName 등의 일반 매개 변수를 워크플로에 자동으로 추가하여 다중 장치 관리 시나리오를 가능하게 합니다. 워크플로용으로 예약된 매개 변수에 대한 자세한 내용은 워크플로 작성 참조 항목의 “워크플로에 예약된 단어”를 참조하세요.

  • 복잡한 종단 간 프로세스를 관리하는 단일 작업 실행

    전체 시나리오에서 작동하는 관련 스크립트나 명령을 단일 워크플로로 결합할 수 있습니다. 워크플로 내 활동 상태와 진행률을 언제든지 볼 수 있습니다.

  • 자동화된 오류 복구

    워크플로는 컴퓨터 다시 시작 등 계획된 중단과 계획되지 않은 중단 둘 다에서 지속됩니다. 워크플로 작업을 일시 중단한 다음 워크플로가 일시 중단된 지점부터 다시 시작할 수 있습니다. 워크플로의 일부로 검사점을 작성하여 해당 워크플로를 처음부터 다시 시작하는 대신 마지막으로 지속되었던 작업(또는 검사점)부터 다시 시작할 수 있습니다.

  • 연결 및 활동 다시 시도

    워크플로 사용자는 네트워크 연결 오류가 발생한 경우 워크플로 일반 매개 변수를 사용하여 관리되는 노드에 연결을 다시 시도할 수 있습니다. 또한 워크플로 작성자는 하나 이상의 관리되는 노드에서 활동이 완료되지 않은 경우(예: 활동이 실행되는 동안 대상 컴퓨터가 오프라인 상태로 됨) 다시 실행해야 하는 활동을 지정할 수 있습니다.

  • 연결 및 연결 끊기

    사용자는 워크플로가 실행되는 컴퓨터에 연결하거나 연결을 끊을 수 있지만 워크플로는 실행 상태로 유지됩니다. 예를 들어 서로 다른 두 개의 컴퓨터에서 워크플로를 실행하고 워크플로를 관리하고 있는 경우 워크플로를 관리하고 있는 컴퓨터에서 로그오프하거나 다시 시작해도 워크플로 중단 없이 다른 컴퓨터(가정용 컴퓨터 등)에서 워크플로 작업을 모니터링할 수 있습니다.

  • 작업 예약

    워크플로 작업은 다른 Windows PowerShell cmdlet 또는 스크립트와 마찬가지로 예약할 수 있고 특정 조건이 충족되면 시작할 수 있습니다.

Windows PowerShell 워크플로와 Windows PowerShell 스크립트의 차이점

스크립트에서 전체 스크립트는 동일한 runspace(사용할 수 있는 명령, 변수 및 기타 요소를 정의하는 운영 환경)에서 실행됩니다. 워크플로에서 워크플로 내의 각 활동은 서로 다른 runspace에서 실행할 수 있습니다. 전체 워크플로의 최상위 수준에서 만들어진 변수는 워크플로 전체에서 사용할 수 있습니다. 변수가 스크립트 또는 명령 수준에서 만들어진 경우에는 해당 명령이나 스크립트에는 사용할 수 있지만 전체 워크플로에는 사용할 수 없습니다.

일반적으로 다음 요구 사항 중 하나를 충족시켜야 하는 경우 cmdlet 또는 스크립트 대신 워크플로 사용을 고려해야 합니다.

  • 시퀀스에서 여러 단계를 결합하는 장기 실행 작업을 수행해야 합니다.

  • 여러 장치에서 실행되는 작업을 수행해야 합니다.

  • 검사점 설정 또는 지속성이 필요한 작업을 수행해야 합니다.

  • 비동기, 재시작, 병렬화 또는 인터럽트 가능한 장기 실행 작업을 수행해야 합니다.

  • 대규모 또는 잠재적으로 제한과 연결 풀링을 필요로 하는 고가용성 환경에서 작업을 실행해야 합니다.

Visual Studio Workflow Designer를 사용하여 워크플로 만들기 및 가져오기

Windows PowerShell 스크립트를 사용하는 워크플로를 작성하는 것 외에 Visual Studio Workflow Designer를 사용하여 워크플로를 작성할 수 있습니다. Visual Studio Workflow Designer에서 작성한 워크플로에는 XAML 파일 이름 확장명이 있습니다. Workflow Designer에서 작성한 Windows PowerShell 워크플로에서 워크플로를 호출 및 가져올 수 있고 Workflow Designer 내에서 Windows PowerShell cmdlet을 활동으로 공개할 수 있습니다.

Visual Studio Workflow Designer에서 워크플로 작성하는 방법에 대한 자세한 내용은 MSDN의 Visual Studio 설명서에 있는 Workflow Designer 사용을 참조하세요.

Visual Studio Workflow Designer에서 Windows PowerShell Workflow 활동

Windows PowerShell은 대부분의 Windows PowerShell cmdlet에 대한 기본 제공 활동을 포함합니다. 이러한 활동은 해당 cmdlet을 포함하는 Windows PowerShell 모듈 이름과 일치하는 이름으로 어셈블리에 패키지에 포함되어 있습니다. 다음은 GAC(전역 어셈블리 캐시)에 설치된 Windows PowerShell 활동 어셈블리의 목록입니다.

  • Microsoft.PowerShell.Activities

  • Microsoft.PowerShell.Core.Activities

  • Microsoft.PowerShell.Diagnostics.Activities

  • Microsoft.PowerShell.Management.Activities

  • Microsoft.PowerShell.Security.Activities

  • Microsoft.PowerShell.Utility.Activities

  • Microsoft.WSMan.Management.Activities

어셈블리에서 도구 상자에 활동 추가에 대한 자세한 내용은 방법: 도구 상자에 활동 추가를 참조하세요.

참고 항목

워크플로 환경 구성
Windows PowerShell 워크플로 실행
스크립트 워크플로 작성
Windows Workflow Foundation 4.0의 새로운 기능
about_Jobs
about_Workflow_Common_Parameters
about_Workflows