Sdílet prostřednictvím


AzurePowerShell@5 – úloha Azure PowerShell v5

Tuto úlohu použijte ke spuštění skriptu PowerShellu v prostředí Azure. Kontext Azure se ověří pomocí poskytnutého připojení služby Azure Resource Manager.

Poznámka

Azure PowerShell v5 ve výchozím nastavení používá agenty PowerShellu Core pro Linux a Windows PowerShell pro agenty windows. Pokud chcete v agentech Pro Windows používat nejnovější verzi PowerShellu, nastavte pwsh parametr na true. Místo toho se pak použije PowerShell Core.

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.

Vstupy

azureSubscription - Předplatné Azure
Alias vstupu: ConnectedServiceNameARM. string. Povinná hodnota.

Azure Resource Manager předplatné, které se má nakonfigurovat před spuštěním PowerShellu.


ScriptType - Typ skriptu
string. Povolené hodnoty: FilePath (Cesta k souboru skriptu), InlineScript (vložený skript). Výchozí hodnota: FilePath.

Typ skriptu: cesta k souboru nebo vložená.


ScriptPath - Cesta ke skriptu
string. Nepovinný parametr. Použijte, když ScriptType = FilePath.

Cesta skriptu. Mělo by se jednat o plně kvalifikovanou cestu nebo cestu relativní k výchozímu pracovnímu adresáři.


Inline - Vložený skript
string. Nepovinný parametr. Použijte, když ScriptType = InlineScript. Výchozí hodnota: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

Specifikuje skript, který se má spustit. Maximální podporovaná délka vloženého skriptu je 5 000 znaků. Pokud chcete použít delší skript, použijte skript ze souboru.


ScriptArguments - Argumenty skriptu
string. Nepovinný parametr. Použijte, když ScriptType = FilePath.

Další parametry, které se předávají do PowerShellu. Můžou to být řadové nebo pojmenované parametry. Neplatí pro možnost vloženého skriptu.


errorActionPreference - ErrorActionPreference
string. Povolené hodnoty: stop, continue, silentlyContinue. Výchozí hodnota: stop.

Vybere hodnotu ErrorActionPreference proměnné pro spuštění skriptu.


FailOnStandardError - Selhání při standardní chybě
boolean. Výchozí hodnota: false.

Pokud je to pravda, tato úloha selže, pokud se do kanálu chyb zapíšou nějaké chyby nebo pokud se do standardního datového proudu chyb zapíšou nějaká data.


azurePowerShellVersion - verze Azure PowerShell
Alias vstupu: TargetAzurePs. string. Povolené hodnoty: LatestVersion (Nejnovější nainstalovaná verze), OtherVersion (Zadejte jinou verzi). Výchozí hodnota: OtherVersion.

V případě hostovaných agentů jsou 1.0.0podporované verze Azure PowerShell , 1.6.0, 2.3.22.6.0a 3.1.0 (hostovaná fronta VS2017). Pokud chcete vybrat nejnovější verzi dostupnou v agentu, vyberte LatestVersion (Nejnovější nainstalovaná verze).

U privátních agentů můžete určit upřednostňovanou verzi Azure PowerShell pomocí OtherVersion (Zadejte jinou verzi).


preferredAzurePowerShellVersion - Upřednostňovaná verze Azure PowerShell
Alias vstupu: CustomTargetAzurePs. string. Vyžaduje se, když TargetAzurePs = OtherVersion.

Upřednostňovanou Azure PowerShell Verze musí být správná sémantická verze, např. 1.2.3. Regulární výraz like 2.\*,2.3.\* se nepodporuje. Hostovaný fond VS2017 v současné době podporuje moduly Az verze 1.0.0, 1.6.0, , 2.3.22.6.0a 3.1.0.


pwsh - Použití PowerShellu Core
boolean. Výchozí hodnota: false.

Pokud je to pravda, pak úlohy spuštěné na agentech Windows použijí pwsh.exe z vaší cesty místo powershell.exe.


validateScriptSignature - Ověření podpisu skriptu
boolean. Nepovinný parametr. Použijte, když ScriptType = FilePath. Výchozí hodnota: false.

Pokud je to pravda, úloha před jeho spuštěním nejprve zkontroluje, jestli je zadaný skript podepsaný a platný.


workingDirectory - Pracovní adresář
string.

Pracovní adresář, ve kterém je skript spuštěn.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Řešení potíží

Skript fungoval místně, ale v kanálu selhal

K tomu obvykle dochází v případě, že připojení služby použité v kanálu nemá dostatečná oprávnění ke spuštění skriptu. Místně se skript spustí s vašimi přihlašovacími údaji a bude úspěšný, protože můžete mít požadovaný přístup.

Pokud chcete tento problém vyřešit, ujistěte se, že instanční objekt nebo přihlašovací údaje pro ověřování mají požadovaná oprávnění. Další informace najdete v tématu Použití Role-Based Access Control ke správě přístupu k prostředkům předplatného Azure.

Chyba: Nelze najít moduly: název<> modulu s verzí: "verze>"<. Pokud byl modul nedávno nainstalovaný, zkuste to znovu po restartování agenta úloh Azure Pipelines.

Azure PowerShell úloha používá k interakci s předplatným Azure modul Azure, AzureRM nebo Az PowerShell. K tomuto problému dochází v případě, že modul PowerShellu není k dispozici v hostovaném agentu. Proto pro konkrétní verzi úlohy musí být v možnostech Azure PowerShell verze ze seznamu dostupných verzí zadána upřednostňovaná Azure PowerShell verze. Nainstalovaný software najdete v tabulce Software v agentech hostovaných Microsoftem.

Problémy s připojením služby

Informace o řešení potíží souvisejících s připojením služeb najdete v tématu Řešení potíží s připojením služby.

Příklady

Následující příklad ukazuje, jak vyvolat skript ze souboru a předat do něj argumenty skriptu.

- 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

Následující argumenty ukazují, jak vyvolat vložený skript.

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

Požadavky

Požadavek Popis
Typy kanálů YAML, klasický build, klasická verze
Běží na Agent, DeploymentGroup
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.115.0 nebo vyšší
Kategorie úloh Nasazení