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