Заголовки в Powershell неверны - PullRequest
0 голосов
/ 29 июня 2018

После импорта файла CSV я создаю хеш-таблицу переменных, которые будут использоваться в простой командной строке.

Проблема в том, что когда я импортирую файлы CSV, заголовки транспонируются; вместо того, чтобы быть таблицей с различными заголовками, это отличается. Мой код:

$Import = Import-Csv "File\path\input.csv"

foreach ($user in $import) {

    $msolparams = @{
        UPN = $user.SamAccountName + "@company.com"
        Title = $user.JobTitle
        Deparment = $user.DepartmentTitle
        Displayname = $user.Pname + "," + " " + $user.Plname
        Location = $user.location}

    Set-MsolUser -UserPrincipalName $msolparams.UPN -Title $msolparams.Title -Department $msolparams.Department -DisplayName $msolparams.Displayname}

После проверки переменной $import с помощью ввода файла CSV заголовки хеш-таблицы выглядят так:

SamAccountName  : kodak.black
Location        : Central
JobTitle        : Title
DepartmentTitle : Department
Pname           : Kodak
Plname          : Black

вместо

 SamAccountName          Location   JobTitle       DepartmentTitle            Plname          Pname      

И из-за этого он не получает значения из заголовков должным образом и выдает ошибку Cannot find MsolUser .

Также вы не можете использовать | ft в любом месте переменных, потому что код выдаст ошибку и остановится.

Пожалуйста, дайте мне знать, что вы думаете

1 Ответ

0 голосов
/ 29 июня 2018

Я не вижу проблемы с кодом здесь, как представлено. Ваше беспокойство касается только представления ваших данных. Это не имеет отношения к его интерпретации в PowerShell. У меня снова возникают проблемы с поиском ссылки на это точное поведение, но вы видите, что PowerShell делает с объектами с более чем 4 свойствами. За кулисами PowerShell выбирает Format-List вместо Format-Table. Вы можете смоделировать это самостоятельно, выполнив $user | Format-List

Эта автоматизация предназначена для того, чтобы вы могли легко читать данные на экране, а не сжимать их в таблице. Горизонтальная недвижимость конечно. Если вы предпочитаете это представление, вы можете просто вывести его на консоль, например $user | Format-Table -AutoSize. Примечание Пожалуйста, не сохраняйте выходные данные этого фрагмента. Он предназначен как механизм отображения.

Что касается вашей проблемы, я могу только представить, что у вас есть проблемы с вашими входными данными. Либо у вас есть скрытые управляющие символы, пробелы и т. Д., Либо ошибка верна, и пользователь действительно не существует.

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