다음을 통해 공유


PowerShell@1 - PowerShell v1 작업

PowerShell 스크립트를 실행합니다.

Syntax

# PowerShell v1
# Run a PowerShell script.
- task: PowerShell@1
  inputs:
    scriptType: 'filePath' # 'inlineScript' | 'filePath'. Required. Type. Default: filePath.
    scriptName: # string. Required when scriptType = filePath. Script Path. 
    #arguments: # string. Arguments. 
    #inlineScript: # string. Required when scriptType = inlineScript. Inline Script. 
  # Advanced
    #workingFolder: # string. Working folder. 
    #failOnStandardError: true # boolean. Fail on Standard Error. Default: true.

입력

scriptType - 형식
string. 필수 요소. 허용되는 값: inlineScript (인라인 스크립트), filePath (파일 경로). 기본값은 filePath입니다.

실행할 태스크의 스크립트 유형(인라인 스크립트 또는 파일 경로)을 .ps1 지정합니다.


scriptName - 스크립트 경로
string. 필요한 경우 scriptType = filePath입니다.

실행할 태스크의 스크립트 유형(인라인 스크립트 또는 파일 경로)을 .ps1 지정합니다.


arguments - 인수
string.

PowerShell 스크립트에 전달된 인수를 지정합니다. 인수는 서수 매개 변수 또는 명명된 매개 변수일 수 있습니다. 예: -Name someName -Path -Value "Some long string value".

arguments가 로 설정된 inline경우 targetType 가 사용되지 않습니다.


workingFolder - 작업 폴더
string.

스크립트가 실행되는 작업 디렉터리를 지정합니다. 값을 지정하지 않으면 작업 디렉터리가 입니다 $(Build.SourcesDirectory).


inlineScript - 인라인 스크립트
string. 필요한 경우 scriptType = inlineScript입니다. 기본값은 # You can write your powershell scripts inline here. \n# You can also pass predefined and custom variables to this scripts using arguments\n\n Write-Host "Hello World"입니다.

스크립트의 내용을 지정합니다. 지원되는 최대 인라인 스크립트 길이는 500자입니다. 더 긴 스크립트를 사용하려면 파일의 스크립트를 사용합니다.


failOnStandardError - 표준 오류 발생 시 실패
boolean. 기본값은 true입니다.

이 부울 값이 true이면 오류가 오류 파이프라인에 기록되거나 표준 오류 스트림에 데이터가 기록되면 작업이 실패합니다. 그렇지 않으면 태스크는 종료 코드를 사용하여 실패를 확인합니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.

출력 변수

없음

설명

PowerShell@1 은 Windows 에이전트에서만 실행됩니다. 다른 에이전트 유형에서 PowerShell을 실행하려면 PowerShell@2 사용합니다.

각 PowerShell 세션은 실행되는 작업 기간 동안만 지속됩니다. 부트스트랩된 작업에 의존하는 작업은 부트스트랩과 동일한 작업에 있어야 합니다.

후속 스크립트 및 태스크에서 읽을 수 있도록 변수 설정

스크립트에서 빌드 변수를 정의하는 방법에 대한 자세한 내용은 스크립트 에서 빌드 변수 정의 및 수정을 참조하세요.

스크립트에서 릴리스 변수를 정의하는 방법에 대한 자세한 내용은 스크립트에서 릴리스 변수 정의 및 수정을 참조하세요.

스크립트에서 파이프라인 비밀을 전달하지만 비밀은 파이프라인 로그에서 마스킹되지 않습니다.

PowerShell은 오류 메시지를 차단하므로 스크립트에서 파이프라인 비밀을 사용하는 경우 비밀을 잘라내고 노출할 수 있습니다. 예를 들어 아래 인라인 스크립트에서 다음을 수행합니다.

./script.ps1 --arg1 value1 --arg2 <some_secret_which_will_be_masked_here>

다음과 같은 At <path_to_temp_script_file>:4 char:3예외가 있을 수 있습니다.

+   ./script.ps1 --arg1 value1 --arg2 <unmasked_part_of_original_secret> ...
+   ~~~~~~~~~~
    + <Additional exception details>

이 문제를 방지하려면 스크립트 수준에서 이러한 예외를 처리하거나 오류 메시지 내의 소스 코드 줄에 파이프라인 비밀이 나타날 수 있는 경우를 방지할 수 있습니다.

요구 사항

요구 사항 Description
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
실행 중 에이전트, DeploymentGroup
요청 자체 호스팅 에이전트에는 이 작업을 사용하는 작업을 실행하기 위한 다음 요구 사항과 일치하는 기능이 있어야 합니다. DotNetFramework
Capabilities 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다.
명령 제한 사항 모두
Settable 변수 모두
에이전트 버전 1.102 이상
작업 범주 유틸리티

추가 정보