Megosztás a következőn keresztül:


AzurePowerShell@5 – Azure PowerShell v5-feladat

Ezzel a feladatsal PowerShell-szkriptet futtathat egy Azure-környezetben. Az Azure-környezet hitelesítése a megadott Azure Resource Manager-szolgáltatáskapcsolattal történik.

Megjegyzés

Az Azure PowerShell v5 alapértelmezés szerint a Linux-ügynökökhöz készült PowerShell Core-t, a Windows-ügynökökhöz pedig a Windows PowerShellt használja. A PowerShell legújabb verziójának Windows-ügynökökön való használatához állítsa a pwsh paramétert true. Ezután a PowerShell Core lesz használatban.

Szinopszis

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

Bemenetek

azureSubscription - Azure-előfizetési
Bemeneti alias: ConnectedServiceNameARM. string. Szükséges.

A PowerShell futtatása előtt konfigurálni kívánt Azure Resource Manager-előfizetés.

A szolgáltatáskapcsolat bemenetének megadásához sablonkifejezéseket használhat. Az alábbi példában a azureSubscription egy formátumsztring és egy kifejezés használatával jön létre a environmentName változó alapján.

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 - szkripttípus
string. Engedélyezett értékek: FilePath (szkriptfájl elérési útja), InlineScript (beágyazott szkript). Alapértelmezett érték: FilePath.

A szkript típusa: fájl elérési útja vagy beágyazott.


ScriptPath - szkriptútvonal
string. Opcionális. Használja a ScriptType = FilePath.

A szkript elérési útja. Ennek teljes elérési útnak vagy az alapértelmezett munkakönyvtárhoz képest egynek kell lennie.


Inline - beágyazott szkript
string. Opcionális. Használja a ScriptType = InlineScript. Alapértelmezett érték: # You can write your azure powershell scripts inline here. \n# You can also pass predefined and custom variables to this script using arguments.

A végrehajtandó szkriptet specifikálja. A maximálisan támogatott beágyazott szkripthossz 5000 karakter. Ha hosszabb szkriptet szeretne használni, használjon egy fájlból származó szkriptet.


ScriptArguments - szkriptargumentumok
string. Opcionális. Használja a ScriptType = FilePath.

A PowerShellnek továbbadandó további paraméterek. Ezek lehetnek sorszámos vagy elnevezett paraméterek. Beágyazott szkriptek esetében nem alkalmazható.


errorActionPreference - ErrorActionPreference
string. Engedélyezett értékek: stop, continue, silentlyContinue. Alapértelmezett érték: stop.

Kiválasztja a szkript végrehajtásához használt ErrorActionPreference változó értékét.


FailOnStandardError - Normál hiba
boolean. Alapértelmezett érték: false.

Ha ez igaz, ez a feladat sikertelen lesz, ha a hibafolyamatba bármilyen hiba van beírva, vagy ha az adatok a standard hibastreambe vannak írva.


azurePowerShellVersion - Azure PowerShell-verzió
Bemeneti alias: TargetAzurePs. string. Engedélyezett értékek: LatestVersion (legújabb telepített verzió), OtherVersion (Más verzió megadása). Alapértelmezett érték: OtherVersion.

Üzemeltetett ügynökök esetén a támogatott Azure PowerShell-verziók a következők: 1.0.0, 1.6.0, 2.3.2, 2.6.0és 3.1.0 (üzemeltetett VS2017-üzenetsor). Az ügynökön elérhető legújabb verzió kiválasztásához válassza a LatestVersion (Legújabb telepített verzió) lehetőséget.

Magánügynökök esetén megadhatja az Azure PowerShell előnyben részesített verzióját a OtherVersion (Más verzió megadása) használatával.


preferredAzurePowerShellVersion - Előnyben részesített Azure PowerShell-verzió
Bemeneti alias: CustomTargetAzurePs. string. TargetAzurePs = OtherVersionesetén kötelező.

Az előnyben részesített Azure PowerShell-verziónak megfelelő szemantikai verziónak kell lennie, például. 1.2.3. A regex, mint a 2.\*,2.3.\* nem támogatott. A üzemeltetett VS2017 készlet jelenleg az Az modulverziókat támogatja 1.0.0, 1.6.0, 2.3.2, 2.6.0és 3.1.0.


pwsh - PowerShell Core használata
boolean. Alapértelmezett érték: false.

Ha ez igaz, akkor a Windows-ügynökökön futó feladatok pwsh.exe fognak használni az elérési útból powershell.exehelyett.


validateScriptSignature - Szkript aláírásának ellenőrzése
boolean. Opcionális. Használja a ScriptType = FilePath. Alapértelmezett érték: false.

Ha ez igaz, akkor a feladat először ellenőrzi, hogy a megadott szkript aláírása és érvényes-e a végrehajtása előtt.


workingDirectory - Munkakönyvtár
string.

Az a munkakönyvtár, amelyen a szkript fut.


Feladatvezérlési lehetőségek

Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlők és gyakori feladattulajdonságok.

Kimeneti változók

Nincs.

Megjegyzések

Hibaelhárítás

A szkript helyileg működött, de a folyamat meghiúsult

Ez általában akkor fordul elő, ha a folyamatban használt szolgáltatáskapcsolat nem rendelkezik elegendő engedéllyel a szkript futtatásához. A szkript helyileg a hitelesítő adatokkal fut, és sikeres lesz, mivel lehetséges, hogy Ön rendelkezik a szükséges hozzáféréssel.

A probléma megoldásához győződjön meg arról, hogy a szolgáltatásnév/hitelesítési adatok rendelkeznek a szükséges engedélyekkel. További információért lásd: Az Azure-előfizetések erőforrásaihoz való hozzáférés kezelése szerepköralapú hozzáférés-vezérléssel.

Hiba: Nem található a modul: '<modul neve>' verzióval: '<verzió>'. Ha a modul nemrég lett telepítve, próbálkozzon újra az Azure Pipelines-feladatügynök újraindítása után

Az Azure PowerShell-feladat az Azure/AzureRM/Az PowerShell-modul használatával kommunikál az Azure-előfizetéssel. Ez a probléma akkor fordul elő, ha a PowerShell-modul nem érhető el a üzemeltetett ügynökön. Ezért egy adott feladatverzió esetében Előnyben részesített Azure PowerShell-verziót kell megadni az elérhető verziók listájából Azure PowerShell-verzió beállításai között. A telepített szoftver megtalálható a Szoftver táblában Microsoft által üzemeltetett ügynökök.

Szolgáltatáskapcsolati problémák

A szolgáltatáskapcsolatokkal kapcsolatos problémák elhárításához tekintse meg Szolgáltatáskapcsolat hibaelhárításicímű témakört.

Példák

Az alábbi példa bemutatja, hogyan hívhat meg egy parancsfájlt egy fájlból, és hogyan adhat át szkriptargumentumokat.

- 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

Az alábbi argumentumok bemutatják, hogyan hívhat meg beágyazott szkripteket.

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

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás bekapcsolva Ügynök, DeploymentGroup
Követelmények Egyik sem
képességek Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek.
parancskorlátozások Bármely
Változók beállítása Bármely
Ügynök verziója 2.115.0 vagy újabb
Tevékenységkategória Üzembe helyezés