Объединение двух CSV файлов по общему столбцу средствами powershell

Скрипт объединения двух CSV файлов по общему столбцу.
Задача: Перенос учетных записей пользователей с одного сервера на другой. В организации есть список пользователей с паролями в excel, про безопасность тут речь не идет!

  1. С помощью скрипта powershell выполняется экспорт рабочих учетных записей в CSV файл (обязательно в UTF-8)
  2. Копируется таблица с пользователями и паролями из файла организации и сохраняется в csv (в качестве разделителя используется точка с запятой)
  3. C помощью текущего скрипта (указанного ниже) объединяются два файла csv в один (принцип объединения по общему столбцу)
#Актуальный файл с пользователями
$usersactual = Get-Content -Path "C:\ps\00\usersactual.csv"
$usersfile2 = ConvertFrom-Csv -InputObject $usersactual

#тиблица из Excel файла преобразованная в csv
$usersfile = Get-Content -Path "C:\ps\00\usersfiles.csv"
$usersfile1 = ConvertFrom-Csv -InputObject $usersfile -Delimiter ';'


$text=""
#создаем файл с заголовками
add-content -path C:\ps\00\users.csv  -value 'fullname;name;password'


#перебираем оба файла и создаем новый
foreach ($users1 in $usersfile2) {

    foreach ($users2 in $usersfile1) {
    
        if (($users2.Name).Equals($users1.Name)) {
          $text=$users2.Fullname+';' + $users2.name+ ';' + $users2.password
          add-content -path C:\ps\00\users.csv  -value $text
        }

    }
    
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *