首页 > 解决方案 > 如何将 Select-Object 的结果作为参数传递给命令

问题描述

所以我有一台 HyperV 机器,我可以这样获取 IP 地址:

Get-VM -VMName localdev | Select -ExpandProperty Networkadapters | Select -ExpandProperty IPAddresses | Select-Object -First 1

我想不通的是如何将其“通过管道”连接到 SSH 以单行连接到机器。

Get-VM ....... | Select-Object -First 1 | ssh 

^^^ 这不起作用。

我可以做到这一点,但它缺乏优雅:

$localdevip = Get-VM -VMName localdev | Select -ExpandProperty Networkadapters | Select -ExpandProperty IPAddresses |Select-Object -First 1
ssh $localdevip

虽然这可行,但我想更好地了解 Powershell。如何Select-Object在不分配变量的情况下将调用的结果汇集到命令的参数中(在示例中是 SSH,但可以是任何东西)?

标签: powershell

解决方案


尝试这个

ssh (Get-VM -VMName localdev | Select -ExpandProperty Networkadapters | Select -ExpandProperty IPAddresses |Select-Object -First 1)

推荐阅读