Condividi tramite


AzurePowerShell@5 - attività Azure PowerShell v5

Usare questa attività per eseguire uno script di PowerShell all'interno di un ambiente di Azure. Il contesto di Azure viene autenticato con la connessione del servizio azure Resource Manager fornita.

Nota

Per impostazione predefinita, Azure PowerShell v5 usa PowerShell Core per gli agenti Linux e Windows PowerShell per gli agenti Windows. Per usare la versione più recente di PowerShell negli agenti Windows, impostare il pwsh parametro su true. PowerShell Core verrà quindi usato.

Sintassi

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

Input

azureSubscription - Sottoscrizione di Azure
Alias di input: ConnectedServiceNameARM. string. Obbligatorio.

Sottoscrizione di Azure Resource Manager da configurare prima di eseguire PowerShell.


ScriptType - Tipo di script
string. Valori consentiti: FilePath (Percorso file script), InlineScript (script script script). Valore predefinito: FilePath.

Tipo dello script: percorso file o inline.


ScriptPath - Percorso script
string. Facoltativa. Usare quando ScriptType = FilePath.

Percorso dello script. Questo deve essere un percorso completo o uno relativo alla directory di lavoro predefinita.


Inline - Inline Script
string. Facoltativa. Usare quando ScriptType = InlineScript. Valore predefinito: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

Specifica lo script da eseguire. La lunghezza massima supportata dello script inline è di 5000 caratteri. Usare uno script da un file se si vuole usare uno script più lungo.


ScriptArguments - Argomenti script
string. Facoltativa. Usare quando ScriptType = FilePath.

Parametri aggiuntivi da passare a PowerShell. Questi parametri possono essere ordinali o denominati. Non applicabile per un'opzione di script inline.


errorActionPreference - ErrorActionPreference
string. Valori consentiti: stop, continue, silentlyContinue. Valore predefinito: stop.

Seleziona il valore della variabile per l'esecuzione ErrorActionPreference dello script.


FailOnStandardError - Errore standard non riuscita
boolean. Valore predefinito: false.

Se questa operazione è vera, questa attività avrà esito negativo se eventuali errori vengono scritti nella pipeline di errore o se i dati vengono scritti nel flusso di errori standard.


azurePowerShellVersion - Azure PowerShell versione
Alias di input: TargetAzurePs. string. Valori consentiti: LatestVersion (versione installata più recente), OtherVersion (Specificare un'altra versione). Valore predefinito: OtherVersion.

Nel caso degli agenti ospitati, le versioni di Azure PowerShell supportate sono 1.0.0, , 1.6.02.3.2, 2.6.0e 3.1.0 (Coda VS2017 ospitata). Per selezionare la versione più recente disponibile nell'agente, selezionare LatestVersion (versione installata più recente).

Per gli agenti privati è possibile specificare una versione preferita di Azure PowerShell usando OtherVersion (Specificare altre versioni).


preferredAzurePowerShellVersion - Versione preferita Azure PowerShell
Alias di input: CustomTargetAzurePs. string. Obbligatorio quando TargetAzurePs = OtherVersion.

La versione Azure PowerShell preferita deve essere una versione semantica appropriata, ad esempio. 1.2.3. Regex come 2.\*,2.3.\* non è supportato. Il pool di VS2017 ospitata supporta attualmente le versioni 1.0.0del modulo Az , , 1.6.02.3.2, 2.6.0e 3.1.0.


pwsh - Usare PowerShell Core
boolean. Valore predefinito: false.

Se è vero, le attività in esecuzione negli agenti Windows useranno pwsh.exe dal percorso anziché powershell.exe.


validateScriptSignature - Convalidare la firma dello script
boolean. Facoltativa. Usare quando ScriptType = FilePath. Valore predefinito: false.

Se è true, l'attività verificherà prima di tutto per assicurarsi che lo script specificato sia firmato e valido prima di eseguirlo.


workingDirectory - Directory di lavoro
string.

Directory di lavoro in cui viene eseguito lo script.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Risoluzione dei problemi

Script funzionato in locale, ma non riuscito nella pipeline

Ciò si verifica in genere quando la connessione al servizio usata nella pipeline ha autorizzazioni insufficienti per eseguire lo script. In locale, lo script viene eseguito con le credenziali e avrà esito positivo in quanto potrebbe avere l'accesso necessario.

Per risolvere questo problema, assicurarsi che le credenziali di autenticazione/principio del servizio dispongano delle autorizzazioni necessarie. Per altre informazioni, vedere Usare Role-Based Controllo di accesso per gestire l'accesso alle risorse della sottoscrizione di Azure.

Errore: impossibile trovare i moduli: '<nome> modulo' con Version: '<version>'. Se il modulo è stato installato di recente, riprovare dopo il riavvio dell'agente attività di Azure Pipelines

Azure PowerShell'attività usa il modulo Azure/AzureRM/Az PowerShell per interagire con la sottoscrizione di Azure. Questo problema si verifica quando il modulo di PowerShell non è disponibile nell'agente ospitato. Pertanto, per una determinata versione dell'attività, è necessario specificare la versione preferita Azure PowerShell nelle opzioni di versione Azure PowerShell dall'elenco delle versioni disponibili. Il software installato è disponibile nella tabella Software negli agenti ospitati da Microsoft.

Problemi di connessione al servizio

Per risolvere i problemi relativi alle connessioni al servizio, vedere Risoluzione dei problemi relativi alla connessione al servizio.

Esempio

Nell'esempio seguente viene illustrato come richiamare uno script da un file e passare gli argomenti di script.

- 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

Gli argomenti seguenti illustrano come richiamare uno script inline.

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

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Esecuzione in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.115.0 o versione successiva
Categoria attività Distribuire