PowerShell@1 - PowerShell v1 任务

运行 PowerShell 脚本。

语法

# 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 - 脚本路径
stringscriptType = filePath时是必需的。

指定要运行的任务的脚本类型:内联脚本或 .ps1 文件的路径。


arguments - 参数
string

指定传递给 PowerShell 脚本的参数。 参数可以是序号参数或命名参数。 例如,-Name someName -Path -Value "Some long string value"

arguments 设置为 targetType时,不使用 inline


workingFolder - 工作文件夹
string

指定运行脚本的工作目录。 如果未指定值,则工作目录 $(Build.SourcesDirectory)


inlineScript - 内联脚本
stringscriptType = 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 个字符。 如果要使用较长的脚本,请使用文件中的脚本。


标准错误 失败
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>

若要避免此问题,可以在脚本级别处理这些异常,或者避免在错误消息中的源代码行中出现管道机密时出现的情况。

要求

要求 说明
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 自承载代理必须具有 功能, 与以下 要求 运行使用此任务的作业:DotNetFramework
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 1.102 或更高版本
任务类别 效用

另请参阅