在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]
则不保证。但在您的示例中使用有序哈希表似乎也能实现这一点。