$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
}面对上述代码作为设备的问题,以一个秘密的名称和osdev,是秘密值。需要通过PowerShell在1中添加值。
发布于 2020-12-01 01:07:39
有几种方法你可以接近它。一种简单而普遍的方法是使用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
}https://stackoverflow.com/questions/65083136
复制相似问题