PowerShell属性问题

时间:2018-05-27 21:59:17

标签: powershell

$History = $ServerRequest.$_.24hr_work

24hr_work部分在引用操作符错误后出现缺少的属性名称。

我尝试了$ServerRequest.$_.'24hr_work',甚至尝试过让对象指向它。

$24 = '24hr_work'

当我输入它时,我会在24之后立即收到错误,所以我认为数字是问题,我找不到另一种方法来编写它。它与以数字开头的财产有关。

1 个答案:

答案 0 :(得分:1)

确实:为了引用名称以数字01,... 9开头的属性,您必须:

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

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

演示:

$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

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