Для выполнения операций поочерёдно с использованием переменных из массива в PowerShell, вы можете использовать цикл ForEach-Object
или foreach
. В вашем случае, когда у вас есть два файла с данными, и вы хотите создать символические ссылки для каждой пары номера ПК и имени пользователя, скрипт может выглядеть следующим образом:
$pc_numbers = Get-Content 'C:\test\pc_name_stm.txt'
$user_names = Get-Content 'C:\test\stm_name.txt'
for ($i = 0; $i -lt $pc_numbers.Length; $i++) {
$pc_number = $pc_numbers[$i]
$user_name = $user_names[$i]
$path = "\\$pc_number\c$\Users\$user_name\Desktop\Полезные_ссылки_СТМ"
$target = "\\192.168.123.220\Shared\СТМ\Полезные_ссылки_СТМ"
New-Item -ItemType SymbolicLink -Path $path -Target $target
}
Этот скрипт считывает данные из обоих файлов и сохраняет их в массивы $pc_numbers
и $user_names
. Затем он использует цикл for
, чтобы пройти по каждому элементу массивов, создавая символическую ссылку для каждой пары номера ПК и имени пользователя.
Обратите внимание, что если количество строк в файлах различается, это может привести к ошибкам. Убедитесь, что количество строк в обоих файлах совпадает.
Если вы столкнулись с проблемой потери строк при использовании переменных в двойных кавычках, убедитесь, что вы правильно обращаетесь к элементам массива, как показано в примере выше, где $pc_number
и $user_name
являются отдельными элементами массива, а не всем массивом сразу.