PowerShell: Import-CSV возвращает имена заголовков и скобки, которых нет в исходном файле - PullRequest
0 голосов
/ 25 сентября 2018

Я уверен, что в итоге все будет просто, но я не могу понять это.

Я пишу скрипт для чтения в файле CSV.Затем у меня есть цикл, который запускает команду для объектов из импортированного CSV.Тем не менее, я получаю кучу посторонних данных, которые вызывают у меня горе.

Команда импорта:

$fixme = Import-Csv C:\temp\scripts\rename_script\oldname1.csv -Header OldName,NewName

Содержимое этого файла:

Computer1,Computer2
Computer3,Computer4

Я хочу вызывать $ fixme.OldName и $ fixme.Новое имя.Проблема в том, что это вывод, который я получаю:

$fixme
@{OldName=Computer1; Newname=Computer2}
@{OldName=Computer3; Newname=Computer4}

$fixme.OldName
[nothing]

$fixme.NewName
[nothing]

Что мне здесь не хватает?

Я должен также добавить, что это тестовые данные, у меня на самом деле есть несколько сотен строк дляцикл, который у меня работает, просто по какой-то причине я не могу понять, как передать правильные данные из этого чертова CSV.

1 Ответ

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

Таким образом, в нижнем скрипте вы не установили $ fixme равным чему-либо.Вы должны отбросить эти хеш-таблицы в массив

$fixme = @(
    @{OldName='Computer1'; Newname='Computer2'},
    @{OldName='Computer3'; Newname='Computer4'}
)

$fixme | %{ $_.oldname }

$fixme | %{ $_.newname }

, так как для первого скрипта, который я смог запустить,

$CSV = @"
Computer1,Computer2
Computer3,Computer4
"@

$fixme = $CSV | ConvertFrom-Csv -Header OldName, NewName
$fixme.OldName
$fixme.NewName
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...