gpt4 book ai didi

arrays - 访问 PSCustomObject Powershell 中的对象数组

转载 作者:行者123 更新时间:2023-12-04 21:45:11 24 4
gpt4 key购买 nike

我有这个PSCustomObject我正在尝试将其格式化为表格并将其导出到 .csv文件,当 .csv文件已构建,单元格中的输出为 System.Object[] .

$tableFindings = @() 
foreach ($item in $findings.results) {
$tabledata = [ordered]@{
dnsName = $item.assets| ForEach-Object dsnName
}
$tableFindings += New-Object psobject -Property $tabledata
}
$tableFindings输出
{
"temporary_id": "xxxxxxxxxxxxxxxxxx",
"affects_rating": true,
"assets": [
{
"asset": "xxxxxxxx",
"identifier": null,
"category": "critical",
"dnsName": [
"xxxxxxxxxxxxxxx",
"xxxxxxxxxxxxxxx"
],
"is_ip": false
},
{
"asset": "xxxxxxxx",
"identifier": null,
"category": "critical",
"dnsName": [
"xxxxxxxxxxxxxxx",
"xxxxxxxxxxxxxxx"
],
"is_ip": false
}
]
}
我很难弄清楚如何访问对象数组 assets是数组之一,但里面有 dnsName那也是一个数组。
有什么建议么?

最佳答案

如果您只对 dnsName 的平面数组感兴趣assets 中存储的所有对象的值数组,使用 member-access enumeration :

$item.assets.dnsName
将其合并到 [pscustomobject]您可以发送到 Export-Csv 的实例:
$tableFindings = foreach ($item in $findings.results) {
[pscustomobject] @{
# ... add other properties as needed.
dnsName = $item.assets.dnsName
}
}
注意 foreach语句用作表达式,这意味着 PowerShell 自动收集 [pscustomobject]变量 $tableFindings 中每次迭代的实例输出.

关于arrays - 访问 PSCustomObject Powershell 中的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67993805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com