Вывод этого кода меня смущает.Я почти уверен, что это моя логика.
Я хочу пройтись по переменной $ stringToEdit и заменить текст 'replace' на элемент коллекции $ ip.
Выводдействительно дает три блока, как и ожидалось, но «замена» имеет ВСЕ три элемента.Я думал, что это должен быть только каждый элемент.Что я делаю неправильно?
Код ниже
$ip = @('172.168.1.1','172.168.3.1','172.168.2.1')
$stringToEdit = @"
{
address : replace
interface : 'nic0'
policy : 'allow'
prefix : 32
},
"@
$array = @()
$array = ForEach($entry in $ip) {
$stringToEdit -replace "replace","$ip"
}
$array
Выход
{
address : 172.168.1.1 172.168.3.1 172.168.2.1
interface : 'nic0'
policy : 'allow'
prefix : 32
},
{
address : 172.168.1.1 172.168.3.1 172.168.2.1
interface : 'nic0'
policy : 'allow'
prefix : 32
},
{
address : 172.168.1.1 172.168.3.1 172.168.2.1
interface : 'nic0'
policy : 'allow'
prefix : 32
},