在Powershell Task中设置$ var'时出错,术语'keyVaultName'无法识别为cmdlet的名称”

时间:2019-10-31 13:12:47

标签: azure powershell azure-devops yaml

错误消息:

  

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

开发azure devops YAML管道。 我的Powershell任务中的内联脚本

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

正如您所看到的,我显然在$前面有keyVaultName使其成为变量。不确定为什么要尝试将其视为cmdlet。

2 个答案:

答案 0 :(得分:0)

我想您需要安装,确保已安装和加载AzureRM.KeyVault模块:

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

答案 1 :(得分:0)

我认为问题出在那些代码行之外。因此,采用分而治之的方法,我发现我的问题是在roleNameGUID周围的() 写主机“ ## vso [task.setvariable variable = roleNameGuid] $(roleNameGuid)” 我把那些括号拿走了,很好。