如何从输出中的命令链的第一部分中提取一个值?例如:
Get-ActiveSyncDevice | Get-ActiveSyncDeviceStatistics | ft UserDeviceAgent,Identity -a
作为一个虚构的示例,假设UserDeviceAgent列在Get-ActiveSyncDevice
中可见,但是我无法将其显示在最终输出中
请注意:
我的问题具体是:我如何"支持参考"命令链中的输出?
答案 0 :(得分:3)
您需要将其传递给管道,因此在您的脚本中,您必须将管道的第二部分转换为ForEach,然后输出所需的属性和第二个命令的结果。
所以,假设让我们这样说:
Get-ActiveSyncDevice | %{
$CurDev = Get-ActiveSyncDeviceStatistics
add-member -InputObject $CurDev -MemberType NoteProperty -Name UserDeviceAgent -Value $_.UserDeviceAgent
$CurDev
}| ft UserDeviceAgent, Identity -a
答案 1 :(得分:0)
你可以在第一个CmdLet上尝试-OutVariable
,然后在最后的Format-Table中运行一个表达式:
Get-ActiveSyncDevice -OutVariable ASD | `
Get-ActiveSyncDeviceStatistics | `
Format-Table Identity, @{Name="UserDeviceAgent"; Expression ={$ASD.Item($ASD.Count-1).UserDeviceAgent}}