PowerShell哈希表顺序

时间:2015-03-16 11:11:16

标签: powershell powershell-v3.0 powershell-v4.0

以下脚本在for-each循环中运行,输出标题的顺序不正确。我想要输出顺序,就像我在哈希表中提到的那样。 我希望CSV表格列的顺序正确,而不是表格中的数据。

与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

2 个答案:

答案 0 :(得分:5)

使用有序哈希表:

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

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

答案 1 :(得分:2)

要强制执行订单,请使用Select-Object

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