You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell自定义对象属性顺序异常,使用[ordered]语法报错求助

PowerShell自定义对象属性顺序问题的语法错误修复

你的代码报错是因为New-Object的-Property参数无法直接识别紧跟的[ordered]修饰符,PowerShell会把[ordered]误判为属性名的一部分,导致语法解析失败。

正确写法有两种:

  1. 先定义有序哈希表变量,再传入参数
$orderedProps = [ordered]@{
    'Unique ID' = $sharedmail.PrimarySmtpAddress
    'Display Name' = $sharedmail.DisplayName
}
$AllMailData += New-Object PSObject -Property $orderedProps
  1. 用括号包裹有序哈希表,强制PowerShell优先解析它
$AllMailData += New-Object PSObject -Property ([ordered]@{
    'Unique ID' = $sharedmail.PrimarySmtpAddress
    'Display Name' = $sharedmail.DisplayName
})

更简洁的替代写法

直接用[PSCustomObject]转换有序哈希表,不仅能保留属性顺序,代码更简洁:

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

内容的提问来源于stack exchange,提问作者Alistair Trout

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:35:30