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.
Anmärkning
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.
Ingångar
azureSubscription
-
Azure-prenumeration
Indataalias: ConnectedServiceNameARM
.
string
. Obligatoriskt.
Den Azure Resource Manager-prenumeration som ska konfigureras innan du kör PowerShell.
Du kan använda malluttryck för att ange tjänstanslutningsindata. I följande exempel skapar azureSubscription
med hjälp av en formatsträng och ett uttryck baserat på variabeln environmentName
.
pool:
vmImage: ubuntu-latest
variables:
# Format string for the service connection
azureSubscriptionFormat: 'connectionString-{0}-001'
stages:
- stage: Prepare
variables:
environmentName: 'test'
# Stage level variable with the service connection name
# Evaluates to conenctionString-test-001
azureSubscription: ${{ format(variables.azureSubscriptionFormat, variables.environmentName) }}
jobs:
- job: RunStuff
steps:
- task: AzureCLI@2
inputs:
# Set this input to the computed value
azureSubscription: ${{ variables.azureSubscription }}
scriptType: bash
scriptLocation: inlineScript
inlineScript: 'echo Hello ${{ variables.azureSubscription }}'
- task: AzurePowerShell@5
inputs:
# Set this input to the computed value
azureSubscription: ${{ variables.azureSubscription }}
azurePowerShellVersion: 'LatestVersion'
scriptType: 'InlineScript'
inline: Write-Host "Hello ${{ variables.azureSubscription }}"
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 på 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. Inte tillämpligt för ett infogat skriptalternativ.
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 de Azure PowerShell-versioner som stöds 1.0.0
, 1.6.0
, 2.3.2
, 2.6.0
och 3.1.0
(värdbaserad VS2017-kö).
Välj den senaste versionen som är tillgänglig för agenten genom att välja LatestVersion
(senaste installerade versionen).
För privata agenter kan du ange en önskad version av Azure PowerShell med hjälp av OtherVersion
(Ange annan version).
preferredAzurePowerShellVersion
-
Föredragen Azure PowerShell-version
Indataalias: CustomTargetAzurePs
.
string
. Krävs när TargetAzurePs = OtherVersion
.
Den föredragna Azure PowerShell-versionen måste vara en korrekt semantisk version t.ex.
1.2.3
. Regex som 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.0
och 3.1.0
.
pwsh
-
Använda PowerShell Core
boolean
. Standardvärde: false
.
Om detta är sant använder aktiviteter som körs på Windows-agenter pwsh.exe
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
Ingen.
Anmärkningar
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äckliga behörigheter för att köra skriptet. Lokalt körs skriptet med dina autentiseringsuppgifter och kan lyckas eftersom du kan ha nödvändig åtkomst.
Lös problemet genom att se till att autentiseringsuppgifterna för tjänsten har behörigheterna som krävs. Mer information finns i Använda rollbaserad åtkomstkontroll för att hantera åtkomsten till dina Azure-prenumerationsresurser.
Fel: Det gick inte att hitta modulerna:<modulnamn>med version:<version>. Om modulen nyligen har installerats försöker du igen när du har startat om Azure Pipelines-aktivitetsagenten
Azure PowerShell-uppgifter använder Azure/AzureRM/Az PowerShell-modulen för att interagera med Azure-prenumerationen. Det här problemet uppstår när PowerShell-modulen inte är tillgänglig på den värdbaserade agenten. För en viss aktivitetsversion måste därför Önskad Azure PowerShell-version anges i Azure PowerShell-versionsalternativ från listan över tillgängliga versioner. Den installerade programvaran finns i tabellen Software i Microsoft-värdbaserade agenter.
Problem med tjänstanslutning
Information om hur du felsöker problem som rör tjänstanslutningar finns i felsöka Service Connection.
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 |
kräver | Ingen |
funktioner | Den här aktiviteten uppfyller inte några krav på efterföljande uppgifter i jobbet. |
Kommandobegränsningar | Vilken som helst |
variabler som kan | Vilken som helst |
Agentversion | 2.115.0 eller senare |
Aktivitetskategori | Gruppera |