azure - 如何使用 powerShell 在 Azure 密钥库机密中存储 json 文件内容(密钥)?
问题描述
json 文件可能包含一个或多个数据块,如下所示。
[
{
"ApplicationName": "123456.Abcv.WFcvsdfa",
"SecretKey": "NDRkNDJjOTAtZjBhYi00NctYjkwYTNlMjNmZTQy"
}
]
或者
[
{
"ApplicationName": "753456.Abcv.WFcvsdfa",
"SecretKey": "NDRkNDJjOTAtZjBhYi00NctYjkwYTNlMjNmZTQy"
},
{
"ApplicationName": "9045647.GQERDF.GDEAGJWSasdf",
"SecretKey": "OTlmMmMxYjgtZjEzMS00MTkwLWI1NDQtYjI2MT"
}
{
"ApplicationName": "1523456.Abcv.WFcvsdfa",
"SecretKey": "NDRkNDJjOTAtZjBhYi00NctYjkwYTNlMjNmZTQy"
},
{
"ApplicationName": "3645647.GQERDF.GDEAGJWSasdf",
"SecretKey": "OTlmMmMxYjgtZjEzMS00MTkwLWI1NDQtYjI2MT"
}
{
"ApplicationName": "5423456.Abcv.WFcvsdfa",
"SecretKey": "NDRkNDJjOTAtZjBhYi00NctYjkwYTNlMjNmZTQy"
},
{
"ApplicationName": "6445647.GQERDF.GDEAGJWSasdf",
"SecretKey": "OTlmMmMxYjgtZjEzMS00MTkwLWI1NDQtYjI2MT"
}
]
机密名称应为 ApplicationName。必须从应用程序名称中删除点。
谢谢,非常感谢您的帮助
解决方案
在这里,我得到了这篇文章的解决方案,希望将来对其他人有所帮助。
$VaultName = "test900066"
$hashtable = Get-Content 'out.json' | ConvertFrom-Json
foreach ($h in $hashtable.GetEnumerator()) {
$SecureString = ConvertTo-SecureString $h.SecretKey -AsPlainText -Force
$ApplicationName = $h.ApplicationName -Replace '\.',''
# Write-Host "$($ApplicationName) : $SecureString"
Set-AzKeyVaultSecret -VaultName $VaultName -Name $ApplicationName -SecretValue $SecureString
}
推荐阅读
- javascript - 为什么 AND 逻辑功能在我的情况下不起作用?
- deep-learning - 如何通过强化学习在图中找到不同人的步行路径?
- c++ - TIdTCPServer 共享串口
- r - 按日期绘制多个箱线图
- plotly - Plotly sankey - 在 HTML 文件中保存更改(节点位置)
- excel - 在 excel 中有没有办法为整个列应用基于公式的条件格式?
- python - 读取块中的图像文件后图像损坏
- javascript - 如何将代码发送到用html输入框编写的电子邮件
- javascript - 如何在页面上订购 React 组件,以便它们出现在列中
- kubernetes - K3S OpenVPN 安装(树莓派)