Delen via


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

Standaard maakt Azure PowerShell v5 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 pwsh parameter in op true. In plaats daarvan wordt PowerShell Core gebruikt.

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.

Invoerwaarden

azureSubscription - Azure-abonnement
Invoeralias: ConnectedServiceNameARM. string. Vereist.

Het Azure Resource Manager-abonnement dat moet worden geconfigureerd voordat u PowerShell uitvoert.


ScriptType - Scripttype
string. Toegestane waarden: FilePath (Pad scriptbestand), InlineScript (inlinescript). Standaardwaarde: FilePath.

Het type script: bestandspad of inline.


ScriptPath - Scriptpad
string. Optioneel. Gebruik wanneer ScriptType = FilePath.

Het pad van het script. Dit moet een volledig gekwalificeerd pad zijn of een ten opzichte van de standaardwerkmap.


Inline - Inlinescript
string. Optioneel. Gebruik 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 maximaal ondersteunde inlinescriptlengte is 5000 tekens. Gebruik een script uit een bestand als u een langer script wilt gebruiken.


ScriptArguments - Scriptargumenten
string. Optioneel. Gebruik 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 - Fout bij standaardfout
boolean. Standaardwaarde: false.

Wanneer 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 (Laatst geïnstalleerde versie), OtherVersion (Geef een andere versie op). Standaardwaarde: OtherVersion.

In het geval van gehoste agents zijn 1.0.0de ondersteunde Azure PowerShell versies , 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 (Laatst geïnstalleerde versie).

Voor privéagenten kunt u een voorkeursversie van Azure PowerShell opgeven met (OtherVersionAndere versie opgeven).


preferredAzurePowerShellVersion - Voorkeursversie Azure PowerShell
Invoeralias: CustomTargetAzurePs. string. Vereist wanneer TargetAzurePs = OtherVersion.

De voorkeursversie Azure PowerShell versie moet een juiste semantische versie zijn, bijvoorbeeld. 1.2.3. Regex like 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.0en 3.1.0.


pwsh - PowerShell Core gebruiken
boolean. Standaardwaarde: false.

Als dit waar is, gebruiken pwsh.exe taken die worden uitgevoerd op Windows-agents vanuit uw pad in plaats van powershell.exe.


validateScriptSignature - Scripthandtekening valideren
boolean. Optioneel. Gebruik 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 voor besturingselementen en algemene taakeigenschappen voor 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 pijplijn wordt gebruikt, onvoldoende machtigingen heeft om het script uit te voeren. Het script wordt lokaal uitgevoerd met uw referenties en slaagt omdat u mogelijk de vereiste toegang hebt.

U kunt dit probleem oplossen door ervoor te zorgen dat de referenties voor het service-principal/de verificatie de vereiste machtigingen hebben. Zie Role-Based Access Control gebruiken om de toegang tot uw Azure-abonnementsresources te beheren voor meer informatie.

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 de PowerShell-module Azure/AzureRM/Az om te communiceren met het Azure-abonnement. Dit probleem treedt op wanneer de PowerShell-module niet beschikbaar is op de gehoste agent. Daarom moet voor een bepaalde taakversie voorkeursversie Azure PowerShell versie worden opgegeven in de Azure PowerShell versieopties uit de lijst met beschikbare versies. De geïnstalleerde software vindt u in de tabel Software in door Microsoft gehoste agents.

Problemen met de serviceverbinding

Zie Problemen met serviceverbindingen oplossen om problemen met betrekking tot serviceverbindingen op te lossen.

Voorbeelden

In het volgende voorbeeld ziet u hoe u een script vanuit een bestand aanroept en scriptargumenten aan het bestand 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

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 2.115.0 of hoger
Taakcategorie Implementeren