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

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.0en 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.0en 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