Dela via


AzurePowerShell@5 – Azure PowerShell v5-uppgift

Använd den här uppgiften för att köra ett PowerShell-skript i en Azure-miljö. Azure-kontexten autentiseras med den tillhandahållna Azure Resource Manager-tjänstanslutningen.

Anteckning

Som standard använder Azure PowerShell v5 PowerShell Core för Linux-agenter och Windows PowerShell för Windows-agenter. Om du vill använda den senaste versionen av PowerShell på Windows-agenter anger du parametern pwsh till true. PowerShell Core används sedan i stället.

Syntax

# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription. 
    #ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
    #ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path. 
    #Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
  # Azure PowerShell version options
    #azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
    preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version. 
  # Advanced
    #pwsh: false # boolean. Use PowerShell Core. Default: false.
    #validateScriptSignature: false # boolean. Optional. Use when ScriptType = FilePath. Validate script signature. Default: false.
    #workingDirectory: # string. Working Directory.
# Azure PowerShell v5
# Run a PowerShell script within an Azure environment.
- task: AzurePowerShell@5
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceNameARM. Required. Azure Subscription. 
    #ScriptType: 'FilePath' # 'FilePath' | 'InlineScript'. Script Type. Default: FilePath.
    #ScriptPath: # string. Optional. Use when ScriptType = FilePath. Script Path. 
    #Inline: # string. Optional. Use when ScriptType = InlineScript. Inline Script. 
    #ScriptArguments: # string. Optional. Use when ScriptType = FilePath. Script Arguments. 
    #errorActionPreference: 'stop' # 'stop' | 'continue' | 'silentlyContinue'. ErrorActionPreference. Default: stop.
    #FailOnStandardError: false # boolean. Fail on Standard Error. Default: false.
  # Azure PowerShell version options
    #azurePowerShellVersion: 'OtherVersion' # 'LatestVersion' | 'OtherVersion'. Alias: TargetAzurePs. Azure PowerShell Version. Default: OtherVersion.
    preferredAzurePowerShellVersion: # string. Alias: CustomTargetAzurePs. Required when TargetAzurePs = OtherVersion. Preferred Azure PowerShell Version. 
  # Advanced
    #pwsh: false # boolean. Use PowerShell Core. Default: false.
    #workingDirectory: # string. Working Directory.

Indata

azureSubscription - Azure-prenumeration
Indataalias: ConnectedServiceNameARM. string. Krävs.

Azure Resource Manager-prenumeration som ska konfigureras innan du kör PowerShell.


ScriptType - Skripttyp
string. Tillåtna värden: FilePath (Skriptfilsökväg), InlineScript (infogat skript). Standardvärde: FilePath.

Typ av skript: filsökväg eller infogad.


ScriptPath - Skriptsökväg
string. Valfritt. Använd när ScriptType = FilePath.

Sökvägen till skriptet. Detta bör vara en fullständigt kvalificerad sökväg eller en i förhållande till standardarbetskatalogen.


Inline - Infogat skript
string. Valfritt. Använd när ScriptType = InlineScript. Standardvärde: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

Anger vilket skript som ska köras. Den maximala längden för infogade skript som stöds är 5 000 tecken. Använd ett skript från en fil om du vill använda ett längre skript.


ScriptArguments - Skriptargument
string. Valfritt. Använd när ScriptType = FilePath.

De ytterligare parametrar som ska skickas till PowerShell. Dessa kan vara antingen ordningstal eller namngivna parametrar. Gäller inte för ett alternativ för infogat skript.


errorActionPreference - ErrorActionPreference
string. Tillåtna värden: stop, continue, silentlyContinue. Standardvärde: stop.

Väljer värdet för variabeln ErrorActionPreference för körning av skriptet.


FailOnStandardError - Fel vid standardfel
boolean. Standardvärde: false.

När detta är sant misslyckas den här uppgiften om några fel skrivs till felpipelinen eller om några data skrivs till standardfelströmmen.


azurePowerShellVersion - Azure PowerShell version
Indataalias: TargetAzurePs. string. Tillåtna värden: LatestVersion (senaste installerade versionen) OtherVersion (Ange annan version). Standardvärde: OtherVersion.

När det gäller värdbaserade agenter är 1.0.0de Azure PowerShell versioner som stöds , 1.6.0, 2.3.2, 2.6.0och 3.1.0 (värdbaserad VS2017-kö). Välj den senaste versionen som är tillgänglig i agenten genom att välja LatestVersion (Senaste installerade versionen).

För privata agenter kan du ange en önskad version av Azure PowerShell med (OtherVersionAnge annan version).


preferredAzurePowerShellVersion - Önskad Azure PowerShell version
Indataalias: CustomTargetAzurePs. string. Krävs när TargetAzurePs = OtherVersion.

Den föredragna Azure PowerShell version måste vara en korrekt semantisk version t.ex. 1.2.3. Regex liknande 2.\*,2.3.\* stöds inte. Den värdbaserade VS2017-poolen stöder för närvarande Az-modulversioner 1.0.0, 1.6.0, 2.3.2, 2.6.0och 3.1.0.


pwsh - Använda PowerShell Core
boolean. Standardvärde: false.

Om detta är sant används pwsh.exe aktiviteter som körs på Windows-agenter från sökvägen i stället för powershell.exe.


validateScriptSignature - Verifiera skriptsignatur
boolean. Valfritt. Använd när ScriptType = FilePath. Standardvärde: false.

Om detta är sant kontrollerar aktiviteten först att det angivna skriptet är signerat och giltigt innan det körs.


workingDirectory - Arbetskatalog
string.

Arbetskatalogen där skriptet körs.


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Felsökning

Skriptet fungerade lokalt, men misslyckades i pipelinen

Detta inträffar vanligtvis när tjänstanslutningen som används i pipelinen inte har tillräcklig behörighet för att köra skriptet. Lokalt körs skriptet med dina autentiseringsuppgifter och skulle lyckas eftersom du kan ha den åtkomst som krävs.

Lös problemet genom att se till att tjänstprincipen/autentiseringsuppgifterna har de behörigheter som krävs. Mer information finns i Använda Role-Based Access Control för att hantera åtkomst till dina Azure-prenumerationsresurser.

Fel: Det gick inte att hitta modulerna: "<modulnamn>" med version: "<version>". Om modulen nyligen installerades försöker du igen när du har startat om Azure Pipelines-aktivitetsagenten

Azure PowerShell uppgift använder Azure/AzureRM/Az PowerShell-modulen för att interagera med Azure-prenumeration. Det här problemet uppstår när PowerShell-modulen inte är tillgänglig på den värdbaserade agenten. Därför måste önskad Azure PowerShell version anges i Azure PowerShell versionsalternativ från listan över tillgängliga versioner för en viss uppgiftsversion. Den installerade programvaran finns i tabellen Programvara i Microsoft-värdbaserade agenter.

Problem med tjänstanslutning

Information om hur du felsöker problem som rör tjänstanslutningar finns i Felsökning av tjänstanslutning.

Exempel

I följande exempel visas hur du anropar ett skript från en fil och skickar skriptargument till den.

- task: AzurePowerShell@5
  inputs:
    azureSubscription: my-arm-service-connection
    scriptType: filePath
    scriptPath: $(Build.SourcesDirectory)\myscript.ps1
    scriptArguments:
      -Arg1 val1 `
      -Arg2 val2 `
      -Arg3 val3
    azurePowerShellVersion: latestVersion
    pwsh: true

Följande argument visar hur du anropar ett infogat skript.

- task: AzurePowerShell@5
  inputs:
    azureSubscription: 'Azure subscription connection placeholder'
    azurePowerShellVersion: LatestVersion
    ScriptType: 'InlineScript'
    Inline: |
      # You can write your azure powershell scripts inline here. 
      # You can also pass predefined and custom variables to this script using arguments
      Write-Host 'Hello'
      Write-Host 'World!'

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.115.0 eller senare
Uppgiftskategori Distribuera