首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将包含多个数组的Powershell对象导出到CSV/Power

将包含多个数组的Powershell对象导出到CSV/Power
EN

Stack Overflow用户
提问于 2022-02-25 20:19:02
回答 1查看 130关注 0票数 1

今天是星期五,我的大脑不工作了!我有一个Powershell对象,它是我想要用作Power数据集的DSInternals的结果;它是一组用户帐户数组,例如。

代码语言:javascript
复制
ClearTextPassword          : {}
LMHash                     : {someuser, another user...}
EmptyPassword              : {someuser, another user}
WeakPassword               : {someuser, another user...}
DefaultComputerPassword    : {etc...}
PasswordNotRequired        : {etc...}
PasswordNeverExpires       : {etc...}
AESKeysMissing             : {etc...}
PreAuthNotRequired         : {}
DESEncryptionOnly          : {}
Kerberoastable             : {}
DelegatableAdmins          : {}
SmartCardUsersWithPassword : {}
DuplicatePasswordGroups    : {}

我想将它导出到一个csv,其中每个数组都是它自己的列。如果我就这么做

代码语言:javascript
复制
$result | export-csv .\result.csv -NoTypeInformation

我确实为每个数组获得了一个列,但是每个列中的用户都被组合成一个单元格。

前几列的示例

我怎么能得到相同的,但在每个用户在它自己的细胞?

或者,如何使用MicrosoftPowerBIMgmt模块将这个PS对象直接放入Power数据集?

谢谢你们百万!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-25 20:52:05

这个答案中的对象是您的最小表示,是为了演示您可以使用的方法。

首先,您需要计算所有属性的元素的最大计数,为此,我们可以访问PSObject.Properties,并对每个值获取它的计数。然后,我们可以使用一个循环播放来重建它。

代码语言:javascript
复制
$object = [pscustomobject]@{
    ClearTextPassword       = @()
    EmptyPassword           = @('someuser', 'another user', 'yet another')
    WeakPassword            = @('someuser', 'another user')
    DefaultComputerPassword = @('etc')
    PasswordNotRequired     = @(1,2,3,4,5)
}

$max = [System.Linq.Enumerable]::Max($object.PSObject.Properties.ForEach({ $_.Value.Count }))

$result = for($i = 0; $i -lt $max; $i++) {
    $outObject = [ordered]@{}
    foreach($prop in $object.PSObject.Properties) {
        $outObject[$prop.Name] = $prop.Value[$i]
    }
    [pscustomobject]$outObject
}

$result | Format-Table

上面的示例将导致下面的object[],对于导出到CSV应该是非常好的。

代码语言:javascript
复制
ClearTextPassword EmptyPassword WeakPassword DefaultComputerPassword PasswordNotRequired
----------------- ------------- ------------ ----------------------- -------------------
                  someuser      someuser     etc                                       1
                  another user  another user                                           2
                  yet another                                                          3
                                                                                       4
                                                                                       5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71271320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档