PS cmdlet 通过管道传输到 cmdlet 。我尝试应用一些示例但没有成功

问题描述 投票:0回答:2

获取 NetAdapter | Where-Object { $.Status -eq 'Up' } |选择对象名称 | foreach {$.name}

通过管道传送到

获取netip配置| Where-Object { $_.interfacealias -eq 'cmdlet 的管道输出' }

我尝试应用之前案例解决方案中的一些方法,但没有成功。

powershell
2个回答
0
投票

您需要使用

$_
和下划线,而不仅仅是
$

注意:

$_
只是
$PSItem
的别名,因此您可以根据需要使用它(它可以使代码更具可读性)。

小提示:当使用

Where-Object
执行一个简单的比较(如您的示例中)时,请尝试避免使用脚本块,而使用
-Property NameOfTheProperty
代替。
在您的示例中,它将是
Where-Object -Property Status -eq 'Up'

小规模的事情没有明显的区别,但这是一个好习惯


0
投票

您可以将

Get-NetAdapter
的输出直接通过管道传送到
Get-NetIPConfiguration
,这样就可以工作了:

Get-NetAdapter | Where-Object { $_.Status -eq 'Up' } | Get-NetIPConfiguration
© www.soinside.com 2019 - 2024. All rights reserved.