PowerShell属性问题

PowerShell属性问题,powershell,Powershell,引用运算符错误后,24hr\u work部分出现缺少的属性名称 我试过$ServerRequest.$\u24小时工作',甚至试过让一个对象指向它 $History = $ServerRequest.$_.24hr_work 当我输入它时,我会在24之后出现错误,所以我认为数字是问题所在,我只是找不到其他方法来写它。它与以数字开头的属性有关。事实上:要引用名称以数字开头的属性(0,1,…9),必须: 或者:在文字属性名称周围使用引号 或:使用变量间接提供属性名称 证明: $24 = '24

引用运算符错误后,
24hr\u work
部分出现缺少的属性名称

我试过
$ServerRequest.$\u24小时工作'
,甚至试过让一个对象指向它

$History = $ServerRequest.$_.24hr_work

当我输入它时,我会在24之后出现错误,所以我认为数字是问题所在,我只是找不到其他方法来写它。它与以数字开头的属性有关。

事实上:要引用名称以数字开头的属性(
0
1
,…
9
),必须:

  • 或者:在文字属性名称周围使用引号

  • 或:使用变量间接提供属性名称

证明:

$24 = '24hr_work'

这意味着通过包含该字符串的变量
$24
访问属性
24hr\u work
应该可以工作,但是[更新:因为OP确认工作]。

$ServerRequest
$\u\code>的值是什么?它们的属性是什么?它们工作。就在这上面,我有$Name=ServerRequest.$\uu.Name写出来有点长,但它是一个获取api数据的webrequest,那么$\uu是与get member | select | foreach一起运行的foreach参数。比如“时间”:12:01,“姓名”:Todo等等。问题纯粹是“24小时”…如果我键入任何数字而不是字母,它会抛出一个错误,比如“22mh”。问题似乎是从一个数字开始。
$obj = [pscustomobject] @{ '1a' = '1a''s value' }

# !! BREAKS, because the property name starts with a digit.
$obj.1a

# OK: Quote the property name
$obj.'1a'
$obj."1a"

# OK: Access the property via  a *variable*
$propName = '1a'
$obj.$propName