Как экспортировать данные в определенный столбец в CSV-файле в PowerShell - PullRequest
0 голосов
/ 21 сентября 2018

Что я пытаюсь сделать, так это импортировать данные из CSV-файла с именами UserPrincipalname, и я беру имена перед символом @, а затем хочу экспортировать эти данные в определенный столбец в том же файле CSV, который в этомдело o365Users.csv.Я могу записать его в текстовый файл, но мне нужно знать, как экспортировать его в столбец G с именем заголовка SAM

Это мой код:

$Addys = Import-Csv "C:\scripts\o365Users.csv"
$UPNs = $Addys.UserPrincipalName
    foreach ($UPN in $UPNs) {
    $Name = $UPN.Split("@")[0]
        Write-Output $Name >> c:\scripts\o365Names.txt
 }

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

К добавить новый столбец с заголовком SAM использовать Select-Object с вычисляемым свойством:

(Import-Csv 'C:\scripts\o365Users.csv') | 
    Select-Object -Property *,@{n='SAM';e={$_.UserPrincipalName.Split('@')[0]}}

Если новое свойство должно находиться в определенной позиции, выне может использовать подстановочный знак *, но ему придется перечислять все заголовки / столбцы / свойства в нужном порядке, то есть

(Import-Csv 'C:\scripts\o365Users.csv') | 
    Select-Object -Property ColA,ColB,ColC,ColD,ColE,ColF,@{n='SAM';e={$_.UserPrincipalName.Split('@')[0]}},ColH

заменить Col_ вашими настоящими заголовками.

Из-за включения в скобки (Import-Csv) вы можете экспортировать в одно имя файла (не рекомендуется во время тестирования) - просто добавьте
| Export-Csv 'C:\scripts\o365Users.csv' -NoTypeInformation

0 голосов
/ 21 сентября 2018

Вот быстрый способ получить именно тот результат, который вы ищете.Вы бы импортировали текущий CSV.Создайте пустой выходной массив и добавьте каждое имя в свой цикл.Затем экспортируйте CSV

$Addys = Import-Csv "C:\scripts\o365Users.csv"
$UPNs = $Addys.UserPrincipalName

[System.Collections.ArrayList]$Output = @()

foreach ($UPN in $UPNs) {
    $Name = $UPN.Split("@")[0]
    $Output.Add($Name) | Out-Null
}

$Output | Export-Csv -Path "C:\scripts\o365Users.csv" -NoTypeInformation
...