Ошибка в задаче Powershell с параметром $ var «Термин« keyVaultName »не распознается как имя командлета» - PullRequest
1 голос
/ 31 октября 2019

Сообщение об ошибке:

[error]The term 'keyVaultName' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Разработка YAML-конвейера Azure Devops. Мой встроенный скрипт в моей задаче powershell

- task: AzurePowerShell@4
  inputs:
    azureSubscription: '<REDACTED>'
    ScriptType: 'InlineScript'
    Inline: |
      Install-Module -Name "AzureAD"
      $keyVaultAdGroup = 'rkimkeyvault'
      $keyVaultName = 'rkaksKeyVault'

Как видите, у меня явно есть $ перед keyVaultName, чтобы сделать это переменной. Не уверен, почему он пытается увидеть его как командлет.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2019

Я понял, что за этими строками кода есть что-то, что является проблемой. Таким образом, с подходом «разделяй и властвуй» я обнаружил, что моя проблема заключается в том, что это () вокруг roleNameGUID Write-Host «## vso [task.setvariable variable = roleNameGuid] $ (roleNameGuid)» Я убрал эти скобки, и это нормально.

0 голосов
/ 31 октября 2019

Я думаю, вам нужно установить, убедитесь, что модуль AzureRM.KeyVault установлен и загружен:

Install-Module AzureRM.KeyVault
Import-Module AzureRM.KeyVault
...