Найти строку и заменить данные в CSV - PullRequest
0 голосов
/ 09 июня 2019

У меня есть файл CSv с 3 столбцами.

Я хотел бы найти слово в первых столбцах и изменить данные в той же строке, но в столбце 3

Я пытался использовать Where-Object {$ _. Однозначное имя-подобие " Jule "}, и я могу изменить данные в строке 3 (данное имя), но остальная часть файла будет потеряна.

DistinguishedName                      Enabled GivenName                                                                                                                 
-----------------                      ------- ---------                                                                                                                 
CN=Jule lacroix,CN=Users,DC=test,DC=com True    01000000d0
CN=Marc la,CN=Users,DC=test,DC=com      False   Martin 

Ответы [ 2 ]

1 голос
/ 09 июня 2019

Один из способов сделать это - перебрать данные с помощью цикла foreach.Затем внесите изменения в каждую строку, которая соответствует критериям:

$CSVData = Import-Csv -Path File.csv

foreach ($row in $CSVData) {
    if ($row.DistinguishedName -like "*Jule*") {
       $row.GivenName = "New Name"
    }
}
$CSVData # Will contain the updated data
0 голосов
/ 09 июня 2019

Я искал 2 часа, и я нашел решение

Я нашел это решение на другом форуме, спасибо cduff

$csv = Import-Csv C:\Users\jule\Documents\test\save.csv

$modified = ForEach ($user in $csv) {

    If($user.distinguishedName -like "*s*") {
        #New-ADUser

        $user.GivenName = 'lokil'
    }

    $user

}

$modified

Кто-то может объяснить утилиту$ user между}}?

спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...