Udostępnij za pośrednictwem


AzurePowerShell@5 — zadanie programu Azure PowerShell w wersji 5

To zadanie służy do uruchamiania skryptu programu PowerShell w środowisku platformy Azure. Kontekst platformy Azure jest uwierzytelniany przy użyciu dostarczonego połączenia usługi Azure Resource Manager.

Uwaga

Domyślnie program Azure PowerShell w wersji 5 używa programu PowerShell Core dla agentów systemu Linux i programu Windows PowerShell dla agentów systemu Windows. Aby użyć najnowszej wersji programu PowerShell na agentach systemu Windows, ustaw parametr pwsh na true. Zamiast tego zostanie użyty program PowerShell Core.

Składnia

# 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.

Dane wejściowe

azureSubscription - subskrypcji platformy Azure
Alias wejściowy: ConnectedServiceNameARM. string. To jest wymagane.

Subskrypcja usługi Azure Resource Manager do skonfigurowania przed uruchomieniem programu PowerShell.

Możesz użyć wyrażeń szablonu, aby określić dane wejściowe połączenia z usługą. W poniższym przykładzie azureSubscription tworzy się przy użyciu ciągu formatu i wyrażenia na podstawie zmiennej 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 - typ skryptu
string. Dozwolone wartości: FilePath (ścieżka pliku skryptu), InlineScript (wbudowany skrypt). Wartość domyślna: FilePath.

Typ skryptu: ścieżka pliku lub wbudowane.


ScriptPath - ścieżka skryptu
string. Opcjonalny. Użyj polecenia , gdy ScriptType = FilePath.

Ścieżka skryptu. Powinna to być w pełni kwalifikowana ścieżka lub ścieżka względna do domyślnego katalogu roboczego.


skryptu wbudowanego
string. Opcjonalny. Użyj polecenia , gdy ScriptType = InlineScript. Wartość domyślna: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

Określa skrypt do wykonania. Maksymalna obsługiwana długość skryptu wbudowanego to 5000 znaków. Użyj skryptu z pliku, jeśli chcesz użyć dłuższego skryptu.


ScriptArguments - argumenty skryptu
string. Opcjonalny. Użyj polecenia , gdy ScriptType = FilePath.

Dodatkowe parametry do przekazania do programu PowerShell. Mogą to być parametry porządkowe lub nazwane. Nie dotyczy opcji skryptu wbudowanego.


errorActionPreference - ErrorActionPreference
string. Dozwolone wartości: stop, continue, silentlyContinue. Wartość domyślna: stop.

Wybiera wartość zmiennej ErrorActionPreference do wykonywania skryptu.


FailOnStandardError - niepowodzenie w błędu standardowego
boolean. Wartość domyślna: false.

Jeśli to prawda, to zadanie zakończy się niepowodzeniem, jeśli jakiekolwiek błędy są zapisywane w potoku błędów lub jeśli jakiekolwiek dane są zapisywane w standardowym strumieniu błędów.


azurePowerShellVersion - wersji programu Azure PowerShell
Alias wejściowy: TargetAzurePs. string. Dozwolone wartości: LatestVersion (najnowsza zainstalowana wersja), OtherVersion (Określ inną wersję). Wartość domyślna: OtherVersion.

W przypadku hostowanych agentów obsługiwane wersje programu Azure PowerShell to 1.0.0, 1.6.0, 2.3.2, 2.6.0i 3.1.0 (hostowana kolejka VS2017). Aby wybrać najnowszą wersję dostępną w agencie, wybierz pozycję LatestVersion (najnowsza zainstalowana wersja).

W przypadku agentów prywatnych można określić preferowaną wersję programu Azure PowerShell przy użyciu OtherVersion (określ inną wersję).


preferredAzurePowerShellVersion - preferowana wersja programu Azure PowerShell
Alias wejściowy: CustomTargetAzurePs. string. Wymagane, gdy TargetAzurePs = OtherVersion.

Preferowana wersja programu Azure PowerShell musi być właściwą wersją semantyczną, np. 1.2.3. Wyrażenie regularne, takie jak 2.\*,2.3.\*, nie jest obsługiwane. Hostowana pula vs2017 obsługuje obecnie wersje modułów Az 1.0.0, 1.6.0, 2.3.2, 2.6.0i 3.1.0.


pwsh - używanie programu PowerShell Core
boolean. Wartość domyślna: false.

Jeśli to prawda, zadania uruchomione na agentach systemu Windows będą używać pwsh.exe ze ścieżki zamiast powershell.exe.


validateScriptSignature - weryfikowanie podpisu skryptu
boolean. Opcjonalny. Użyj polecenia , gdy ScriptType = FilePath. Wartość domyślna: false.

Jeśli jest to prawda, zadanie najpierw sprawdzi, czy określony skrypt jest podpisany i prawidłowy przed jego wykonaniem.


katalogu roboczego workingDirectory -
string.

Katalog roboczy, w którym jest uruchamiany skrypt.


Opcje sterowania zadaniami

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.

Zmienne wyjściowe

Żaden.

Uwagi

Rozwiązywanie problemów

Skrypt działał lokalnie, ale zakończył się niepowodzeniem w potoku

Zwykle występuje to, gdy połączenie usługi używane w potoku ma niewystarczające uprawnienia do uruchamiania skryptu. Lokalnie skrypt uruchamiany przy użyciu poświadczeń może zakończyć się powodzeniem, ponieważ możesz mieć wymagany dostęp.

Aby rozwiązać ten problem, upewnij się, że poświadczenia uwierzytelniania/jednostki usługi obejmują wymagane uprawnienia. Aby uzyskać więcej informacji, zobacz tematy Korzystanie z kontroli dostępu opartej na rolach do zarządzania dostępem do zasobów subskrypcji platformy Azure.

Błąd: Nie można odnaleźć modułów: " nazwa modułu<>" z wersją: "<wersja>". Jeśli moduł został niedawno zainstalowany, spróbuj ponownie po ponownym uruchomieniu agenta zadań usługi Azure Pipelines

Zadanie programu Azure PowerShell używa modułu Azure/AzureRM/Az programu PowerShell do interakcji z subskrypcją platformy Azure. Ten problem występuje, gdy moduł programu PowerShell nie jest dostępny w hostowanym agencie. W związku z tym w przypadku określonej wersji zadania preferowaną wersję programu Azure PowerShell należy określić w opcje wersji programu Azure PowerShell z listy dostępnych wersji. Zainstalowane oprogramowanie można znaleźć w tabeli oprogramowania w agentów hostowanych przez firmę Microsoft.

Problemy z połączeniem z usługą

Aby rozwiązać problemy związane z połączeniami usług, zobacz Rozwiązywanie problemów z połączeniem z usługą.

Przykłady

W poniższym przykładzie pokazano, jak wywołać skrypt z pliku i przekazać do niego argumenty skryptu.

- 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

Poniższe argumenty pokazują, jak wywołać skrypt wbudowany.

- 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!'

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Żaden
możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
ograniczenia poleceń Jakikolwiek
zmienne ustawiane Jakikolwiek
Wersja agenta 2.115.0 lub nowsza
Kategoria zadań Zastosuj