有没有办法在数据表中展开/展平行?我有变量$ table中的数据有2列。在第一列中存储[string]值,而在第二列中存储[string []]数组值,其中包含至少2个值。这是一个这样的行的例子:
DistinguishedName GroupNames
----------------- ----------
Applications/FarmName/Notepad {Domain\Group1, Domain\Group2}
我想把它弄平并导出到例如CSV格式,第一列保留“键值”DistinguishedName,所有其他列都填充了从GroupNames列扩展的特定值。所需输出的示例如下:
Applications/FarmName/Notepad; Domain\Group1; Domain\Group2
答案 0 :(得分:1)
如果您打算导出到csv,可能的解决方案可能是创建自己的PSObject并动态填充它的属性。
这样的事情:
$expandedObjects = @()
$table | % {
#assuming $_ reffers to actual row
$obj = new-object PSObject
$obj | Add-Member -MemberType NoteProperty -Name "DistinguishedName" -Value $_.DistinguishedName
$i = 0 # for dynamic property naming
$_.GroupNames | % {
# assuming $_ reffers to actual GroupName value
$obj | Add-Member -MemberType NoteProperty -Name $("GroupName{0}" -f $i++) -Value $_
}
$expandedObjects += $obj
}
$expandedObjects | export-csv ..
我没有测试代码,所以可能会有一些错误。另外我不知道你的$ table可靠的是什么类型。但这个想法应该是明确的。