PowerShell@1– PowerShell v1-Aufgabe
Führen Sie ein PowerShell-Skript aus.
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.
Eingaben
scriptType
- Typ
string
. Erforderlich. Zulässige Werte: inlineScript
(Inlineskript), filePath
(Dateipfad). Standardwert. filePath
.
Gibt den Typ des Skripts für die auszuführende Aufgabe an: ein Inlineskript oder ein Pfad zu einer .ps1
Datei.
scriptName
- Skriptpfad
string
. Erforderlich, wenn scriptType = filePath
.
Gibt den Typ des Skripts für die auszuführende Aufgabe an: ein Inlineskript oder ein Pfad zu einer .ps1
Datei.
arguments
- Argumente
string
.
Gibt die Argumente an, die an das PowerShell-Skript übergeben werden. Argumente können Ordnungsparameter oder benannte Parameter sein. Beispiel: -Name someName -Path -Value "Some long string value"
.
arguments
wird nicht verwendet, wenn targetType
auf inline
festgelegt ist.
workingFolder
- Arbeitsordner
string
.
Gibt das Arbeitsverzeichnis an, in dem das Skript ausgeführt wird. Wenn kein Wert angegeben wird, lautet $(Build.SourcesDirectory)
das Arbeitsverzeichnis .
inlineScript
- Inlineskript
string
. Erforderlich, wenn scriptType = inlineScript
. Standardwert. # 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"
.
Gibt den Inhalt des Skripts an. Die maximal unterstützte Inlineskriptlänge beträgt 500 Zeichen. Verwenden Sie ein Skript aus einer Datei, wenn Sie ein längeres Skript verwenden möchten.
failOnStandardError
- Fehler beim Standardfehler
boolean
. Standardwert. true
.
Wenn der Wert dieses booleschen Werts ist, schlägt true
die Aufgabe fehl, wenn Fehler in die Fehlerpipeline geschrieben werden oder Wenn Daten in den Standardfehlerdatenstrom geschrieben werden. Andernfalls basiert die Aufgabe auf dem Exitcode, um den Fehler zu ermitteln.
Optionen für die Vorgangskontrolle
Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.
Ausgabevariablen
Keine.
Bemerkungen
PowerShell@1
wird nur auf Windows-Agents ausgeführt. Verwenden Sie zum Ausführen von PowerShell auf anderen Agenttypen PowerShell@2.
Jede PowerShell-Sitzung bleibt nur für die Dauer des Auftrags, in dem sie ausgeführt wird, bestehen. Vorgänge, die davon abhängen, welches Bootstrapping stattgefunden hat, müssen sich im selben Auftrag wie der Bootstrap befinden.
Festlegen einer Variablen, damit sie von nachfolgenden Skripts und Aufgaben gelesen werden kann
Weitere Informationen zum Definieren von Buildvariablen in einem Skript finden Sie unter Definieren und Ändern Ihrer Buildvariablen in einem Skript.
Weitere Informationen zum Definieren von Releasevariablen in einem Skript finden Sie unter Definieren und Ändern ihrer Releasevariablen in einem Skript.
Übergeben von Pipelinegeheimnissen im Skript, aber geheimnis ist nicht in Pipelineprotokollen maskiert
Beachten Sie, dass PowerShell Fehlermeldungen abschneidet. Wenn Sie also Pipelinegeheimnisse in einem Skript verwenden, können die Geheimnisse gekürzt und verfügbar gemacht werden. Beispiel: Im folgenden Inlineskript:
./script.ps1 --arg1 value1 --arg2 <some_secret_which_will_be_masked_here>
Es könnte eine Ausnahme wie folgende geben: At <path_to_temp_script_file>:4 char:3
:
+ ./script.ps1 --arg1 value1 --arg2 <unmasked_part_of_original_secret> ...
+ ~~~~~~~~~~
+ <Additional exception details>
Um dieses Problem zu vermeiden, können Sie diese Ausnahmen auf Skriptebene behandeln oder Fälle vermeiden, in der Pipelinegeheimnisse in Quellcodezeilen in Fehlermeldungen angezeigt werden können.
Anforderungen
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Klassischer Build, klassisches Release |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Selbstgehostete Agents müssen über Funktionen verfügen, die den folgenden Anforderungen entsprechen, um Aufträge auszuführen, die diese Aufgabe verwenden: DotNetFramework |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Setzbare Variablen | Any |
Agent-Version | 1.102 oder höher |
Aufgabenkategorie | Hilfsprogramm |
Weitere Informationen
- Verwenden eines PowerShell-Skripts zum Anpassen Ihrer Pipeline – ApplyVersionToAssemblies.ps1
- Weitere Informationen zu PowerShell-Skripts