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 - 脚本路径
string. 当 scriptType = filePath 时,需要此选项。

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


arguments - 参数
string.

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

arguments设置为 时targetTypeinline不使用 。


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>

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

要求

要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求 自承载代理必须具有满足以下要求才能运行使用此任务的作业的功能:DotNetFramework
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置变量 任意
代理版本 1.102 或更高版本
任务类别 实用工具

另请参阅