“웹 주문 양식이나 메일로 도착한 주문을, 담당자가 매일 사내 판매관리 시스템에 손으로 다시 입력하고 있다”, “근태나 신청서 Excel을 월말에 한꺼번에 기간계 시스템으로 전기하는 데 꼬박 이틀이 걸린다”. 이런 상담을 자주 받습니다. 공통점은 전기 대상이 10년, 20년 동안 사용해 온 오래된 업무 시스템(WinForms나 VB6 시대의 화면, 전용 클라이언트)이며, API도 CSV 가져오기 기능도 없다는 것입니다.
시스템을 개수하면 근본적으로 해결되지만, 벤더가 이미 없다, 소스 코드가 없다, 개수 비용이 맞지 않는다는 이유로 수작업 입력이 계속되는 사례는 드물지 않습니다. 이 틈을 메우는 현실적인 도구가 Power Automate for desktop(PAD)에 의한 UI 자동화입니다. 사람이 하는 키보드 입력과 마우스 조작을 그대로 재현하므로, 전기 대상 시스템에 손을 대지 않고도 자동화할 수 있습니다. Windows 11이라면 추가 설치 없이 바로 시도해 볼 수 있는 손쉬움도 있습니다.
다만 UI 자동화는 「처음 동작시키는 것은 쉽지만, 안정적으로 계속 동작시키는 것은 어렵다」는 도구이기도 합니다. 이 글에서는 전기 업무로 범위를 좁혀, 애초에 UI 자동화를 선택해야 하는지에 대한 판단부터, 무료로 사용할 수 있는 범위와 라이선스의 경계, 안정 가동을 위한 설계, 실패 시 복구까지를 정리합니다. Power Automate 전체의 구분 사용이나 오류 처리에 관한 일반론은 「Power Automate로 업무 자동화하기 ── 클라우드 플로우・데스크톱 플로우 구분과 오류 처리 설계」에서 다뤘으므로, 이 글은 전기 업무에 관한 각론입니다.
1. 먼저 결론
- UI 자동화는 최후의 수단입니다. 전기 대상에 CSV 가져오기・데이터베이스 직접 등록・API・파일 연계 창구가 없는지 먼저 찾아봅니다. 하나라도 있다면 그쪽이 확실히 더 안정적입니다.
- PAD는 Windows 11에 표준으로 내장되어 있으며, Windows 10에서도 무료로 설치할 수 있습니다. 레코더와 400개 이상의 액션을 이용하면, Excel을 읽어 화면에 입력하는 전기 플로우는 노코드로 구성할 수 있습니다.12
- 플로우를 만들어 직접 실행(유인 실행)하는 것만이라면 추가 비용은 들지 않습니다. 직장・학교 계정이든 Microsoft 계정이든 마찬가지입니다. 한편 클라우드 플로우에서의 자동 시작・예약 실행・플로우 공유에는 Power Automate Premium 라이선스가 필요합니다.34
- 야간 배치와 같은 무인 실행(unattended)에는 여기에 더해 머신 등록과 Power Automate Process 라이선스가 필요합니다. 기술적으로도 「모든 사용자가 로그아웃되어 있을 것」과 같은 고유의 전제 조건이 있습니다.56
- 안정 가동의 핵심은 셀렉터를 만드는 방식・요소 대기・1건 단위의 예외 처리, 이 3가지입니다. 고정된 Wait를 나열한 플로우는 언젠가 반드시 깨집니다.789
- 실패 시 「어디까지 입력되었는지」를 알 수 있도록, 입력 원본 Excel에 상태 열과 등록 번호 열을 두고, 1건마다 다시 써넣는 설계를 처음부터 넣어 둡니다. 이렇게 하면 재실행해도 이중 입력이 일어나지 않습니다.
- 화면 변경으로 깨지는 숙명은 사라지지 않으므로, 건수가 많다・멈출 수 없다・대상 앱의 업데이트가 잦다는 업무는 데이터 연계 개발이나 기간계 시스템 개수의 영역입니다. 선긋기는 8장에서 정리합니다.
2. 전기 작업의 무엇이 문제인가
Excel이나 종이에서 기간계 시스템으로의 전기는, 「단순 작업에 시간을 빼앗긴다」는 것 이상의 문제를 안고 있습니다. 상담을 받다 보면 공통적으로 나타나는 것은 다음 3가지입니다.
- 시간이 마감일에 집중된다. 매일 하는 수주 입력이라면 그나마 분산되지만, 월말 마감 청구 처리나 근태 집계는 마감일 직후 1~2일에 전기가 집중됩니다. 그 기간 담당자는 다른 업무를 거의 할 수 없습니다. 야근이나 지원 인력으로 흡수하고 있는 회사가 많을 것입니다.
- 입력 실수가 하류까지 흘러간다. 자릿수 오타, 행 밀림, 상품 코드 착오. 전기 실수는 청구서나 재고 수량으로 둔갑한 뒤에야 발각되므로, 원인 조사와 정정에 드는 수고는 입력 실수 자체의 몇 배가 됩니다. 이중 확인을 끼우면 실수는 줄지만, 그만큼 시간은 늘어납니다.
- 그 사람만 할 수 있는 작업이 된다. 「이 화면은 이 순서로 입력하지 않으면 오류가 난다」, 「이 거래처만은 특수한 방식으로 입력한다」와 같은 노하우가 담당자의 머릿속에 쌓여, 그 사람이 쉬면 업무가 멈춥니다.
자동화의 가치는 시간 단축만이 아닙니다. 플로우는 정해진 대로만 입력하므로 전기 실수가 사라지고, 절차가 플로우라는 형태로 남으므로 담당자 의존도 완화됩니다. 마감일의 업무 산을 평평하게 만들 수 있다는 점도 큽니다.
참고로 전기 원본이 종이나 FAX인 경우에는, 그 앞 단계에 「읽어들이기」 공정이 필요합니다. FAX 주문서의 OCR에 대해서는 함께 공개한 「FAX 주문서를 AI Builder로 읽어들여 Power Automate로 처리하기」에서 다루고 있으므로, 이 글에서는 전기 원본이 「Excel 등의 데이터로 되어 있다」는 전제로 진행합니다.
3. 자동화 수단의 선택지 ── UI 자동화는 최후의 수단
가장 먼저 강조하고 싶은 것은, 화면 조작 자동화(UI 자동화)는 선택지의 맨 마지막이라는 점입니다. UI 자동화는 화면 레이아웃이나 해상도, 응답 속도와 같은 「표시상의 사정」에 의존하기 때문에, 아무리 정성껏 만들어도 데이터를 직접 주고받는 방식보다 깨지기 쉬운 것은 피할 수 없습니다. 전기 대상 기간계 시스템에 다음과 같은 창구가 없는지 먼저 확인합니다.
| 연계 수단 | 확인할 것 | 안정성 | 비고 |
|---|---|---|---|
| CSV・고정 길이 파일 가져오기 기능 | 메뉴 안쪽에 「외부 데이터 가져오기」, 「일괄 등록」이 없는지. 벤더의 매뉴얼・지원에 확인 | 높음 | 오래된 업무 시스템에도 의외로 갖춰져 있는 경우가 많음. 가져오기 파일 생성은 PAD나 PowerShell로 자동화할 수 있음 |
| 데이터베이스 직접 등록 | DB 종류와 접속 정보를 알 수 있는지. 벤더의 유지보수 계약상 직접 쓰기가 허용되는지 | 높음 | 업무 로직(채번・정합성 검사)을 우회할 위험이 있으므로, 조회는 직접・갱신은 신중하게. 검증 필요 |
| API・연계 미들웨어 | 최신 버전 패키지라면 연계 옵션이 없는지 | 높음 | 옵션 비용과 저울질 |
| 파일 연계(감시 폴더) | 지정 폴더에 둔 파일을 가져오는 구조가 없는지 | 높음 | 장표 시스템이나 창고 시스템에서 흔한 형태 |
| UI 자동화(PAD) | 위의 어느 것도 없는 경우 | 중간 | 화면에 손을 대지 않아도 되는 유일한 방법. 이 글의 주제 |
또 하나의 선택지는 전기를 「없애는」 방향, 즉 기간계 시스템 쪽의 개수나 재구축입니다. VB6 앱에 가져오기 기능을 추가하거나, 웹화하여 수주 입구부터 다시 만드는 판단에 대해서는 「VB6 애플리케이션은 언제까지 동작할까 ── 런타임 지원 현황과 현실적인 .NET 이전 진행 방법」과 「Windows 앱의 웹 전환, 하지 않는 편이 나은 경우 ── 판단표와 ‘분할’이라는 현실적 해법」에서 정리하고 있습니다. 개수에는 개발비가 들기 때문에, 먼저 PAD로 자동화하여 시간을 벌고, 업무량이 늘어나 한계가 보이면 개수에 투자한다는 순서도 현실적입니다.
4. Power Automate for desktop의 기본
도입 문턱은 낮다
PAD는 Windows 11에 표준으로 내장되어 있습니다. 시작 메뉴에서 「Power Automate」를 검색하면 앱을 찾을 수 있고, 처음 실행할 때 자동으로 다운로드되어 바로 사용을 시작할 수 있습니다.2 Windows 10이나 Windows Server 2016에서도 이용 권한이 있어, 다운로드 센터에서 무료로 설치할 수 있습니다.2 설치 방식에는 Microsoft Store 버전과 MSI 인스톨러 버전이 있으며, 뒤에서 다룰 클라우드 연계(머신 등록)까지 염두에 둔다면 머신 런타임 앱을 함께 설치할 수 있는 MSI 버전을 선택합니다.10
레코더로 뼈대를 만든다
PAD에는 조작을 기록해 액션 열로 변환하는 레코더가 있습니다. 마우스와 키보드 조작을 UI 요소와의 관계로 기록해 주므로, 전기 플로우의 뼈대를 만드는 데는 충분히 실용적입니다. 여기서 전기 업무에 효과적인 것이, 기록 방식으로 UIA(UI Automation)와 MSAA(Microsoft Active Accessibility) 중 하나를 고를 수 있다는 점입니다. UIA는 WPF・WinForms 등 비교적 최신 앱을 위한 권장 방식이고, MSAA는 VB6나 클래식 Win32처럼 UIA로 요소를 가져올 수 없는 오래된 앱을 위한 방식입니다. 오래된 기간계 시스템 화면에서 요소가 잘 잡히지 않을 때는, 레코더의 기록 모드를 MSAA로 전환하면 잡히는 경우가 있습니다.11
다만 레코더는 어디까지나 뼈대용입니다. 조건 분기나 루프는 기록할 수 없으므로, 기록 후 디자이너에서 편집하여 완성하는 것이 전제입니다.11
UI 요소와 셀렉터
PAD는 화면 위의 버튼이나 텍스트 상자를 「UI 요소」로 기억합니다. 실체는 창 계층과 속성의 조합으로 요소를 특정하는 셀렉터입니다. 전기 플로우의 수명은 거의 이 셀렉터를 만드는 방식으로 결정됩니다. 연번 인덱스나 동적으로 변하는 ID가 셀렉터에 포함되어 있으면, 겉보기는 같은 화면이라도 어느 날 갑자기 잡을 수 없게 됩니다.
셀렉터는 >로 계층(부모-자식 관계)을 나타내고, 각 요소를 요소[속성="값"]의 형태로 씁니다. 예를 들어 메모장 창이라면 :desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"]와 같은 형태입니다.7 레코더가 자동 생성한 셀렉터는 이 「값」을 화면에 표시되어 있던 그대로의 문자열로 고정하기 때문에, 다음과 같은 방식으로 깨집니다.
| 깨지기 쉬운 셀렉터 | 무슨 일이 일어나는가 | 고치는 방법 |
|---|---|---|
window[Name="受注入力 - 2026/07/18"]처럼, 날짜나 건수를 포함한 제목을 완전 일치로 지정하고 있다 |
날짜가 바뀐 다음 날, 같은 화면인데도 일치하지 않게 된다 | 속성 Name의 연산자를 「Equal to」에서 Contains로 바꾸고, 값을 제목의 앞부분만 남긴다 |
pane > pane > pane > edit처럼, 그릇(페인)의 계층을 깊게 고정하고 있다 |
화면에 테두리가 하나 추가되기만 해도 계층이 어긋나 잡을 수 없게 된다 | 중간 계층을 비활성화하고, 안정적인 부모 창과 대상 요소만 남긴다 |
| 형제 요소의 나열 순서(3번째 Edit 등)에 의존하고 있다 | 입력 항목이 하나 늘거나 줄기만 해도, 옆 칸에 입력해버린다 | 순서가 아니라 Id(AutomationId) 등 요소 고유의 속성으로 특정한다. 가져올 수 없는 경우에는 MSAA로 다시 가져오는 것도 시도한다 |
edit[Name="得意先: 山田商事"]처럼, 데이터에서 유래한 문자열을 완전 일치로 지정하고 있다 |
거래처가 바뀔 때마다 실패한다 | 바뀌는 부분을 PAD의 변수(%CustomerName%)로 치환하거나, Regular expression match를 사용한다 |
셀렉터 편집 화면에서 사용할 수 있는 연산자는 Equal to / Not equal to / Contains / Starts with / Ends with / Regular expression match, 이렇게 6가지입니다(정규식 방언은 .NET). 다만 비주얼 에디터에서 변수를 사용할 수 있는 것은 「Equal to」일 때뿐이므로, 「변수로 일부를 치환한다」와 「Contains로 부분 일치로 만든다」는 서로 배타적이라고 생각해 둡니다.7
이를 바탕으로, 중요한 조작에는 예비 셀렉터를 등록합니다. 하나의 UI 요소에는 여러 셀렉터를 가지게 할 수 있으며, 위에서부터 순서대로 시도하다 실패하면 다음 셀렉터로 폴백합니다. 깨졌을 때는 Repair selector 기능으로 복구 후보를 생성할 수 있습니다. 이 사고방식 자체는 전체 가이드에서도 다뤘지만, 전기 플로우에서는 수명과 직결되므로 본문에서 구체적인 예시까지 제시했습니다.7
한 가지, 전기 업무만의 주의점이 있습니다. UI 자동화 액션은 대상 창이 맨 앞에 있는 것을 전제로 동작하며, 맨 앞에 없으면 자동으로 맨 앞으로 가져옵니다.12 즉 실행 중인 PC는 기본적으로 「플로우가 전세 낸 상태」입니다. 담당자가 같은 PC에서 다른 작업을 하면서 흘려보내는 운용은 오클릭이나 오입력의 원인이 되므로 피합니다.
전기의 기본 구성: Excel에서 읽어 화면에 쓴다
전기 플로우의 기본형은 「Excel 액션으로 읽기 → 루프로 1건씩 UI 조작으로 쓰기」입니다. Launch Excel로 파일을 열고, Read from Excel worksheet로 범위를 읽으면 데이터 테이블 변수가 됩니다. 「첫 행을 열 이름으로 사용」 옵션을 켜 두면, 이후 루프에서 CurrentItem['得意先コード']처럼 열 이름으로 값을 참조할 수 있어 열 순서 변경에 강해집니다.13 결과를 다시 써넣을 때는 Write to Excel worksheet를 사용합니다. 행 끝에 추가하고 싶은 경우에는 Get first free row on column으로 빈 행을 찾을 수 있습니다.13
5. 무료로 사용할 수 있는 범위와 라이선스의 경계
PAD 도입을 판단할 때 반드시 나오는 질문이 「어디까지 무료이고 어디부터 유료인가」입니다. 경계는 「만든다・직접 실행한다」와 「자동으로 실행한다・조직에서 관리한다」 사이에 있습니다.
| 할 수 있는 일 | Microsoft 계정 | 직장・학교 계정(추가 라이선스 없음) | Power Automate Premium |
|---|---|---|---|
| 플로우 작성・레코더・400개 이상의 액션・예외 처리 | ○ | ○ | ○ |
| 플로우 저장 위치 | OneDrive(개인) | 기본 환경의 Dataverse | 여러 환경의 Dataverse |
| PAD 콘솔에서 수동 실행(유인 실행) | ○ | ○ | ○ |
| 클라우드 플로우에서의 시작(예약・이벤트 시작) | × | × | ○ |
| 플로우 공유・실행 로그의 중앙 관리 | × | × | ○ |
작성과 수동 실행은 어떤 계정이든 추가 비용이 없습니다.34 Microsoft 계정의 경우 플로우가 OneDrive에 저장되고, 직장・학교 계정의 경우 기본 환경의 Dataverse에 저장됩니다. 회사에서 사용한다면, 이후의 관리를 생각해 직장 계정으로 시작하는 것이 기본입니다.4
경계를 넘는 것은 「사람이 버튼을 누르지 않아도 동작하도록」 만들고 싶어질 때입니다. 데스크톱 플로우를 정해진 시각이나 이벤트로 시작하려면 클라우드 플로우에서 호출하는 구성으로 만들어야 하며, 여기에는 다음 준비가 필요합니다.14
- 머신 등록: 실행할 PC를 Power Automate 클라우드에 등록합니다. MSI 버전에 포함된 머신 런타임 앱에서 로그인하면 등록됩니다. 참고로 Windows 10/11의 Home 에디션은 이 직접 연결을 지원하지 않습니다.10
- 데스크톱 플로우 연결: 클라우드 플로우가 해당 머신에 로그인하기 위한 연결(Windows 계정의 자격 증명)을 만듭니다.14
- 라이선스: 연결을 생성하는 사용자가 실행 형태에 맞는 라이선스를 가지고 있어야 합니다.14 사람이 로그인한 PC에서 동작시키는 유인 실행(attended)이라면 Power Automate Premium(attended RPA 권한을 포함한 사용자 라이선스)이 필요합니다.106
- 무인 실행(unattended)에는 여기에 더해 Power Automate Process 라이선스를 머신에 할당합니다. Process 라이선스는 사용자가 아니라 머신(또는 플로우)에 붙는 라이선스로, 머신 1대당 하나의 무인 실행 슬롯(무인 봇)을 얻을 수 있습니다. 주의할 점으로, Process 라이선스를 할당하는 머신은 Premium 라이선스를 가진 사용자가 이미 등록해 두었어야 한다는 전제가 있습니다. 즉 Process만 구매해도 Premium 사용자가 없으면 구성할 수 없습니다.56
머신 등록과 데스크톱 플로우 연결 절차
여기가 도입 과정에서 가장 걸리기 쉬운 부분이므로, 조작 순서와 항목명을 정리해 둡니다(항목명은 영어판 라벨을 함께 표기합니다).
- 머신 런타임 앱을 설치한다. PAD를 MSI 인스톨러로 설치할 때, 설치 화면의 「Power Automate 클라우드 포털에 연결하기 위한 머신 런타임 앱 설치(Install the machine-runtime app to connect to the Power Automate cloud portal)」에 체크합니다.10
- 로그인하여 등록한다. 시작 메뉴에서 「Power Automate machine runtime」을 실행하여 로그인하면, 그 시점에 선택되어 있는 환경에 머신이 자동으로 등록됩니다. 미등록 상태라면 실행 환경을 선택하라는 안내가 나옵니다. 등록이 끝나면 머신 이름(Machine name)・설명(Machine description)・환경(Machine environment)이 표시됩니다.10
- 전제 조건을 확인한다. 등록하는 사용자에게는 환경의 「환경 메이커(Environment Maker)」 또는 「Desktop Flows Machine Owner」 역할이 필요합니다. 직접 연결은 PAD 2.8.73.21119 이상을 전제로 하며, Windows 10/11의 Home 에디션에서는 사용할 수 없습니다.10
- 등록을 확인한다. Power Automate 포털에서 「Monitor(모니터)」 > 「Machines(머신)」을 열면, 등록된 머신 목록・상태・실행 중인 플로우 수를 볼 수 있습니다.10
- 데스크톱 플로우 연결을 만든다. 클라우드 플로우 쪽에서 데스크톱 플로우 액션을 추가하고, 액션 오른쪽 위의 「…」에서 새 연결 추가를 선택한 뒤, 「연결(Connect)」란에서 「머신에 직접(Directly to machine)」을 선택하고, 머신 이름과 해당 머신에 로그인할 Windows 계정의 자격 증명을 입력하여 생성합니다.10
- 무인 봇을 할당한다(무인 실행만 해당). 포털의 머신 상세 페이지에서 「설정(Settings)」을 열고, 「무인 봇(Unattended bots)」 슬라이더로 프로세스 용량을 할당한 뒤 저장합니다. 여기서 할당한 수가 해당 머신에서 동시에 실행할 수 있는 무인 실행의 개수가 됩니다.15
정리하면, 「담당자가 아침에 버튼을 누르고 눈앞에서 전기가 진행되는 것을 지켜본다」는 운용이라면 무료 범위 안에서 완결됩니다. 「밤사이 알아서 끝나 있다」는 운용에는 Premium+Process(+등록된 머신)가 필요합니다. 비용 감각의 기준으로, 2026년 7월 시점 일본 대상 공개 가격은 Power Automate Premium이 1사용자당 월 2,248엔, Power Automate Process가 1봇(=머신 1대분의 무인 실행 슬롯)당 월 22,488엔입니다(모두 연납・세금 별도).16 무인화의 최소 구성은 「Process 라이선스 1봇 + Premium 사용자 1명」이므로, 월 약 2만 5천 엔, 연 약 30만 엔이 고정비로 얹히는 계산입니다. 「매일 밤 30분의 전기를 무인화하기 위해 연 30만 엔을 지불할 가치가 있는가」라는 비교가 됩니다. 가격은 개정되므로, 판단하기 전에 Power Automate 가격 페이지에서 최신 금액을 확인하기 바랍니다. 전기 소요 시간이 하루 30분 정도라면, 먼저 무료인 유인 실행으로 시작하고 건수가 늘어난 뒤 무인화를 검토하는 순서로 충분합니다. 라이선스 전체에 대한 사고방식(표준/프리미엄 커넥터의 경계 포함)은 함께 공개한 「Power Automate의 라이선스와 표준・프리미엄 커넥터의 경계」에 자세히 정리했습니다.
6. 안정적으로 동작시키기 위한 설계
고정 Wait가 아니라 「요소를 기다린다」
오래된 기간계 시스템은 검색이나 등록의 응답 시간이 부하에 따라 크게 흔들립니다. 「3초 대기」와 같은 고정 Wait로 맞춘 플로우는, 시스템이 느린 날에 반드시 깨집니다. Wait for window content 액션으로 「특정 UI 요소나 텍스트가 나타날(사라질) 때까지 기다린다」는 형태로 만드는 것이 기본입니다.8 창 가져오기(Get window)에도 타임아웃을 설정할 수 있어, 「찾지 못하면 지정한 초 수에서 실패시킨다」와 「나타날 때까지 기다린다」 중에서 고를 수 있습니다.8 「등록 완료 메시지가 표시될 때까지 기다린 후 다음 행으로 진행한다」는 대기 방식이 전기 플로우에서는 특히 중요합니다. 기다리지 않고 다음 입력을 시작하면, 앞 행의 등록이 끝나지 않은 채로 화면이 전환되어 데이터가 섞입니다.
예외 처리는 「1건 단위」로 구성한다
전기 플로우의 예외 처리는 플로우 전체가 아니라 루프 안의 1건분을 On Block Error로 감싸는 것이 정석입니다. 오류 시에는 해당 행의 실패 내용을 기록하고, 화면을 초기 상태(입력 화면을 닫고 메뉴로 돌아가기 등)로 되돌린 뒤 다음 행으로 진행합니다. 이렇게 하면 100건 중 1건만 상품 코드가 틀려도, 99건은 입력이 끝나고 실패한 1건만 사람 손에 남게 됩니다. 일시적인 오류(응답 지연 등)에는 액션 단위의 재시도 설정도 함께 사용할 수 있습니다.9 오류 처리의 세부적인 요령(Get last error로 오류 내용 가져오기, 뒷정리 설계 등)은 전체 가이드와, 함께 공개한 「Power Automate의 오류 처리와 재시도 설계」에 맡깁니다.
실패해도 「어디까지 입력했는지」를 알 수 있도록 한다
UI 자동화에는 웹 시스템과 같은 트랜잭션이 없습니다. 플로우가 도중에 다운되었을 때 「어느 행까지 기간계 시스템에 등록되어 있는지」를 모르면, 재실행으로 이중 입력을 하거나 전체 건수를 육안으로 대조하는 두 가지 선택지밖에 남지 않습니다. 이를 막는 설계가 2가지 있습니다.
- 입력 원본 Excel에 상태 열을 둔다. 「미처리」・「처리중」・「완료」・「오류」 상태 열과, 기간계 시스템이 채번한 등록 번호 열을 준비합니다. 1건의 입력을 시작하기 전에 「처리중」으로 바꾸고, 등록 완료를 화면에서 확인하여 등록 번호를 읽어들인 뒤 「완료」+등록 번호를 다시 써넣습니다. 플로우의 대상은 항상 「미처리」 행만으로 하므로, 몇 번을 재실행해도 이미 입력된 행에는 손대지 않습니다(재실행 안전).
- 「처리중」인 채로 남은 행만은 사람이 확인한다. 플로우가 다운된다면 입력 도중일 것이므로, 의심스러운 것은 「처리중」 행뿐입니다. 재실행하기 전에 그 행만 기간계 시스템 쪽을 확인하면 되므로, 대조 범위가 100건에서 1건으로 줄어듭니다.
이 상태 열은 그대로 실행 기록도 됩니다. 「어제의 전기가 전부 끝났는지」를, 플로우의 실행 이력을 보지 않아도 Excel을 열면 알 수 있습니다. 현장에 설명하기 쉬운 형태입니다.
무인 실행 환경의 함정
유인 실행에서는 동작하던 플로우가, 무인화한 순간 동작하지 않게 된다는 상담은 정말 많습니다. 원인은 대체로 환경의 차이에 있습니다.
- 세션의 전제: 무인 실행에서는 Power Automate가 대상 머신에 원격 데스크톱(RDP) 세션을 새로 만들고, 실행 후 로그아웃합니다. 실행 중 대상 머신의 화면은 잠긴 상태로 유지됩니다. 전제로 머신은 모든 사용자가 로그아웃되어 있어야 하며, Windows 10/11에서는 누군가의 세션이 (잠금 상태라도) 남아 있으면 실행에 실패합니다. Windows Server의 경우에는 접속과 같은 사용자의 잠긴 세션이 남아 있으면 오류가 됩니다. 유지보수 작업 후 「잠금」이나 「연결 끊기」로 자리를 뜨는 습관이 있으면 밤의 플로우가 멈춥니다. 반드시 로그아웃이 핵심 구호입니다.5
- 권한: 연결에 사용하는 사용자는 해당 머신에 RDP 세션을 만들 수 있어야 합니다(보통 Remote Desktop Users 그룹 소속). 또한 무인 실행은 관리자 권한으로의 상승을 수반하는 조작을 지원하지 않습니다.5
- 화면 해상도: RDP 세션의 기본 해상도는 플로우를 만들었을 때의 화면과 다른 경우가 있습니다. 해상도가 낮아지면, 작성 시에는 보이던 UI 요소가 화면 밖으로 숨어 「요소를 찾을 수 없음」으로 실패하거나, 좌표 기반 조작이 엉뚱한 곳을 누르기도 합니다.5 대책으로 플로우의 속성에서 「무인 실행 시 화면 해상도」를 작성 시와 같은 값으로 고정할 수 있습니다.17 DPI 스케일링의 차이도 같은 종류의 실패 원인이 되므로, 작성 시와 실행 시 모두 100%로 맞춰 두는 것이 무난합니다.18
무인화 체크리스트
무인 실행의 전제 조건은 라이선스・등록・환경・운용에 걸쳐 있으며, 어느 하나라도 빠지면 동작하지 않습니다. 5장과 6장에 나온 조건을 표 하나로 정리해 둡니다. 무인화에 나서기 전에 이 표를 위에서부터 하나씩 지워 나가기 바랍니다.
| 구분 | 확인할 것 | 빠지면 어떻게 되는가 |
|---|---|---|
| 라이선스 | 연결을 만드는 사용자가 Power Automate Premium을 가지고 있다6 | 머신 등록・연결 생성을 할 수 없다 |
| 라이선스 | 대상 머신에 무인 봇(Process 라이선스에서 비롯된 프로세스 용량)을 할당했다15 | 무인 실행이 시작되지 않는다 |
| 등록 | MSI 버전의 머신 런타임 앱으로 머신을 등록했다10 | 클라우드 플로우에서 호출할 수 없다 |
| 등록 | 대상 머신이 Windows 10/11의 Home 에디션이 아니다10 | 직접 연결을 사용할 수 없다 |
| 세션 | 실행 시각에 모든 사용자가 로그아웃되어 있다(잠금・연결 끊기 상태로 남기지 않는다)5 | 실행에 실패한다 |
| 권한 | 연결에 사용하는 사용자가 RDP 세션을 만들 수 있다(Remote Desktop Users 그룹)5 | 세션을 생성하지 못해 실패한다 |
| 권한 | 플로우에 관리자 권한으로의 상승을 수반하는 조작이 포함되어 있지 않다5 | 지원 대상이 아니어서 실패한다 |
| 화면 | 무인 실행 시 화면 해상도를 플로우 작성 시와 같은 값으로 고정했다17 | 요소가 화면 밖으로 숨어 찾을 수 없다 |
| 화면 | DPI 스케일링을 작성 시・실행 시 모두 100%로 맞췄다18 | 요소 인식이나 좌표 조작이 어긋난다 |
| 운용 | 유지보수 작업 후에는 「잠금」이 아니라 「로그아웃」하는 운용을 관계자에게 알렸다 | 야간 플로우가 멈춘다 |
| 운용 | 입력 원본 Excel의 상태 열로, 다음 날 아침 어디까지 진행됐는지를 사람이 확인할 수 있다 | 실패 시 되돌려야 할 범위를 알 수 없다 |
이 부분을 검증한 뒤, 예약 시작(평일 매일 아침 6시에 실행 등)을 클라우드 플로우 쪽에서 설정합니다. 영업일 판정이나 월말 처리를 포함한 예약 설계는, 함께 공개한 「Power Automate의 정기 실행 플로우와 영업일 설계」에서 다루고 있습니다.
7. 전기 플로우 실례 설계
지금까지의 구성 요소를 조합해, 「주문 목록 Excel → 기간계 시스템의 수주 입력 화면 → 결과를 Excel로 다시 써넣기」라는 전형적인 전기 플로우를 설계하면 다음과 같습니다.
flowchart TD
Start([시작 - 수동 또는 클라우드 플로우에서 시작]) --> ReadX[Read from Excel worksheet<br/>주문 목록을 읽기, 첫 행은 열 이름]
ReadX --> Filter{상태 열이 미처리인 행이 있는가}
Filter -- 없음 --> Report[처리 결과를 집계하여 로그·통지] --> End([종료])
Filter -- 있음 --> Launch[기간계 시스템을 시작하고 로그인<br/>메뉴 화면 표시를 요소 대기로 확인]
Launch --> Loop[미처리 행을 1건씩 루프<br/>루프 안을 On Block Error로 감싸기]
Loop --> Mark[상태 열을 처리중으로 갱신]
Mark --> Entry[수주 입력 화면을 열고 항목 입력<br/>화면 전환마다 Wait for window content]
Entry --> Confirm[등록 버튼 클릭 후 완료 메시지 대기<br/>채번된 등록 번호를 화면에서 가져오기]
Confirm --> WriteBack[상태 열을 완료로 하고 등록 번호를 다시 써넣기]
WriteBack --> Loop
Loop -. 1건에서 오류 발생 .-> Handler[오류 내용을 행에 기록<br/>등록 전 실패는 오류, 등록 후 실패는 처리중 그대로<br/>화면을 메뉴까지 되돌리고 다음 행으로]
Handler --> Loop
Loop -- 전건 처리 완료 --> Close[기간계 시스템을 로그아웃하고 닫기] --> Report
이 그림을 PAD의 액션 열로 옮기면 다음과 같은 순서가 됩니다. 디자이너에서 이 순서대로 액션을 쌓아 가면, 위 그림이 그대로 동작하는 형태가 됩니다.
| # | 액션 | 설정 포인트 |
|---|---|---|
| 1 | Launch Excel | 주문 목록의 경로를 지정하여 열고, Excel 인스턴스를 변수로 받는다 |
| 2 | Read from Excel worksheet | 워크시트의 사용 가능한 값을 모두 가져오고, 상세 설정에서 「범위의 첫 행에 열 이름이 포함되어 있습니다」를 켠다. 결과는 ExcelData |
| 3 | Set variable | RowIndex에 2를 대입한다(첫 행이 열 이름이므로, 데이터는 2행부터) |
| 4 | Run application | 기간계 시스템을 시작한다(상시 실행 운용이라면 Get window로 기존 창을 잡는다) |
| 5 | Wait for window content | 로그인 후 메뉴 화면에 고유한 요소가 표시될 때까지 기다린다 |
| 6 | For each | ExcelData를 한 행씩 CurrentItem으로 순회한다 |
| 7 | If | CurrentItem['状態']가 미처리가 아니면, RowIndex를 Increase variable로 1 늘린 뒤 Next loop로 건너뛴다 |
| 8 | On block error | 이후 9~13을 1건분의 블록으로 감싸고, 오류 시 이동 위치를 14번 라벨로 한다 |
| 9 | Write to Excel worksheet | RowIndex 행의 상태 열에 처리중을 써넣는다 |
| 10 | Populate text field in window | CurrentItem['得意先コード']처럼 열 이름으로 값을 꺼내 각 입력란에 넣는다. 날짜・숫자는 문자열로 정리한 뒤 전달한다 |
| 11 | Press button in window | 등록 버튼을 누른다 |
| 12 | Wait for window content | 등록이 완료되었습니다에 해당하는 요소가 나타날 때까지 기다린다(고정 Wait로 하지 않는다) |
| 13 | Get details of the UI element in window → Write to Excel worksheet | 채번된 등록 번호를 화면에서 읽어들여, RowIndex 행의 상태 열을 완료로, 등록 번호 열에 그 값을 써넣는다 |
| 14 | (오류 처리 블록) Get last error → Write to Excel worksheet | 오류 내용을 가져와 RowIndex 행의 오류 열에 기록하고, Close window 등으로 화면을 메뉴까지 되돌린다 |
| 15 | Increase variable | RowIndex를 1 늘리고 루프 앞으로 돌아간다 |
| 16 | Close Excel | 문서 저장으로 저장하고 닫으며, 기간계 시스템도 로그아웃하고 닫는다 |
RowIndex를 별도 변수로 두는 이유는 For each가 행 번호를 반환하지 않기 때문입니다. 건너뛴 행이라도 반드시 1을 늘리도록(절차 7) 해 두지 않으면, 다시 써넣는 위치가 한 행씩 어긋나게 됩니다.
설계상의 포인트를 보충합니다.
- 입력값 검증은 UI 조작 전에 한다. 상품 코드의 자릿수, 숫자 항목에 문자가 들어 있지 않은지, 필수 항목 누락. Excel을 읽은 직후 플로우 쪽에서 검증하여, 이상한 행은 기간계 시스템을 건드리기 전에 오류로 처리합니다. 기간계 시스템의 오류 대화 상자를 UI 조작으로 처리하는 것보다, 그 앞에서 걸러내는 쪽이 몇 배는 더 안정적입니다.
- 오류로 처리해도 되는 것은 등록 버튼을 누르기 전의 실패뿐. 오류 처리에서 상태 열을 일률적으로 오류로 바꿔 쓰면, 등록 버튼 조작이 성공한 뒤(완료 메시지 대기나 다시 써넣는 도중)에 실패한 행까지 오류가 되어, 담당자가 그 행을 재실행해 기간계 시스템에 이중 등록되는 사고로 이어집니다. 등록 조작보다 뒤에서 일어난 실패는 상태 열을 처리중인 채로 남기고, 처리중으로 끝난 행은 재실행 대상으로 삼지 않으며, 기간계 시스템 쪽의 등록 여부를 사람이 대조한 뒤 완료 또는 미처리로 되돌리는 운용으로 만듭니다. 애매함을 없애는 것이 아니라, 애매한 채로 사람의 확인에 넘기는 것이 이 설계의 핵심입니다.
- 화면의 오류 대화 상자를 상정한다. 그래도 입력 시 오류(재고 부족, 거래처 여신 오류 등)는 발생합니다. 예상할 수 있는 대화 상자는 「창이 포함되어 있는가」 조건 분기로 잡아내 행의 오류 내용에 기록하고, 예상외의 것은 On Block Error에 맡깁니다.9
- 건수와 시간의 기준을 가진다. UI 자동화는 1건당 수십 초가 걸리는 것도 드물지 않습니다. 100건에 1시간이라면 야간 무인 실행으로 충분히 수용되지만, 매일 수천 건이 있다면 UI 자동화라는 수단 자체를 재검토해야 한다는 신호입니다(다음 장).
- 입력 원본의 정규화는 앞단에서 끝낸다. 문자 코드나 날짜 형식의 흔들림, 전각・반각 혼재와 같은 CSV・Excel 유래의 함정은 「CSV는 “그냥 텍스트”가 아니다 ── C# 업무 앱의 CSV 실무(문자 코드・Excel 호환・인젝션 대책)」에서 정리했습니다.
8. 어디까지 PAD로 할 것인가
UI 자동화는 화면이 바뀌면 언젠가 깨집니다. 이것은 설계로 어떻게 할 수 있는 이야기가 아니라 이 방식의 숙명입니다. 그렇기 때문에 「PAD로 자동화해도 되는 전기」와 「개발・개수로 나아가야 할 전기」의 선긋기를 가지고 있어야 합니다.
| 상황 | 판단 |
|---|---|
| 하루 수십~수백 건, 실패해도 다음 영업일 재실행으로 충분하다 | PAD로 충분. 먼저 유인 실행부터 |
| 대상 앱의 화면이 몇 년째 바뀌지 않았다(오래 묵힌 레거시 앱) | PAD에 적합. 아이러니하게도 「바뀌지 않는 화면」은 UI 자동화와 궁합이 좋다 |
| 대상 앱이 자주 버전업된다(SaaS의 웹 화면 등) | 셀렉터 유지보수가 계속된다는 전제로 판단. 업데이트마다 깨진다면 UI 자동화는 부적합 |
| 매일 수천 건 이상, 실행 시간이 업무 시간을 압박한다 | UI 자동화의 처리 속도로는 한계. CSV 가져오기 기능 추가 개발이나 데이터 연계 개발(수탁)의 영역 |
| 멈추면 당일 출하・청구가 멈추는 기간 업무 | 「깨지면 고칠 때까지 수작업 입력으로 되돌린다」가 허용되지 않는다면 UI 자동화는 부적합. 기간계 시스템 개수・시스템 간 연계 개발을 검토 |
| 전기하는 김에 복잡한 업무 판단(재고 인수, 가격 결정)을 시키고 싶다 | 플로우에 업무 로직을 심는 것은 끝까지 유지보수할 수 없다. 업무 로직은 시스템 쪽에 두어야 할 영역 |
판단 감각으로는 「이 플로우가 1주일 동안 깨진 채여도, 수작업 입력으로 돌아가면 업무가 돌아가는가」를 기준으로 삼고 있습니다. 돌아간다면 PAD로 자동화할 가치가 충분히 있습니다. 돌아가지 않는다면, 그 전기는 이미 「자동화」가 아니라 「시스템 연계」의 요건이며, 가져오기 기능 추가, 데이터베이스 연계, 또는 수발주 자체의 전자화(EDI나 FAX 수주의 웹 전환)를 검토할 단계입니다.
하나 더, PAD의 플로우도 「만든 사람만 손댈 수 있는 자산」이 되기 쉽습니다. 플로우의 내용・연결・실행 머신을 누가 인계받을 것인지는, 함께 공개한 「Power Automate의 담당자 의존 대책 ── 만든 사람이 그만둬도 플로우가 멈추지 않도록」에서 정리하고 있습니다.
9. 정리
API도 CSV 가져오기도 없는 기간계 시스템으로의 전기는, PAD의 UI 자동화로 「시스템에 손대지 않고」 자동화할 수 있습니다. Windows 11이라면 표준으로 바로 사용을 시작할 수 있고, 만들어서 직접 실행하는 것만이라면 추가 비용도 들지 않습니다. 담당자가 매일 1시간의 전기에서 해방되고, 전기 실수의 조사・정정이 사라지는 것만으로도 도입의 수고는 충분히 회수됩니다.
다만 순서와 설계를 그르치지 않는 것이 중요합니다. UI 자동화 전에 CSV 가져오기・DB・API・파일 연계 창구를 찾을 것. 무료인 유인 실행부터 시작하여, 무인화에는 Premium+Process 라이선스와 로그아웃 완료 머신이라는 전제를 짚어 둘 것. 셀렉터와 요소 대기, 1건 단위의 예외 처리로 안정시키고, 상태 열을 다시 써넣어 「어디까지 입력했는지」를 항상 남길 것. 그리고 건수・중요도・화면 변경 빈도가 UI 자동화의 수비 범위를 넘어서면, 무리하게 키우지 말고 기간계 시스템 개수나 데이터 연계 개발로 전환할 것입니다.
당사에서는 PAD에 의한 전기 자동화의 설계 리뷰부터, 그 앞의 가져오기 기능 추가・시스템 간 연계의 수탁 개발, 레거시 앱의 이전까지 하나로 이어서 상담을 받고 있습니다. 「우리 기간계 시스템으로도 가능할까」라는 단계에서부터도 편하게 문의해 주십시오.
관련 글
- Power Automate로 업무 자동화하기 ── 클라우드 플로우・데스크톱 플로우 구분과 오류 처리 설계
- VB6 애플리케이션은 언제까지 동작할까 ── 런타임 지원 현황과 현실적인 .NET 이전 진행 방법
- Windows 앱의 웹 전환, 하지 않는 편이 나은 경우 ── 판단표와 ‘분할’이라는 현실적 해법
- Power Automate의 오류 처리와 재시도 설계 ── “동작하던 플로우가 멈춰 있었다”를 막는 법
- CSV는 “그냥 텍스트”가 아니다 ── C# 업무 앱의 CSV 실무(문자 코드・Excel 호환・인젝션 대책)
관련 상담 영역
합동회사 코무라소프트는 Power Automate for desktop에 의한 전기 자동화의 설계・안정화 상담부터, UI 자동화로는 감당할 수 없는 기간계 시스템의 데이터 연계 개발・레거시 앱 개수까지 다루고 있습니다.
참고 링크
-
Microsoft Learn, Get started with Power Automate in Windows 11. Windows 11에 사전 설치된 Power Automate 앱, 400개 이상의 액션과 레코더 덕분에 코딩 경험이 없어도 플로우를 작성할 수 있다는 점에 대해. ↩
-
Microsoft Learn, Power Automate licensing FAQ. Windows 11 사용자는 기본 환경에서 유인 RPA의 데스크톱 플로우를 추가 비용 없이 이용할 수 있고(공유나 다른 환경에서의 작성은 불가), Windows 검색창에서 Power Automate를 검색하면 처음 실행할 때 자동으로 다운로드되는 점, Windows 10・Windows Server 2016에서도 이용 권한이 있어 다운로드 센터에서 받을 수 있는 점에 대해. ↩ ↩2 ↩3
-
Microsoft Learn, Get started with a work or school account. 직장・학교 계정에서의 Power Automate for desktop 이용은 추가 비용이 없다는 점, 기본 환경에 Dataverse 데이터베이스가 필요하다는 점, 자동 실행이나 플로우 공유 등 RPA 기능을 해제하려면 프리미엄으로의 업그레이드가 필요하다는 점에 대해. ↩ ↩2
-
Microsoft Learn, Prerequisites and limitations. 로그인 계정 종류(Microsoft 계정/직장・학교 계정/조직 프리미엄 계정)별 기능 비교. 레코더・액션・예외 처리는 모든 계정에서 이용할 수 있고, 클라우드 플로우와의 연결(시작・예약), 공유, 중앙 관리・보고서는 프리미엄만 가능하다는 점, 저장 위치가 OneDrive 또는 Dataverse라는 점에 대해. ↩ ↩2 ↩3
-
Microsoft Learn, Run unattended desktop flows. 무인 실행에 Power Automate Process 플랜이 필요하다는 점, Power Automate가 RDP 세션을 생성하고 실행 후 로그아웃한다는 점, 실행 중에는 화면이 잠긴다는 점, 모든 사용자의 로그아웃이 필요하며 Windows 10/11에서는 잠금 상태를 포함해 세션이 남아 있으면 실패한다는 점, 연결 사용자에게 RDP 세션 생성 권한(Remote Desktop Users 그룹)이 필요하다는 점, 관리자 권한 상승을 수반하는 실행은 불가능하다는 점, RDP 세션의 기본 해상도가 작성 시와 달라 요소를 찾지 못하는 실패로 이어질 수 있다는 점에 대해. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8
-
Microsoft Learn, Types of Power Automate licenses. 유인 RPA 권한(머신 등록・유인 실행 트리거 등)이 Premium 사용자 라이선스에 포함된다는 점, 무인 RPA에는 머신에 할당하는 Process 라이선스(머신 1대당 무인 봇 1개)가 필요하다는 점, Process 라이선스의 머신 할당은 Premium 사용자에 의한 머신 등록이 전제라는 점에 대해. ↩ ↩2 ↩3 ↩4
-
Microsoft Learn, Build a custom selector. 셀렉터가
>로 계층을 나타내고 각 요소를element[Attribute="Value"]의 형태로 기술한다는 점(예::desktop > window[Name="Notes.txt - Notepad"][Process="Notepad"]), 사용할 수 있는 연산자가 Equal to / Not equal to / Contains / Starts with / Ends with / Regular expression match의 6종이며 정규식 엔진이 .NET이라는 점, 비주얼 에디터에서의 변수 사용이 Equal to 연산자로 한정된다는 점, 하나의 UI 요소에 여러 셀렉터를 등록해 실패 시 다음 셀렉터로 폴백할 수 있다는 점, 계층(레벨)의 활성화・비활성화를 전환해 탐색 범위를 바꿀 수 있다는 점에 대해. Repair selector에 의한 복구 후보 생성도 함께. ↩ ↩2 ↩3 ↩4 -
Microsoft Learn, UI automation actions. Wait for window content 액션에 의한 특정 텍스트・UI 요소의 출현/소멸까지의 대기, Get window 액션의 타임아웃 설정(지정 시간 내에 찾지 못하면 실패시킬지 계속 기다릴지의 선택)에 대해. ↩ ↩2 ↩3
-
Microsoft Learn, Handle errors in desktop flows. On Block Error에 의한 블록 단위의 예외 처리, 액션 단위의 재시도 설정(Retry action if an error occurs)에 대해. ↩ ↩2 ↩3
-
Microsoft Learn, Manage machines. 머신 런타임 앱(MSI 인스톨러에 동봉. 설치 시 「Install the machine-runtime app to connect to the Power Automate cloud portal」을 선택)에 의한 머신 등록, machine runtime에 로그인하면 선택 중인 환경에 자동 등록되어 머신 이름・설명・환경이 표시된다는 점, 등록에 Environment Maker 또는 Desktop Flow Machine Owner 역할이 필요하다는 점, 직접 연결이 버전 2.8.73.21119 이상을 필요로 하며 Windows 10 Home・Windows 11 Home에서는 이용할 수 없다는 점, 포털의 Monitor > Machines에서 등록된 머신을 확인할 수 있다는 점, 데스크톱 플로우 연결 생성 시 「Directly to machine」을 선택하고 머신 이름과 자격 증명을 입력한다는 점, 클라우드 플로우에서의 데스크톱 플로우 시작에는 유인 RPA가 포함된 프리미엄 사용자 플랜이 필요하다는 점, 무인 실행에는 머신에 대한 프로세스 용량(무인 봇) 할당이 필요하다는 점에 대해. ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10
-
Microsoft Learn, Record desktop flows. 레코더가 마우스・키보드 조작을 UI 요소와의 관계로 기록해 액션으로 변환한다는 점, 기록 방식으로 UIA(WPF・WinForms 등 최신 프레임워크용 권장)와 MSAA(VB6나 클래식 Win32 등 UIA 비대응 레거시 앱용)를 선택할 수 있다는 점, 조건 분기나 루프는 기록할 수 없어 기록 후 편집이 전제라는 점에 대해. ↩ ↩2
-
Microsoft Learn, Automate desktop applications. UI 자동화 액션은 대상 창이 맨 앞에 있을 것을 필요로 하며, 맨 앞에 없는 경우 자동으로 맨 앞으로 이동시킨다는 점에 대해. ↩
-
Microsoft Learn, Excel actions. Launch Excel에 의한 인스턴스 생성, Read from Excel worksheet에서의 단일 셀・범위 읽기(데이터 테이블화, 첫 행을 열 이름으로 다루는 옵션), Write to Excel worksheet에 의한 쓰기, Get first free row on column에 의한 빈 행 가져오기에 대해. ↩ ↩2
-
Microsoft Learn, Trigger desktop flows from cloud flows. 클라우드 플로우에서 데스크톱 플로우를 시작하기 위한 전제 조건(등록된 머신 또는 머신 그룹, 직장・학교 계정, 데스크톱 플로우 연결, 연결 생성자가 실행 형태에 맞는 라이선스를 가지고 있을 것), 입출력 변수를 통한 클라우드・데스크톱 간 데이터 전달에 대해. ↩ ↩2 ↩3
-
Microsoft Learn, Process capacity. Process 라이선스에서 비롯된 프로세스 용량을 머신에 할당하면 무인 봇이 되며, 무인 봇 1개당 동시에 무인 데스크톱 플로우 1개를 실행할 수 있다는 점, 할당은 머신 상세 페이지의 「Settings」에 있는 「Unattended bots」 슬라이더로 한다는 점, 머신당 최대 봇 수가 OS에 따라 다르다는 점, 환경 내에서 용량이 공유된다는 점에 대해. ↩ ↩2
-
Microsoft, Power Automate 가격. 2026년 7월 시점 일본 대상 공개 가격으로, Power Automate Premium이 1사용자당 월 2,248엔 상당(연납), Power Automate Process가 1봇당 월 22,488엔 상당(연납), 모두 소비세를 포함하지 않는다는 점에 대해. ↩
-
Microsoft Learn, Set screen resolution on unattended mode. 무인 실행 시 해상도가 작성 시보다 낮아져 요소가 가려져 실패하는 경우, 플로우의 속성(Display resolution for unattended runs) 또는 레지스트리로 해상도를 고정할 수 있다는 점에 대해. ↩ ↩2
-
Microsoft Learn, Troubleshoot unattended desktop flow execution failures. 유인・무인 세션 간 해상도나 DPI 스케일링의 차이가 실패의 원인이 된다는 점, DPI를 설계 시・실행 시 모두 100%로 맞추는 등의 대책에 대해. ↩ ↩2
관련 기사
같은 태그를 공유하는 최신 기사입니다. 더 가까운 주제로 지식을 넓힐 수 있습니다.
Power Automate로 업무 자동화하기 ── 클라우드 플로우・데스크톱 플로우 구분과 오류 처리 설계
Power Automate의 클라우드 플로우와 데스크톱 플로우의 차이, PowerShell/VBA와의 역할 분담, 라이선스, 오류 처리, UI 자동화 안정화, 자격 증명의 안전한 처리까지, 업무 자동화를 운영에 올리기 위한 실전 설계 지침을 정리...
Power Automate의 라이선스 ── Microsoft 365로 어디까지 무료인가, 프리미엄이 필요한 것은 언제인가
Power Automate는 Microsoft 365 범위에서 표준 커넥터의 클라우드 플로우를 무료로 만들 수 있지만, HTTP·SQL Server·Dataverse 등 프리미엄 커넥터나 RPA·AI Builder에는 유료 라이선스가 필요합니다....
Excel 대장을 SharePoint 리스트로 바꾸기 ── 공유・이력・플로우 연계로 「대장이 깨진다」를 졸업하기
공유 폴더의 Excel 대장을 SharePoint 리스트(Microsoft Lists)로 이전하는 실천 가이드입니다. 동시 편집・덮어쓰기・행 어긋남 해결, Excel에서의 가져오기 절차, 열 유형 설계, 리스트 뷰 임계값 5,000의 올바른 이해...
Excel 매크로 VBA를 Power Automate로 이행하다 ── Office Scripts로 대체할 범위와 VBA로 남겨둘 범위
Excel VBA 매크로를 Power Automate로 이행할 수 있는지를 정리합니다. Office Scripts로 대체할 수 있는 범위와 VBA만이 할 수 있는 것, 커넥터의 제한값, 라이선스 요건, 재고 조사부터 시작하는 단계적 이행 방법까지...
Power Automate와 PowerShell+작업 스케줄러의 구분 사용 ── 자동화 도구를 섞지 않고 적재적소로 연결하기
PowerShell+작업 스케줄러의 야간 배치와 Power Automate 플로우가 사내에 혼재되기 시작한 중소기업의 정보시스템 담당자를 위해, 두 도구의 특기 분야 차이, 어느 쪽으로 만들지 판단하는 표, SharePoint를 통해 느슨하게 연...
관련 토픽
이 기사와 가까운 토픽 페이지입니다. 기사를 출발점 삼아 관련 서비스와 다른 기사로 이어집니다.
Windows 기술 토픽
Windows 개발, 장애 조사, 기존 자산 활용에 관한 KomuraSoft LLC 기사를 모은 토픽 허브입니다.
이 주제와 연결되는 서비스
이 기사는 다음 서비스 페이지로 이어집니다. 가까운 입구부터 확인해 주세요.
기술 상담 & 설계 리뷰
설계 방향, 아키텍처 경계, 수명 관리, 기존 Windows 자산 처리 방법을 정리하는 데 도움을 드립니다.
기존 자산 활용 & 이관 지원
COM / ActiveX / OCX 자산, 네이티브 코드, 32비트 의존성을 유지하면서 단계적인 이관 계획을 지원합니다.
자주 묻는 질문
이 기사 주제에 대해 상담 시 자주 나오는 질문을 모았습니다.
- Power Automate for desktop는 무료로 사용할 수 있나요?
- 사용할 수 있습니다. Windows 11에는 Power Automate 앱이 표준으로 내장되어 있고, Windows 10에서도 마이크로소프트 다운로드 센터에서 무료로 설치할 수 있습니다. 직장・학교 계정에서도 추가 비용 없이, 레코더나 400개 이상의 액션, 예외 처리 등 플로우 작성과 수동 실행(유인 실행)에 필요한 기능 일체를 사용할 수 있습니다. 다만 클라우드 플로우로부터의 자동 시작, 플로우 공유, 실행 로그의 중앙 관리에는 유료인 Power Automate Premium 라이선스가 필요합니다.
- 야간이나 이른 아침처럼 사람이 없는 상태에서 전기 플로우를 실행하려면 무엇이 필요한가요?
- 무인 실행(unattended)에는 클라우드 플로우에서 호출하는 구성이 필요하며, 대상 머신의 등록, 데스크톱 플로우 연결의 생성, 그리고 머신에 할당하는 Power Automate Process 라이선스가 전제가 됩니다. 머신 등록 자체도 Premium 라이선스를 가진 사용자가 수행해야 합니다. 기술적으로는 무인 실행이 원격 데스크톱 세션을 새로 만들어 동작하기 때문에, 대상 머신은 모든 사용자가 로그아웃한 상태여야 하며, 잠금 상태의 세션이 하나라도 남아 있으면 Windows 10/11에서는 실행에 실패합니다.
- UI 자동화는 쉽게 깨진다고 들었는데, 실무에서 쓸 만한가요?
- 대상 기간계 시스템의 화면이 안정적이라면 실무에서 충분히 쓸 수 있습니다. 깨지는 원인의 대부분은 UI 요소를 특정하는 방법(셀렉터)과 대기 부족이므로, 변하는 속성을 Contains나 정규식으로 바꾸고, 예비 셀렉터를 설정하고, 고정 대기가 아니라 요소의 출현을 기다리는 액션을 사용하는 등의 설계로 안정도가 크게 달라집니다. 다만 화면 레이아웃 변경으로 깨지는 숙명 자체는 사라지지 않으므로, 대상 앱의 업데이트 빈도가 높은 경우나, 멈추면 업무가 돌아가지 않는 건수・중요도의 처리는 UI 자동화가 아니라 데이터 연계 개발이나 기간계 시스템 쪽 개수를 검토해야 합니다.
- 전기 플로우가 도중에 실패하면, 어디까지 입력되었는지 알 수 없게 되지 않나요?
- 설계에 따라 방지할 수 있습니다. 핵심은 입력 원본 Excel에 상태 열(미처리・처리중・완료・오류)과 등록 번호 열을 두고, 1건을 입력할 때마다 기간계 시스템 쪽 등록 결과를 확인한 뒤 상태를 다시 써넣는 것입니다. 이렇게 해 두면 실패 시 어느 행까지 등록됐는지가 Excel 쪽에 남고, 재실행해도 「미처리」 행만을 대상으로 하기 때문에 이중 입력이 일어나지 않습니다. 1건 단위의 예외 처리로 오류 행을 기록하고 다음 행으로 넘어가는 형태로 만들면, 1건의 입력 실수로 전체가 멈추는 것도 피할 수 있습니다.