问题描述
我想在密钥库中创建多个机密。分配 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'
解决方法
我在我这边测试了你的脚本,它工作正常。
从错误消息来看,您的 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 会话并打开一个新会话重试,它应该可以工作。