powershell - 如何将 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,但可以是任何东西)?
解决方案
尝试这个
ssh (Get-VM -VMName localdev | Select -ExpandProperty Networkadapters | Select -ExpandProperty IPAddresses |Select-Object -First 1)