1

有没有办法如何扩展/展平数据表中的行?我在有 2 列的变量 $table 中有数据。在第一列中存储了 [string] 值,而在第二列中存储了 [string[]] 数组值,其中至少包含 2 个值。这是这样一行的示例:

DistinguishedName                       GroupNames
-----------------                       ----------
Applications/FarmName/Notepad           {Domain\Group1, Domain\Group2}

我希望将其展平并导出为例如 CSV 格式,而第一列保留“键值” DistinguishedName,所有其他列都填充了从 GroupNames 列扩展的特定值。所需输出的示例如下:

Applications/FarmName/Notepad; Domain\Group1; Domain\Group2
4

1 回答 1

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 veriable 到底是什么类型。但这个想法应该很清楚。

于 2012-05-02T16:33:23.963 回答