使用 Powershell 一次性在 azure KeyVault 中添加多个秘密的方法
Way to add Multiple secret in azure KeyVault using Powershell in 1 go
$devices = @{ dev1 = "mac"; dev2 = "ipod"; dev3 = "ipad"; dev4 = "samsung"}
$osdev = @{ os1 = "osx"; os2 = "ios"; os3 = "ios"; os4 = "android"}
foreach ($osdevi in $osdev.values){
$hashed=ConvertTo-SecureString -String $osdevi -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $devices.values -Secretvalue $hashed.Values
}
上面的代码面临问题,因为 devices 是秘密名称,osdev 是秘密值。需要通过 PowerShell 一次性添加值。
您可以通过几种方法来处理它。一种简单而常见的方法是使用 CSV 格式。
$csv = @'
type,os
"mac","osx"
"ipod","ios"
"ipad","ios"
"samsung","android"
'@ | ConvertFrom-Csv
foreach ($device in $devices.GetEnumerator()){
$hashed = ConvertTo-SecureString -String $device.OS -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $device.type -Secretvalue $hashed
}
您也可以只创建初始哈希表数组并使用 for 循环
$devices = "mac","ipod","ipad","samsung"
$osdev = "osx","ios","ios","android"
for($i = 0; $i -lt $devices.count; $i++){
$hashed = ConvertTo-SecureString -String $osdev[$i] -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $devices[$i] -Secretvalue $hashed
}
或者您可以组合哈希表
$devices = @{
type = "mac"
os = "osx"
},
@{
type = "ipod"
os = "ios"
},
@{
type = "ipad"
os = "ios"
},
@{
type = "samsung"
os = "android"
}
foreach ($device in $devices.GetEnumerator()){
$hashed = ConvertTo-SecureString -String $device.OS -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $device.type -Secretvalue $hashed
}
$devices = @{ dev1 = "mac"; dev2 = "ipod"; dev3 = "ipad"; dev4 = "samsung"}
$osdev = @{ os1 = "osx"; os2 = "ios"; os3 = "ios"; os4 = "android"}
foreach ($osdevi in $osdev.values){
$hashed=ConvertTo-SecureString -String $osdevi -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $devices.values -Secretvalue $hashed.Values
}
上面的代码面临问题,因为 devices 是秘密名称,osdev 是秘密值。需要通过 PowerShell 一次性添加值。
您可以通过几种方法来处理它。一种简单而常见的方法是使用 CSV 格式。
$csv = @'
type,os
"mac","osx"
"ipod","ios"
"ipad","ios"
"samsung","android"
'@ | ConvertFrom-Csv
foreach ($device in $devices.GetEnumerator()){
$hashed = ConvertTo-SecureString -String $device.OS -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $device.type -Secretvalue $hashed
}
您也可以只创建初始哈希表数组并使用 for 循环
$devices = "mac","ipod","ipad","samsung"
$osdev = "osx","ios","ios","android"
for($i = 0; $i -lt $devices.count; $i++){
$hashed = ConvertTo-SecureString -String $osdev[$i] -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $devices[$i] -Secretvalue $hashed
}
或者您可以组合哈希表
$devices = @{
type = "mac"
os = "osx"
},
@{
type = "ipod"
os = "ios"
},
@{
type = "ipad"
os = "ios"
},
@{
type = "samsung"
os = "android"
}
foreach ($device in $devices.GetEnumerator()){
$hashed = ConvertTo-SecureString -String $device.OS -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'JonnyKv' -Name $device.type -Secretvalue $hashed
}