获取AzKeyVaultSecret-VaultName…|名称或服务未知



我有一个管道,在其中我调用了一个powershell脚本,该脚本将azure密钥库的秘密从一个密钥库复制到另一个密钥仓库。这是powershell脚本:

$SecretNames =   "api-gateway--jwt-public-key",
"authentication-service--jwt-private-key",
"user-management--pen-password",
"user-management--stripe-secret-key"
$sourceVaultName="fdevcuskv03"
$destVaultName="fdevcuskv04"
for (($i = 0); $i -lt $SecretNames.Count; $i++)
{
$sourceSecretName = "$($SecretNames[$i])"
$destSecretName = "$($SecretNames[$i])"

$Getvalue=(Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $sourceSecretName).SecretValue
Write-Host "Copying $sourceSecretName Value To $destSecretName"

Set-AzKeyVaultSecret -VaultName $destVaultName -Name $destSecretName `
-SecretValue $Getvalue
}

当我运行管道时,我得到了这个错误,但这在本地运行良好。错误如下:

Get-AzKeyVaultSecret: /home/vsts/work/1/s/Terraform/Terraform-Scripts/main.ps1:351
Line |
351 |  …  $Getvalue=(Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $s …
|                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Name or service not known

我有点困惑,我做错了什么。

在检查的同时,请检查是否是dns解析问题或无效的dns缓存导致了错误。

为此,请尝试给它睡眠时间,并重复该步骤。(也通过dns flush进行检查(放置@classiceven的check azure powershell issues(github(评论,并通过首先检查dns是否已解决设置azure keyvault。

foreach(($i = 0); $i -lt $SecretNames.Count; $i++)
{
$sourceSecretName = "$($SecretNames[$i])"
$destSecretName = $sourceSecretName 

$Getvalue=(Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $sourceSecretName).SecretValue
Write-Host "Copying $sourceSecretName Value To $destSecretName"
setSecret
function setSecret{
while (!$secret) {
$DnsCheck = Resolve-DnsName $VaultURI -ErrorAction SilentlyContinue
if (!$DnsCheck) {
write-host "Resolve-DnsName taking time to resolve $vaultName. Keep trying!"
Start-Sleep -Seconds 30
Set-AzKeyVaultSecret -VaultName $destVaultName -Name  $destSecretName `
-SecretValue $Getvalue -ErrorAction SilentlyContinue
}
}
$secret = Set-AzKeyVaultSecret -VaultName $destVaultName -Name  $destSecretName `
-SecretValue $Getvalue -ErrorAction SilentlyContinue
setSecret
}
}

参考:Set AzureKeyVaultSecret无法识别vaultName·GitHub

最新更新