PowerShell@1 — zadanie programu PowerShell w wersji 1
Uruchom skrypt programu PowerShell.
Składnia
# 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.
Dane wejściowe
scriptType
- Typu
string
. Wymagane. Dozwolone wartości: inlineScript
(Wbudowany skrypt), filePath
(Ścieżka pliku). Wartość domyślna: filePath
.
Określa typ skryptu do uruchomienia zadania: wbudowany skrypt lub ścieżkę .ps1
do pliku.
scriptName
- Ścieżka skryptu
string
. Wymagane, gdy scriptType = filePath
.
Określa typ skryptu do uruchomienia zadania: wbudowany skrypt lub ścieżkę .ps1
do pliku.
arguments
- Argumenty
string
.
Określa argumenty przekazywane do skryptu programu PowerShell. Argumenty mogą być parametrami porządkowymi lub nazwami parametrów. Na przykład -Name someName -Path -Value "Some long string value"
.
arguments
nie jest używany, gdy targetType
ustawiono wartość inline
.
workingFolder
- Folder roboczy
string
.
Określa katalog roboczy, w którym jest uruchamiany skrypt. Jeśli nie określono wartości, katalog roboczy to $(Build.SourcesDirectory)
.
inlineScript
- Wbudowany skrypt
string
. Wymagane, gdy scriptType = inlineScript
. Wartość domyślna: # 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"
.
Określa zawartość skryptu. Maksymalna obsługiwana długość skryptu wbudowanego wynosi 500 znaków. Użyj skryptu z pliku, jeśli chcesz użyć dłuższego skryptu.
failOnStandardError
- Błąd standardowy kończy się niepowodzeniem
boolean
. Wartość domyślna: true
.
Jeśli wartość tego wartości logicznej to true
, zadanie kończy się niepowodzeniem, jeśli jakiekolwiek błędy są zapisywane w potoku błędów lub jeśli jakiekolwiek dane są zapisywane w strumieniu błędów w warstwie Standardowa. W przeciwnym razie zadanie opiera się na kodzie zakończenia w celu określenia błędu.
Opcje sterowania zadania
Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań. Aby uzyskać więcej informacji, zobacz Opcje sterowania i typowe właściwości zadań.
Zmienne wyjściowe
Brak.
Uwagi
PowerShell@1
działa tylko na agentach systemu Windows. Aby uruchomić program PowerShell w innych typach agentów, użyj PowerShell@2.
Każda sesja programu PowerShell trwa tylko przez czas trwania zadania, w którym jest uruchamiana. Zadania zależne od tego, co zostało uruchomione, muszą znajdować się w tym samym zadaniu co bootstrap.
Ustaw zmienną, aby mogła być odczytywana przez kolejne skrypty i zadania
Aby dowiedzieć się więcej na temat definiowania zmiennych kompilacji w skrycie, zobacz Definiowanie i modyfikowanie zmiennych kompilacji w skrycie.
Aby dowiedzieć się więcej na temat definiowania zmiennych wydania w skrycie, zobacz Definiowanie i modyfikowanie zmiennych wydania w skrycie.
Przekazywanie wpisów tajnych potoku w skrypie, ale wpis tajny nie jest maskowany w dziennikach potoku
Należy pamiętać, że program PowerShell odcina komunikaty o błędach, więc jeśli używasz wpisów tajnych potoku w skrypie, wpisy tajne mogą zostać przycięte i uwidocznione. Na przykład w poniższym skryscie wbudowanym:
./script.ps1 --arg1 value1 --arg2 <some_secret_which_will_be_masked_here>
Może istnieć wyjątek, taki jak: : At <path_to_temp_script_file>:4 char:3
+ ./script.ps1 --arg1 value1 --arg2 <unmasked_part_of_original_secret> ...
+ ~~~~~~~~~~
+ <Additional exception details>
Aby uniknąć tego problemu, można obsłużyć te wyjątki na poziomie skryptu lub uniknąć przypadków, gdy wpisy tajne potoku mogą pojawiać się w wierszach kodu źródłowego w komunikatach o błędach.
Wymagania
Wymaganie | Opis |
---|---|
Typy potoków | YAML, kompilacja klasyczna, wersja klasyczna |
Działa na | Agent, DeploymentGroup |
Wymagania | Agenci hostowani samodzielnie muszą mieć możliwości zgodne z następującymi wymaganiami dotyczącymi uruchamiania zadań korzystających z tego zadania: DotNetFramework |
Możliwości | To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu. |
Ograniczenia poleceń | Dowolne |
Zmienne w formie tabeli settable | Dowolne |
Wersja agenta | 1.102 lub nowsza |
Kategoria zadania | Narzędzie |
Zobacz też
- Dostosowywanie potoku za pomocą skryptu programu PowerShell — ApplyVersionToAssemblies.ps1
- Dowiedz się więcej o skryptach programu PowerShell