我想创建一堆列表,其中包含一个标题,列表成员的大小是动态的。
然后我想将列表组合成一个数组,或者csv用于导出。
我已经尝试了
$a = new-object psobject
$a | add-member ...
但是这个值不接受' system.array'的变量。类型,对象显示为一个连续的字符串,而不是两个单独的行上的对象。
我试过了:
$a = New-Object System.Collections.Generic.List[System.Object]
$a.add()
但我无法使用此列表创建标题。
以下是我希望最终产品看起来像
的样本col1 col2 col3
admin karl john
jake rupert pinko
drumpf deckard
其中列的名称是从域中的不同服务器提取的,并且每次运行脚本时都会有动态长度 - 然后我想将其导出为csv。
谢谢,
答案 0 :(得分:-1)
尝试类似这样的事情
#solution 1
$yourlist=@()
$yourlist+=[pscustomobject]@{Header1="Val1.1";Header2=Get-Date;Header3=15}
$yourlist+=[pscustomobject]@{Header1="Val1.2";Header2=(Get-Date).AddDays(1);Header3=30}
$yourlist
#solution 2
$yourlist=@()
$yourlist+=New-Object -TypeName "psobject" -Property @{Header1="Val2.1";Header2=Get-Date;Header3=15}
$yourlist+=New-Object -TypeName "psobject" -Property @{Header1="Val2.2";Header2=(Get-Date).AddDays(1);Header3=30}
$yourlist
#solution 3
$yourlist = New-Object System.Collections.Generic.List[System.Object]
$yourlist.add((New-Object -TypeName "psobject" -Property @{Header1="Val3.1";Header2=Get-Date;Header3=15}))
$yourlist.add((New-Object -TypeName "psobject" -Property @{Header1="Val3.2";Header2=(Get-Date).AddDays(1);Header3=30}))
$yourlist
#solution 4
$element1 = new-object psobject
$element1 | add-member -MemberType NoteProperty -Name "Header1" -Value "Val4.1"
$element1 | add-member -MemberType NoteProperty -Name "Header2" -Value (Get-Date)
$element1 | add-member -MemberType NoteProperty -Name "Header3" -Value 15
$element2 = new-object psobject
$element2 | add-member -MemberType NoteProperty -Name "Header1" -Value "Val4.2"
$element2 | add-member -MemberType NoteProperty -Name "Header2" -Value (Get-Date).AddDays(1)
$element2 | add-member -MemberType NoteProperty -Name "Header3" -Value 30
$yourlist=@()
$yourlist+=$element1
$yourlist+=$element2
$yourlist