改变
$_.System.ItemName
到
$_.'System.ItemName'
你的房产名是
System.ItemName
,如果属性名称本身包含
.
,属性名称必须为
引用
-否则,PowerShell将其解释为
嵌套的
property access
就是,
$_.系统项目名称
在对象上查找属性
$_
命名的
System
先是,然后是
ItemName
按第一财产的价值计算的财产;PowerShell默认为
$null
当访问不存在的属性时。
将此与使用
系统项目名称
作为一个
论点
传递给(位置暗示)
-Property
参数
Select-Object
cmdlet,参数在哪里
总是
被解读为
仅有一个的
属性名称(无论是否引用)。
换句话说:
选择对象
不
直接地
支持
嵌套的
财产访问,但你可以通过
calculated property
,就像你的方法一样。