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>
若要避免此問題,您可以在腳本層級上處理這些例外狀況,或避免管線秘密可能會在錯誤訊息內的源程式碼中出現的情況。
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行于 | Agent、DeploymentGroup |
要求 | 自我裝載代理程式必須具備符合下列需求的功能,才能執行使用此工作的作業:DotNetFramework |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任意 |
Settable 變數 | 任意 |
代理程式版本 | 1.102 或更新版本 |
工作類別 | 公用程式 |