在一行中获取嵌套值

Get nested values in one line

我是 powershell 的新手,所以我有一个简单的问题。假设我有以下 powershell 代码:

$t = Get-SomeData -someParam someParamValue
$t.SomeProperty.SomeNestedField

上面的第二个命令将打印 SomeNestedField 的值,它嵌套在 t 的 属性 中,称为 someProperty

我能否将这两行组合成一个 powershell 命令(可能通过管道),以便第二个命令的输出总体上仅来自一个命令?

要求是它应该打印值,而不是将其分配给某些 powershell 变量 ..

可能是这样的:

Get-SomeData -someParam someParamValue | SomeProperty | SomeNestedField

一些可能有用的信息:

假设我将上面的代码更改为:

$t = Get-SomeData -someParam someParamValue
$u = $t.SomeProperty
$t.GetType()
$u.GetType()

当我执行 $t.GetType() 时,列出的 BaseType 是 class,但是如果我执行 $u.GetType(),它的 BaseType 被列为 System.ValueType

您可以使用 SELECT 又名 SELECT-OBJECT

Get-SomeData -someParam someParamValue | select -ExpandProperty SomeProperty

()

(Get-SomeData -someParam someParamValue).SomeProperty.SomeNestedField