当前位置: 首页 > 知识库问答 >
问题:

如何使用Powershell将所有机密从一个Azure Keyvault复制到另一个

胡泓
2023-03-14

我们最近发现需要将每个秘密(名称和值)从一个Azure KeyVault复制到新创建的一个。我找到了从备份中恢复秘密的方法,但我们没有备份。是否有一个Powershell脚本可以循环访问源存储库中的每个名称/值组合,并将其复制到目标存储库?

共有1个答案

南宫兴德
2023-03-14

这太触发了(无意冒犯),这里有一个更“强大”的版本:

Param(
    [Parameter(Mandatory)]
    [string]$sourceVaultName,
    [Parameter(Mandatory)]
    [string]$destVaultName
)

Connect-AzAccount

$secretNames = (Get-AzKeyVaultSecret -VaultName $sourceVaultName).Name
$secretNames.foreach{
    Set-AzKeyVaultSecret -VaultName $destVaultName -Name $_ `
        -SecretValue (Get-AzKeyVaultSecret -VaultName $sourceVaultName -Name $_).SecretValue
}

总结一下:

参数在此更改中是必需的,您可以通过选项卡完成这些参数,因此不必记住哪个是第一个。
使用foreach比使用do\while更简洁(当然更少的认知工作)。
不必将值强制转换为文本并将其加密回来,只需使用加密值将其分配给新的秘密即可

 类似资料:
  • 我正试图将证书从一个密钥存储库复制到另一个密钥存储库中,而不在本地计算机上保存它。看起来Azure KeyVault CLI只支持基于文件的证书导入,如下所示: 有什么方法可以代替传递对象或字符串吗?在Azure Powershell模块中,这是可能的:

  • 您好,我正在尝试将一个表从一个docx文件复制到另一个docx文件,但实际情况是,该表的值在新文档中的表下方和表外部被复制(请参见下面的图片) Talbe在新的docx里 正如您所见,表的值被复制到表的外部。我使用的是Libre Office,ApachePOI版本3.17,我的电脑运行的是Ubuntu 16.04 我用来执行复制的代码如下

  • 问题内容: 我想保留一张表作为历史记录并将其替换为空表。我如何通过Management Studio做到这一点? 问题答案: 将表复制到要归档的表中: 删除表中的所有条目:

  • 问题内容: 我需要遍历for循环的每次迭代的值集,但仅对于第一次迭代,它可以正常工作。此后返回。 我很清楚这种行为。 一种解决方案是在for循环中调用方法,因此对于每个for循环迭代,都会对其进行初始化。但这是非常无效的方法,因为它是独立的。 我尝试了此方法,但由于它仅包含参考,因此也无法正常工作。 有什么方法可以将迭代器复制到另一个或其他更好的方法中? 问题答案: An 是可能的最小API,可以

  • 问题内容: 我有两个具有相同属性名称的java类。如何将所有属性复制到另一个装有数据的bean中。我不想使用传统形式来复制属性,因为我有很多属性。 提前致谢。 1班 2班 问题答案: 用途:

  • 我所处的情况是,当用户付款时,存储在Firestore集合(CartProducts)中的购物车产品应移动到名为SuccessFullOrders的新集合。 因此,我的基本问题是如何在Flutter中将所有文档从一个集合移动到Firestore的另一个集合 我不知道如何在flutter中编写代码。谢谢你的回答 这是我的代码