New-AzureRmKeyVault:'vaultName' 与预期模式不匹配

New-AzureRmKeyVault : 'vaultName' does not match expected pattern

我正尝试按照本教程为我的应用程序设置 Azure Key Vault:https://blogs.technet.microsoft.com/kv/2015/06/02/azure-key-vault-step-by-step/

在本教程的创建和配置密钥保管库部分,在执行以下两个步骤之后:

我无法执行此步骤:

它在我的 PowerShell 中显示错误消息:

New-AzureRmKeyVault : 'vaultName' does not match expected pattern '^[a-zA-Z0-9-]{3,24}$'. At line:1 char:1 + New-AzureRmKeyVault -VaultName ProfileKeyVault -ResourceGro ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [New-AzureRmKeyVault], ValidationException + FullyQualifiedErrorId : Microsoft.Azure.Commands.KeyVault.NewAzureKeyVault

尝试将保管库名称放在引号中。

New-AzureRmKeyVault -VaultName 'Contoso03Vault' -ResourceGroupName 'Group14' -Location 'East US'

当我收到错误时

'vaultName' does not match expected pattern

我发现将 Powershell 与原始 Az CLI 命令一起使用时,您必须使用双引号才能创建 KeyVault。

az keyvault create --name "vault-Name-01" --resource-group $resourceGroupName --location $location --sku Standard --enabled-for-disk-encryption true

在 Powershell 脚本中,您传入用双引号引起来的变量

[string]$vaultName = "vault-Name-01"
az keyvault create --name $vaultName --resource-group $resourceGroupName --location $location -sku Standard --enabled-for-disk-encryption true

然后当你想设置一个值时你删除双引号:

az keyvault secret set --vault-name $vaultName.Replace("`"","") --name $_.name  --value  $_.value

进一步调查显示问题适用于列出显示金库秘密,我遇到了臭名昭著的错误:

尝试连接到 Vault 时已超过最大重试次数。保管库可能不存在,或者您可能需要刷新 DNS 缓存并稍后重试。

KeyVault 存在,因为我可以使用不带引号的 VaultName 列出保管库机密:

$secretNames = az keyvault secret list --vault-name $sourceVaultName.Replace("`"","") -o json --query "[].name"  | ConvertFrom-Json

但是,如果您在尝试 显示 秘密时不包含引号 $sourceVaultName,则会出现 Max Retires 错误:

$secrets = $secretNames | % {
    $secret = az keyvault secret show --name $_ --vault-name $sourceVaultName -o json | ConvertFrom-Json
    [PSCustomObject]@{
        name  = $_;
        value = $secret.value;
    }
}

如果这些调用中的任何一个超时并且结果为空,请参考此解决方案:

这几乎就像两个开发人员在代码上工作并且有不同的意见...... https://github.com/Azure/azure-cli/issues/13952