PowerShell 哈希 table 顺序

PowerShell hash table order

下面的脚本是 运行 在 for-each 循环中,输出标题的顺序不正确。我想要我在散列 table 中提到的输出顺序。 我想要 CSV table 列标题的正确顺序,而不是 table 中的数据。

喜欢1.Machine_Name、2.Ping_Status、3.OS_Name

我该如何解决这个问题?

$Result = @{
            MACHINE_NAME     = "$_"
            PING_STATUS      = "MACHINE ONLINE"
            OS_NAME = "$OSNAME"
        }

$Details += New-Object PSObject -Property $Result
$Details | export-csv -Path $pathofcsv -NoTypeInformation

要强制排序,请使用 Select-Object:

$Details | Select-Object MACHINE_NAME, PING_STATUS, OS_NAME | export-csv -Path $pathofcsv -NoTypeInformation

使用有序哈希 table:

$Result = [ordered]@{             
            MACHINE_NAME     = "$_" 
            PING_STATUS      = "MACHINE ONLINE"
            OS_NAME = "$OSNAME"
        }

$Details += New-Object PSObject -Property $Result
$Details | export-csv -Path $pathofcsv -NoTypeInformation