共用方式為


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當 設定為 inlinetargetType ,不會使用 。


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
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任意
Settable 變數 任意
代理程式版本 1.102 或更新版本
工作類別 公用程式

另請參閱