Ответы пользователя по тегу PowerShell
  • Как использовать переменные из массива поочерёдно (Powershell)?

    Azamat_Lee
    @Azamat_Lee
    Работаю с Wordpress
    Для выполнения операций поочерёдно с использованием переменных из массива в 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 являются отдельными элементами массива, а не всем массивом сразу.
    Ответ написан