Powershell自定义对象属性顺序问题



在powershell中创建自定义对象时,我的属性的顺序与我键入它们的顺序不同(从上到下->从左到右(。

我被告知在我的桌子上使用[命令]声明,如下所述;

$AllMailData += New-Object PSObject -Property [ordered]@{
'Unique ID' = $sharedmail.PrimarySmtpAddress
'Display Name' = $sharedmail.DisplayName
}

然而,这给了我一个语法错误。有人能告诉我哪里出了问题吗?

当您将传递给-Property的所有内容都放在括号()中时,您将消除错误。

写这篇文章的更短的方式是:

$AllMailData += [PSCustomObject]@{
'Unique ID' = $sharedmail.PrimarySmtpAddress
'Display Name' = $sharedmail.DisplayName
}

[PSCustomObject]保证财产秩序的保存,而[PSObject]则不保证。但在您的示例中使用有序哈希表似乎也能实现这一点。

最新更新