AzurePowerShell@5 - Azure PowerShell v5-taak
Gebruik deze taak om een PowerShell-script uit te voeren in een Azure-omgeving. De Azure-context wordt geverifieerd met de opgegeven Azure Resource Manager-serviceverbinding.
Notitie
Azure PowerShell v5 maakt standaard gebruik van PowerShell Core voor Linux-agents en Windows PowerShell voor Windows-agents. Als u de nieuwste versie van PowerShell op Windows-agents wilt gebruiken, stelt u de parameter pwsh
in op true
. PowerShell Core wordt vervolgens gebruikt.
Syntaxis
# 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.
Invoer
azureSubscription
-
Azure-abonnement
Invoeralias: ConnectedServiceNameARM
.
string
. Verplicht.
Het Azure Resource Manager-abonnement dat u wilt configureren voordat u PowerShell uitvoert.
ScriptType
-
scripttype
string
. Toegestane waarden: FilePath
(scriptbestandspad), InlineScript
(inlinescript). Standaardwaarde: FilePath
.
Het type script: bestandspad of inline.
ScriptPath
-
scriptpad
string
. Facultatief. Gebruiken wanneer ScriptType = FilePath
.
Het pad van het script. Dit moet een volledig gekwalificeerd pad zijn of één ten opzichte van de standaardwerkmap.
Inline
-
inlinescript
string
. Facultatief. Gebruiken wanneer ScriptType = InlineScript
. Standaardwaarde: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments
.
Hiermee wordt het script opgegeven dat moet worden uitgevoerd. De maximale ondersteunde lengte van inlinescripts is 5000 tekens. Gebruik een script uit een bestand als u een langer script wilt gebruiken.
ScriptArguments
-
scriptargumenten
string
. Facultatief. Gebruiken wanneer ScriptType = FilePath
.
De aanvullende parameters die moeten worden doorgegeven aan PowerShell. Dit kunnen ordinale of benoemde parameters zijn. Niet van toepassing op een inlinescriptoptie.
errorActionPreference
-
ErrorActionPreference
string
. Toegestane waarden: stop
, continue
, silentlyContinue
. Standaardwaarde: stop
.
Selecteert de waarde van de ErrorActionPreference
variabele voor het uitvoeren van het script.
FailOnStandardError
-
mislukt bij standaardfout
boolean
. Standaardwaarde: false
.
Als dit waar is, mislukt deze taak als er fouten naar de foutpijplijn worden geschreven of als er gegevens naar de standaardfoutstroom worden geschreven.
azurePowerShellVersion
-
Azure PowerShell-versie
Invoeralias: TargetAzurePs
.
string
. Toegestane waarden: LatestVersion
(meest recente geïnstalleerde versie), OtherVersion
(geef een andere versie op). Standaardwaarde: OtherVersion
.
In het geval van gehoste agents zijn de ondersteunde Azure PowerShell-versies 1.0.0
, 1.6.0
, 2.3.2
, 2.6.0
en 3.1.0
(gehoste VS2017-wachtrij).
Als u de meest recente versie wilt kiezen die beschikbaar is op de agent, selecteert u LatestVersion
(meest recente geïnstalleerde versie).
Voor privéagents kunt u een voorkeursversie van Azure PowerShell opgeven met behulp van OtherVersion
(geef een andere versie op).
preferredAzurePowerShellVersion
-
voorkeursversie van Azure PowerShell
Invoeralias: CustomTargetAzurePs
.
string
. Vereist wanneer TargetAzurePs = OtherVersion
.
De voorkeursversie van Azure PowerShell moet een juiste semantische versie zijn, bijvoorbeeld.
1.2.3
. Regex zoals 2.\*,2.3.\*
wordt niet ondersteund. De gehoste VS2017-pool ondersteunt momenteel Az-moduleversies 1.0.0
, 1.6.0
, 2.3.2
, 2.6.0
en 3.1.0
.
pwsh
-
PowerShell Core- gebruiken
boolean
. Standaardwaarde: false
.
Als dit waar is, gebruiken taken die worden uitgevoerd op Windows-agents pwsh.exe
van uw pad in plaats van powershell.exe
.
validateScriptSignature
-
scripthandtekening valideren
boolean
. Facultatief. Gebruiken wanneer ScriptType = FilePath
. Standaardwaarde: false
.
Als dit waar is, controleert de taak eerst of het opgegeven script is ondertekend en geldig is voordat het wordt uitgevoerd.
workingDirectory
-
werkmap
string
.
De werkmap waarin het script wordt uitgevoerd.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
Problemen oplossen
Script werkte lokaal, maar is mislukt in de pijplijn
Dit gebeurt meestal wanneer de serviceverbinding die in de automatisering wordt gebruikt onvoldoende machtigingen heeft om het script uit te voeren. Lokaal wordt het script uitgevoerd met uw inloggegevens en zou het slagen het omdat u mogelijk over de vereiste toegang beschikt.
Om dit probleem op te lossen, moet u ervoor zorgen dat de referenties voor service-principal/verificatie-inloggegevens over de vereiste machtigingen beschikken. Voor meer informatie raadpleegt u Op rollen gebaseerd toegangsbeheer gebruiken voor het beheer van de toegang tot de resources van uw Azure-abonnement.
Fout: kan de modules niet vinden: '<modulenaam>' met versie: '<versie>'. Als de module onlangs is geïnstalleerd, probeert u het opnieuw nadat u de Azure Pipelines-taakagent opnieuw hebt gestart
Azure PowerShell-taak maakt gebruik van Azure/AzureRM/Az PowerShell Module om te communiceren met Azure-abonnement. Dit probleem treedt op wanneer de PowerShell-module niet beschikbaar is op de gehoste agent. Daarom moet voor een bepaalde taakversie Voorkeursversie van Azure PowerShell worden opgegeven in de Opties voor Azure PowerShell-versie uit de lijst met beschikbare versies. De geïnstalleerde software vindt u in de tabel Software in door Microsoft gehoste agents.
Problemen met serviceverbindingen
Als u problemen met betrekking tot serviceverbindingen wilt oplossen, raadpleegt u Service Connection troubleshooting.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een script aanroept vanuit een bestand en scriptargumenten doorgeeft.
- 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
De volgende argumenten laten zien hoe u een inlinescript aanroept.
- 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!'
Vereisten
Voorwaarde | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build, klassieke release |
Wordt uitgevoerd op | Agent, DeploymentGroup |
eisen | Geen |
mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Welk dan ook |
variabelen instellen | Welk dan ook |
Agentversie | 2.115.0 of hoger |
Taakcategorie | Implementeren |