创建密钥库机密 - 操作返回了无效的状态代码“冲突”

问题描述

我想在密钥库中创建多个机密。分配 Blobstorage 帐户、Batch 帐户的动态值。 我尝试了以下代码来创建秘密:

selectors

我正在尝试从 Azure DevOps Powershell 任务执行上述代码。 Azure powershell 版本为 5。

秘密没有被创造出来。抛出以下错误

Function CreatekeyvaultSecrets  
{  
 Param
    (
         [Parameter(Mandatory=$true,Position=0)]
         [string] $keyvaultName,[Parameter(Mandatory=$true,Position=1)]
         [string] $blobStorageAccountName,Position=2)]
         [string] $batchaccountName,Position=3)]
         [string] $logRgName
    )

    #Get Storagekey        
    $blobStorageKeyObject = (Get-AzStorageAccountKey -ResourceGroupName $logRgName -AccountName $blobStorageAccountName)| Where-Object {$_.KeyName -eq "key1"}
    $blobStorageKey = $blobStorageKeyObject.Value

    $blobStorageConnectionString = "DefaultEndpointsProtocol=https;AccountName=$blobStorageAccountName;AccountKey=$blobStorageKey;EndpointSuffix=core.windows.net"


    #Create blobstorage key secret
    $blobSecretkey = ConvertTo-securestring -String $blobStorageKey -AsPlainText -Force

    Set-AzkeyvaultSecret -VaultName $keyvaultName -Name 'blobstorageaccesskey' -SecretValue $blobSecretkey

    #Create blobstorage connectionstring key secret
    $blobconnectionstringSecret = ConvertTo-securestring -String $blobStorageConnectionString -AsPlainText -Force
    Set-AzkeyvaultSecret -VaultName $keyvaultName -Name 'blobstorageconnectionstring' -SecretValue $blobconnectionstringSecret
    Write-host "Blob Storage Account connection string added to keyvault secret"

    
}


CreatekeyvaultSecrets 'kvtevalmock' 'steval' 'abtaeval' 'rg-eval'

解决方法

我在我这边测试了你的脚本,它工作正常。

enter image description here

从错误消息来看,您的 Az.KeyVault powershell 模块版本太旧,我的版本是 car1 = Car "X234X" ("Honda","Civic") car2 = Car "X233X" ("Mazda","3") person1 = Person "Peter" "Mcleod" owner1 = Owner car1 ("888","4144144") [(car2,Broken)] [(person1,("123","1231231")) ] ,请尝试使用以下命令进行更新。

3.4.0

更新后,关闭所有 powershell 会话并打开一个新会话重试,它应该可以工作。