다음을 통해 공유


스크립팅 작업

중요

권한 없는 액세스를 방지하려면 Windows에서 보호된 리소스에 액세스할 수 있는 관리자 권한이 필요합니다. 스크립팅 작업을 사용하여 보호된 리소스(예: 파일)에 액세스하려면 관리자 권한으로 Power Automate를 실행합니다. 관리자로서 Power Automate를 실행하는 경우에 대한 더 자세한 정보는 높은 권한으로 Power Automate 실행으로 이동하세요.

스크립팅 작업을 사용하면 데스크톱 흐름에서 코드 블록을 실행하고 사용자 지정 동작을 구현할 수 있습니다.

중요

2023년 10월에 발표된 바와 같이 VBScript는 Windows에서 더 이상 사용되지 않습니다. Windows의 향후 릴리스에서는 VBScript가 운영 체제에서 제거되기 전에 요청 시 기능으로 제공될 예정입니다. 자세한 정보는 사용되지 않는 기능에 대한 리소스를 참조하십시오.

모든 스크립팅 작업은 해당 프로그래밍 또는 스크립팅 언어(PowerShell, Python, VBScript, JavaScript 및 C#/VB.NET)의 기본 구조를 따릅니다.

노트

C#: v 5.0에 지원되는 버전. VB.NET의 경우: v 11.0

Copilot이 제공하는 자연어를 스크립트로 변환 기능(프리뷰)

[이 항목은 시험판 문서이며 변경될 수 있습니다.]

자연어를 코드로 변환은 데스크톱용 Power Automate에 추가된 새로운 Copilot 기능입니다. 설명을 통해 스크립팅 작업에 사용되는 코드를 빠르게 생성할 수 있습니다. 이 기능은 다음 스크립팅 작업에서 사용할 수 있습니다.

  • PowerShell 실행
  • VBScript 실행
  • DOS 명령 실행
  • Python 실행
  • JavaScript 실행

중요

  • 이는 프리뷰 기능입니다.
  • 프리뷰 기능은 생산용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.

지역별 가용성

현재 데스크톱용 Power Automate의 Copilot은 미국에 있는 환경에서만 사용할 수 있습니다.

계정 유형별 가용성

현재 데스크톱용 Power Automate의 Copilot은 회사 또는 학교 계정이 있는 사용자만 사용할 수 있습니다.

노트

사용자 환경이 위에 나열된 지역에 있고 여전히 데스크톱용 Power Automate 환경에서 Copilot을 확인해야 하는 경우 테넌트 관리자에게 문의하세요. Copilot 기능을 꺼 놓았을 수도 있습니다.

Copilot 및 자연어를 사용하여 스크립트를 생성하는 방법

지원되는 스크립팅 작업 중 하나에서 스크립트를 생성하려면 디자이너에서 작업을 끌어다 놓고 Copilot으로 스크립트 생성을 선택합니다.

Copilot을 사용하여 생성 스크립트를 사용하여 PowerShell 작업 실행 버튼이 강조 표시된 스크린샷

자연어 프롬프트를 입력할 수 있는 프롬프트 생성 화면이 열립니다.

프롬프트 대화 상자가 열려 있는 PowerShell 생성 작업의 스크린샷

스크립트를 생성하려면 프롬프트를 작성하고 생성을 선택하세요. 다시 생성해야 하는 경우 프롬프트를 변경하고 재생성을 선택하면 됩니다. 그렇지 않으면 이 스크립트 사용을 선택하여 기본 작업 창으로 돌아가 수정하고 필요한 변수를 추가할 수 있습니다.

프롬프트 대화 상자가 열려 있는 이 스크립트 사용 PowerShell 작업의 스크린샷

중요

AI 모델에서 생성된 콘텐츠를 항상 검토해야 합니다.

이 기능을 개선할 수 있도록 도움주기

AI 생성 콘텐츠 아래에 있는 좋아요 또는 싫어요 아이콘을 선택하여 피드백을 보내세요. 그렇게 하면 Microsoft에 피드백을 제출하는 데 사용할 수 있는 피드백 대화 상자가 나타납니다. 디자이너의 사용자 질문에 Copilot이 대답하는 모습을 보여주는 애니메이션 GIF입니다.

노트

대화 상자가 표시되지 않으면 테넌트 관리자가 대화 상자를 꺼 놓았을 수 있습니다. 추가 정보: 사용자 피드백 기능 비활성화

사용자 피드백 기능 비활성화

테넌트 관리자는 disableSurveyFeedback 테넌트 설정을 비활성화하여 사용자가 Microsoft에 피드백을 보내는 것을 방지할 수 있습니다. 테넌트 설정 보기 및 설정에 대한 자세한 내용을 알아보세요.

사용자 피드백에 대한 데이터 주체 권리 요청

테넌트 관리자는 Microsoft 365 관리 센터에 로그인한 다음 상태>제품 피드백을 선택하여 사용자의 피드백을 보고, 내보내고, 삭제할 수 있습니다.

Power Automate 리소스를 갖춘 AI

스크립팅 작업에서 변수 작업

스크립팅 작업에서 변수를 선언하고 Power Automate에 결과를 반환하려면 다음 명령을 사용합니다.

  • PowerShell 스크립트에서 새 변수를 선언하려면 $ 표기법을 사용합니다. PowerShell 스크립트 실행 작업에서 Power Automate로 값을 반환하려면 쓰기-출력 명령을 사용합니다.

    $variableName = "variableValue"
    Write-Output $variableName
    
  • Python 스크립트는 새 변수를 선언하는 특별한 표기법이 필요하지 않습니다. Python 스크립트 실행 작업에서 값을 반환하려면 print 함수를 사용합니다.

    variableName = "variableValue"
    print variableName
    
  • VBScript는 새 변수를 선언하는 특별한 표기법이 필요하지 않습니다. WScript.Echo 함수를 사용하여 VBScript 실행 작업에서 Power Automate로 값을 반환합니다.

    variableName = "variableValue"
    WScript.Echo variableName
    
  • JavaScript 스크립트에서는 var 표기법으로 새 변수를 선언하고 WScript.Echo 함수로 JavaScript 실행 작업에서 값을 반환합니다.

    var variableName = "variableValue";
    WScript.Echo(variableName);
    
  • .NET 스크립트의 경우 .NET 스크립트 실행 작업의 구성 카드를 통해 액세스하는 스크립트 매개 변수 창을 사용하십시오. 각 변수의 유형을 설정할 수 있습니다.

.NET 스크립트 실행 작업의 스크립트 매개 변수 창 스크린샷, 변수 유형 설정

또한 .NET 스크립트에 대한 입력(방향 드롭다운의 In 옵션), 스크립트의 출력(방향 드롭다운의 Out 옵션) 또는 둘 다(방향 드롭다운의 In-Out 옵션)인지 여부를 설정할 수 있습니다.

.NET 스크립트 실행 작업의 스크립트 매개 변수 창 스크린샷, 방향 설정

스크립팅 작업에서 Power Automate 변수를 사용하려면 백분율 표기법(%)을 사용하고 하드코딩된 값과 동일한 방식으로 변수를 처리합니다.

백분율 표기법이 포함된 Python 스크립트의 스크린샷.

DOS 명령 실행

보이지 않는 모드에서 DOS 명령 또는 콘솔 애플리케이션을 실행하고 완료 시 출력을 검색합니다.

입력 매개 변수

인수 선택 항목 수락 기본값 Description
DOS command or application 아니요 파일 해당하는 경우 인수와 DOS 명령 또는 콘솔 응용 프로그램 이름
Working folder 폴더 해당하는 경우 작업할 폴더의 전체 경로
시간 제한 후 실패 부울 값 DOS 명령 또는 애플리케이션을 무기한 실행할지 아니면 설정된 시간 후에 실패할지 지정합니다.
Timeout 아니요 숫자 값 10 스크립트가 완료될 때까지 기다리는 최대 시간(초)(-1이면 무기한)
Change code page 사용 불가 부울 값 False 세션의 현재 코드 페이지를 변경할지 여부 지정
Encoding 아니요 ASMO-708: 아랍어 (ASMO 708), big5: 중국어 번체 (Big5), cp1025: IBM EBCDIC (키릴 자모 세르비아어-불가리아어), cp866: 키릴 자모 (DOS), cp875: IBM EBCDIC (현대 그리스어), csISO2022JP: 일본어 (JIS-Allow 1 바이트 가나), DOS-720: 아랍어 (DOS), DOS-862: 히브리어 (DOS), EUC-CN: 중국어 간체 (EUC), EUC-JP: 일본어 (JIS 0208-1990 및 0212-1990), euc-jp: 일본어 (EUC), euc-kr: 한국어 (EUC), GB18030: 중국어 간체 (GB18030), gb2312: 중국어 간체 (GB2312), hz-gb-2312: 중국어 간체 (HZ), IBM-Thai: IBM EBCDIC (태국어), IBM00858: OEM 다국어 라틴 문자 I, IBM00924: IBM 라틴 문자-1, IBM01047: IBM 라틴 문자-1, IBM01140: IBM EBCDIC (미국-캐나다-유럽), IBM01141: IBM EBCDIC (독일-유럽), IBM01142: IBM EBCDIC (덴마크-노르웨이-유럽), IBM01143: IBM EBCDIC (핀란드-스웨덴-유럽), IBM01144: IBM EBCDIC (이탈리아-유럽), IBM01145: IBM EBCDIC (스페인-유럽), IBM01146: IBM EBCDIC (영국-유럽), IBM01147: IBM EBCDIC (프랑스-유럽), IBM01148: IBM EBCDIC (국제-유럽), IBM01149: IBM EBCDIC (아이슬란드어-유럽), IBM037: IBM EBCDIC (미국-캐나다), IBM1026: IBM EBCDIC (터키어 라틴 문자-5), IBM273: IBM EBCDIC (독일어), IBM277: IBM EBCDIC (덴마크-노르웨이), IBM278: IBM EBCDIC (핀란드-스웨덴), IBM280: IBM EBCDIC (이탈리아), IBM284: IBM EBCDIC (스페인), IBM285: IBM EBCDIC (영국), IBM290: IBM EBCDIC (일본어 가타카나), IBM297: IBM EBCDIC (프랑스), IBM420: IBM EBCDIC (아랍어), IBM423: IBM EBCDIC (그리스어), IBM424: IBM EBCDIC (히브리어), IBM437: OEM 미국, IBM500: IBM EBCDIC (국제), ibm737: 그리스어 (DOS), ibm775: 발트어 (DOS), ibm850: 서유럽 (DOS), ibm852: 중앙 유럽 (DOS), IBM855: OEM 키릴 자모, ibm857: 터키어 (DOS), IBM860: 포르투갈어 (DOS), ibm861: 아이슬란드어 (DOS), IBM863: 캐나다 프랑스어 (DOS), IBM864: 아랍어 (864), IBM865: 북유럽어 (DOS), ibm869: 그리스어, 현대 (DOS), IBM870: IBM EBCDIC (다국어 라틴 문자-2), IBM871: IBM EBCDIC (아이슬란드어), IBM880: IBM EBCDIC (키릴 자모 러시아어), IBM905: IBM EBCDIC (터키어), iso-2022-jp: 일본어 (JIS), iso-2022-jp: 일본어 (JIS-Allow 1 바이트 가나 - SO/SI), iso-2022-kr: 한국어 (ISO), iso-8859-1: 서유럽 (ISO), iso-8859-13: 에스토니아어 (ISO), iso-8859-15: 라틴 문자 9 (ISO), iso-8859-2: 중앙 유럽 (ISO), iso-8859-3: 라틴 문자 3 (ISO), iso-8859-4: 발트어 (ISO), iso-8859-5: 키릴 자모 (ISO), iso-8859-6: 아랍어 (ISO), iso-8859-7: 그리스어 (ISO), iso-8859-8: 히브리어 (ISO-Visual), iso-8859-8-i: 히브리어 (ISO-Logical), iso-8859-9: 터키어 (ISO), Johab: 한국어(조합), koi8-r: 키릴 자모 (KOI8-R), koi8-u: 키릴 자모 (KOI8-U), ks_c_5601-1987: 한국어, macintosh: 서유럽 (Mac), shift_jis: 일본어 (Shift-JIS), us-ascii: US-ASCII, utf-16: Unicode, utf-16BE: Unicode (Big-Endian), utf-32: Unicode (UTF-32), utf-32BE: Unicode (UTF-32 Big-Endian), utf-7: Unicode (UTF-7), utf-8: Unicode (UTF-8), windows-1250: 서유럽 (Windows), windows-1251: 키릴 자모 (Windows), Windows-1252: 서유럽 (Windows), windows-1253: 그리스어 (Windows), windows-1254: 터키어 (Windows), windows-1255: 히브리어 (Windows), windows-1256: 아랍어 (Windows), windows-1257: 발트어 (Windows), windows-1258: 베트남어 (Windows), windows-874: 태국어 (Windows), x-Chinese-CNS: 중국어 번체 (CNS), x-Chinese-Eten: 중국어 번체 (Eten), x-cp20001: TCA 대만, x-cp20003: IBM5550 대만, x-cp20004: TeleText 대만, x-cp20005: Wang 대만, x-cp20261: T.61, x-cp20269: ISO-6937, x-cp20936: 중국어 간체 (GB2312-80), x-cp20949: 한국어 완성, x-cp50227: 중국어 간체 (ISO-2022), x-EBCDIC-KoreanExtended: IBM EBCDIC (한국어 확장), x-Europa: 유럽어, x-IA5: 서유럽(IA5), x-IA5-German: 독일어 (IA5), x-IA5-Norwegian: 노르웨이어 (IA5), x-IA5-Swedish: 스웨덴어 (IA5), x-iscii-as: ISCII 아삼어, x-iscii-be: ISCII 벵골어, x-iscii-de: ISCII 데바나가리 문자, x-iscii-gu: ISCII 구자라트어, x-iscii-ka: ISCII 칸나다어, x-iscii-ma: ISCII 말라얄람어, x-iscii-or: ISCII 오리야어, x-iscii-pa: ISCII 펀잡어, x-iscii-ta: ISCII 타밀어, x-iscii-te: ISCII 텔루구어, x-mac-arabic: 아랍어(Mac), x-mac-ce: 중앙 유럽 (Mac), x-mac-chinesesimp: 중국어 간체 (Mac), x-mac-chinesetrad: 중국어 번체 (Mac), x-mac-croatian: 크로아티아어 (Mac), x-mac-cyrillic: 키릴 자 (Mac), x-mac-greek: 그리스어 (Mac), x-mac-hebrew: 히브리어 (Mac), x-mac-icelandic: 아이슬란드어 (Mac), x-mac-japanese: 일본어 (Mac), x-mac-korean: 한국어 (Mac), x-mac-romanian: 루마니아어 (Mac), x-mac-thai: 태국어 (Mac), x-mac-turkish: 터키어 (Mac), x-mac-ukrainian: 우크라이나어 (Mac)` utf-8 : Unicode (UTF-8) 출력을 읽을 때 사용할 인코딩

변수 생성됨

인수 Type Description
CommandOutput 텍스트 값 DOS 명령 또는 응용 프로그램의 텍스트 출력
CommandErrorOutput 텍스트 값 DOS 명령 또는 응용 프로그램 실행 중 발생한 오류(있는 경우)를 설명하는 텍스트
CommandExitCode 숫자 값 명령 또는 응용 프로그램 종료 코드입니다. 이 값은 숫자입니다

예외

예외 Description
명령 또는 콘솔 응용 프로그램을 실행할 수 없음 지정된 명령 또는 콘솔 응용 프로그램을 실행하는 동안 문제가 발생했음을 나타냄
할당된 시간 내에 스크립트를 실행하지 못함 할당된 시간 내에 제공된 스크립트를 실행하는 데 문제가 있음을 나타냅니다.

VBScript 실행

사용자 지정 VBScript 코드 실행 및 변수에 출력을 검색합니다.

이 작업을 사용하면 데스크탑 흐름에 자신만의 사용자 지정 VBScript 코드를 포함하는 동시에 변수를 사용하여 필요한 경우 동적 VBScript 콘텐츠를 생성할 수 있습니다.

입력 매개 변수

인수 선택 항목 수락 기본값 Description
VBScript to run 텍스트 값 실행할 VBScript 코드입니다. VBScript 실행 전 평가되기 때문에 스크립트 내부에 변수가 포함될 수 있음
시간 제한 후 실패 부울 값 사용 불가 VBScript 스크립트를 무기한 실행할지 아니면 설정된 시간 후에 실패할지 지정합니다.
Timeout 아니요 숫자 값 10 스크립트가 완료될 때까지 기다리는 최대 시간(초)(-1이면 무기한)

변수 생성됨

인수 Type Description
VBScriptOutput 텍스트 값 스크립트의 출력
ScriptError 텍스트 값 VBScript 코드 실행 중 발생할 수 있는 오류

예외

예외 Description
할당된 시간 내에 스크립트를 실행하지 못함 할당된 시간 내에 제공된 스크립트를 실행하는 데 문제가 있음을 나타냅니다.

JavaScript 실행

사용자 지정 JavaScript 코드 실행 및 변수에 출력을 검색합니다.

입력 매개 변수

인수 선택 항목 수락 기본값 Description
JavaScript to run 텍스트 값 실행할 JavaScript 코드입니다. JavaScript 코드 실행 전에 평가되기 때문에 스크립트 내부에 변수가 포함될 수 있음
시간 제한 후 실패 부울 값 JavaScript 스크립트를 무기한 실행할지 아니면 일정 시간 후에 실패할지 지정합니다.
Timeout 아니요 숫자 값 10 스크립트가 완료될 때까지 기다리는 최대 시간(초)(-1이면 무기한)

변수 생성됨

인수 Type Description
JavascriptOutput 텍스트 값 스크립트의 출력
ScriptError 텍스트 값 JavaScript 코드 실행 중 발생할 수 있는 오류

예외

예외 Description
할당된 시간 내에 스크립트를 실행하지 못함 할당된 시간 내에 제공된 스크립트를 실행하는 데 문제가 있음을 나타냅니다.

PowerShell 스크립트 실행

사용자 지정 PowerShell 스크립트 실행 및 변수에 출력을 검색합니다.

이 작업을 사용하면 데스크탑 흐름에 자신만의 사용자 지정 PowerShell 코드를 포함하는 동시에 변수를 사용하여 필요한 경우 동적 PowerShell 콘텐츠를 생성할 수 있습니다.

입력 매개 변수

인수 선택 항목 수락 기본값 Description
실행할 PowerShell 코드 텍스트 값 실행할 PowerShell 코드입니다. PowerShell 코드 실행 전 평가되기 때문에 스크립트 내부에 변수가 포함될 수 있음
시간 제한 후 실패 부울 값 PowerShell 스크립트를 무기한 실행할지 아니면 설정된 시간 후에 실패할지 지정합니다.
Timeout 아니요 숫자 값 10 스크립트가 완료될 때까지 기다리는 최대 시간(초)(-1이면 무기한)

변수 생성됨

인수 Type Description
PowershellOutput 텍스트 값 스크립트의 출력
ScriptError 텍스트 값 PowerShell 코드 실행 중 발생할 수 있는 오류

예외

예외 설명
PowerShell 스크립트를 실행하지 못함 제공된 PowerShell 스크립트를 실행하는 동안 문제가 발생했음을 나타냄
할당된 시간 내에 스크립트를 실행하지 못함 할당된 시간 내에 제공된 스크립트를 실행하는 데 문제가 있음을 나타냅니다.

Python 스크립트 실행

사용자 지정 Python 스크립트 코드 실행 및 출력을 검색합니다.

입력 매개 변수

인수 선택 항목 수락 기본값 Description
Python script to run 없음 텍스트 값 실행할 Python 스크립트 코드
Python 버전 없음 Python 2.7, Python 3.4 Python 2.7 스크립트를 실행할 때 사용할 Python 버전을 지정합니다
Module folder paths 폴더 목록 외부 Python 모듈이 존재하는 폴더의 경로

변수 생성됨

인수 Type Description
PythonScriptOutput 텍스트 값 스크립트의 출력
ScriptError 텍스트 값 Python 스크립트 코드 실행 중 발생할 수 있는 오류

예외

예외 설명
Python 스크립트를 실행하지 못함 제공된 Python 스크립트를 실행하는 동안 문제가 발생했음을 나타냄
디렉터리 없음 디렉터리를 찾을 수 없음을 나타냄

.NET 스크립트 실행

.NET (C#/VB.NET) 스크립트 코드를 실행하고 출력을 검색합니다.

입력 매개 변수

인수 선택 항목 수락 기본값 Description
언어 사용 불가 C#/ VB.NET C# 스크립트의 언어
.NET 스크립트 가져오기 텍스트 값 스크립트에 포함할 .NET 스크립트 가져오기
로드되는 참조 폴더 .NET 동적 링크 라이브러리(.dll 파일) 참조가 있는 루트 경로입니다.
스크립트 매개 변수 사용자가 정의한 스크립트 매개 변수 스크립트에 정의된 매개 변수 값 설정
실행할 .NET 코드 아니요 텍스트 값 실행할 .NET 코드

변수 생성됨

이 작업은 스크립트 매개 변수 창을 사용할 때 사용자가 만든 구성에 따라 변수를 생성할 수 있습니다.

노트

작업이 출력 매개 변수를 생성하도록 구성된 경우(구성할 때 Out 방향 사용) 스크립트 내부의 매개 변수가 null 이외의 값으로 설정되어 있는지 항상 확인해야 합니다. 그렇지 않으면 출력 매개 변수가 설정되지 않았기 때문에 스크립트 실행 시 오류가 발생합니다.

예외

예외 Description
.NET 스크립트를 실행하지 못함 제공된 .NET 스크립트를 실행하는 데 문제가 있음을 나타냅니다.