У меня есть файл CSV с несколькими столбцами, из которых я выбираю 2 и 3 (просто игнорирую 1-й). Моя цель - выполнить команду с параметром «хэш» для каждого хоста. у каждого хоста есть 2 + n хеш-параметров, поэтому мне нужно найти способ выполнить n + 1 раз одну и ту же команду с другим параметром «хэш».
Логика моей цели такова:
connect to esx1
execute "command -option 9221"
execute "command -option 53301"
connect to esx12
execute "command -option 55799"
execute "command -option 51990"
... etc
Проблема в том, что у меня есть имя хоста в каждой строке, и из приведенных ниже результатов вы можете видеть, что я снова и снова зацикливаюсь с одного и того же хоста, выполняя одни и те же «хеш-команды».
CSV content
magic hostname hash
3 esx1.mylab.local 9221
3 esx1.mylab.local 53301
3 esx12.mylab.local 55799
3 esx12.mylab.local 51990
3 esx15.mylab.local 62157
3 esx15.mylab.local 12796
$import = Import-Csv c:\mycsv.csv | select hostname,hash
foreach ($vmhost2 in $import.hostname){
Write-Host "Connecting to $vmhost2"
foreach ($myhash in $import.hash) {
Write-Host "Executing magic for $vmhost2 with $myhash"
}
}
РЕЗУЛЬТАТ
>>Connecting to esx1.mylab.local
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Connecting to esx1.mylab.local
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Executing magic for esx1.mylab.local with
Connecting to esx12.mylab.local
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Connecting to esx12.mylab.local
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Executing magic for esx12.mylab.local with
Connecting to esx15.mylab.local
Executing magic for esx15.mylab.local with
Executing magic for esx15.mylab.local with
Executing magic for esx15.mylab.local with
Executing magic for esx15.mylab.local with
Executing magic for esx15.mylab.local with
Executing magic for esx15.mylab.local with
Любое представление о логике. Я попытался создать CSV с уникальными именами хостов и оставить только столбец «хеш», но затем я нажал «невозможно подключиться к ПУСТОМУ»
CSV content
magic hostname hash
3 esx1.mylab.local 9221
3 53301
3 esx12.mylab.local 55799
3 51990
3 esx15.mylab.local 62157
3 12796