Freigeben über


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 inlinefestgelegt 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 truedie 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