在一行中获取嵌套值
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
我是 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