Заголовок из двух строк для Get-ADObject | Экспорт-Csv? - PullRequest
0 голосов
/ 06 июля 2018

Внешняя система, которую мы используем, требует импорта шаблона Excel. Импортируемые данные могут быть получены из данных Active Directory.

Я создаю решение для одного щелчка в PowerShell 2.0, которое создает этот шаблон с текущими данными Active Directory.

Текущий процесс, который я использую: Get-ADObject > select and do some reformating | Export-Csv.

Шаблон, который я пытаюсь скопировать, имеет две строки заголовка. Export-Csv предоставляет только один заголовок на основе имени поля (на самом деле я использовал Select-Object @{Label=,Expression=} для настройки имен свойств ADObject).

Как добавить еще одну строку заголовка? Могу ли я добавить запись в начало каждого свойства ADObject?

Header 1
Entry1
Entry2
Entry3

до

Header 1
Header 2
Entry1
Entry2
Entry3

Ответы [ 2 ]

0 голосов
/ 07 июля 2018

Таким образом, я получил то, что хотел, сначала преобразовав мой объект AD в пользовательский объект и создав второй пользовательский объект с теми же полями, но с заголовками в качестве значений. Бросил их обоих в массив, и он пишет красиво.

$ad = Get-AdObject...
$obj1 = New-Object -TypeName PSCustomObject -property $ad

$hash = @{
    'col1'='header1';
    'col2'='header2';
     ...
}
$obj2 = New-Object -TypeName PSCustomObject -property $hash

$arr1 = @()
$arr1 += $obj2, $obj1
$arr1 | Export-csv -path...
0 голосов
/ 06 июля 2018

Может быть, просто дублировать второй заголовок?

Get-ADObject | Select-Object Header1,@{label='Header2';expression=$_.Header1}

Или, если он должен находиться в той же строке:

$Data = Get-ADObject | additional piping
$Data.Header1 += 'Header2'
$Data | Export-CSV

Или вы пытаетесь добавить свойство

$Data = Get-ADObject | additional piping
[PSCustomObject]$NewData = $Data
$NewData | Add-Member -MemberType NoteProperty -Name 'MyProperty' -Value 'myvalue'
$NewData | Export-CSV
...