gpt4 book ai didi

powershell - 通过cmdlet遍历每个项目

转载 作者:行者123 更新时间:2023-12-03 00:47:30 24 4
gpt4 key购买 nike

我有端口号列表,我想查看哪个程序正在使用该端口。我想筛选 Get-Networkstatistics cmdlet,以便仅显示port.txt文件中的某些端口。我修改了

Get-NetworkStatistics  | Select-Object ComputerName, LocalPort, ProcessName 

仅遍历我提供的端口号。但是, $result变量不存储任何内容,并且输出为null。我究竟做错了什么?
$file = .\ports.txt

foreach ( $port in $file )
{
$result += Get-NetworkStatistics |
Select-Object ComputerName, LocalPort, ProcessName |
Where-Object {$_.LocalPort -eq $port}
}
$result | Export-Csv .\networkports.csv

最佳答案

首先,您要在执行“选择”之前进行过滤,这样就必须选择下部对象。

$result = @() #array
foreach ( $port in $file )
{
$result += Get-NetworkStatistics | Where-Object {$_.LocalPort -eq $port} | Select-Object ComputerName, LocalPort, ProcessName
}
$result | Export-Csv .\networkports.csv

至于实际问题本身,我相信这是由于 scoping造成的。您需要在循环之前声明变量,以便在循环中和循环之后可用。

关于powershell - 通过cmdlet遍历每个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40686036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com