Udostępnij za pośrednictwem


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ż