gpt4 book ai didi

powershell - 如何以与格式列表相同的顺序获取 powershell 对象属性?

转载 作者:行者123 更新时间:2023-12-04 00:02:15 24 4
gpt4 key购买 nike

我正在 Powershell 中编写一些报告脚本,并将项目汇总表收集为一个空白对象,并逐一添加其他属性:

$cmClusters = @()

foreach ($Cluster in Clusters) {

$cmCluster = New-Object System.Object
$cmCluster | Add-Member -type NoteProperty -Name VC -Value $strVC
$cmCluster | Add-Member -type NoteProperty -Name Name -Value $Cluster.name
# etc...

$cmClusters += $cmCluster;

}

如果我在最后转储 $cmClusters,我会得到一个格式列表输出,其中包含我添加它们的顺序的属性。

但是,我希望编写一个通用的“将此对象集合转储到 Excel 选项卡”函数来生成我的报告,这将是来自不同对象列表的几个类似的工作表选项卡。

看起来像这样:
function DumpToExcel($workbook, $tabTitle, $list)
{
$sheet = $workbook.worksheets.add()
$sheet.Name = $tabTitle

$col = 1
$row = 1
$fields = $list[0] | Get-Member -MemberType NoteProperty | Select-Object *

Foreach ($field in $fields) {
$sheet.cells.item($row,$col++) = $field.Name
}

$heading = $sheet.UsedRange
$heading.Font.Bold = $True

$row++
Foreach ($cmCluster in $list) {
$col=1
Foreach ($field in $fields) {
$sheet.cells.item($row,$col++) = $cmCluster.($field.Name)
}
$row++
}

$sheet.UsedRange.EntireColumn.AutoFit() | Out-Null
}

这有效,但属性名称现在按字母顺序排列。

我可以使用什么来以与 Format-List 相同的顺序获取我的属性列表?

最佳答案

尝试这个:

$fields = $list[0].psobject.properties | select name

关于powershell - 如何以与格式列表相同的顺序获取 powershell 对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27361418/

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