一行输出到txt和cvs

时间:2019-11-07 23:22:53

标签: powershell

美好的一天,

我希望将Get-NetTcpConnection的结果同时输出到txt和cvs文件中。

这就是我现在的做法:

$netstat = Get-NetTCPConnection | Select-Object -Property CreationTime,LocalAddress,LocalPort,RemoteAddress,RemotePort,State

$netstat | Export-Csv -Path C:\temp\$env:COMPUTERNAME-$(Get-Date -Format yyyyMMdd-HH.mm).csv -NoTypeInformation
$netstat | FT -AutoSize | Out-File -FilePath C:\temp\$env:COMPUTERNAME-$(Get-Date -Format yyyyMMdd-HH.mm).txt

有没有办法代替一个变量来做到这一点?

类似这样的东西:

Get-NetTCPConnection | Select-Object -Property CreationTime,LocalAddress,LocalPort,RemoteAddress,RemotePort,State |
    Export-Csv -Path C:\temp\$env:COMPUTERNAME-$(Get-Date -Format yyyyMMdd-HH.mm).csv -NoTypeInformation;
    $_ | FT -AutoSize | Out-File -FilePath C:\temp\$env:COMPUTERNAME-$(Get-Date -Format yyyyMMdd-HH.mm).txt

谢谢!

2 个答案:

答案 0 :(得分:1)

我已经尝试了许多尝试,以按照您的要求在同一根衬里完成此任务,但是没有结果。

但是,您始终可以发挥自己的作用来执行这项工作并将其作为一个衬板运行吗?

function Get-NetStat{

    $netstat = Get-NetTCPConnection | Select-Object -Property CreationTime,LocalAddress,LocalPort,RemoteAddress,RemotePort,State 

    if ($netstat)
    {
        $netstat | Export-Csv -Path C:\temp\$env:COMPUTERNAME-$(Get-Date -Format yyyyMMdd-HH.mm).csv -NoTypeInformation
        $netstat | FT -AutoSize | Out-File -FilePath C:\temp\$env:COMPUTERNAME-$(Get-Date -Format yyyyMMdd-HH.mm).txt
    }
    else
    {
        Write-Host $Error
    }

}

答案 1 :(得分:1)

“ Tee对象”的构建目的是将数据/输出直接通过管道从一端传送到另一端而没有格式。

Get-NetTCPConnection | Select-Object -Property CreationTime,LocalAddress,LocalPort,RemoteAddress,RemotePort,State  |Tee-Object -FilePath "C:\Users\Narayana\Desktop\Testing Dir\temp2.txt" | Export-Excel -Path "C:\Users\Narayana\Desktop\Testing Dir\temp2.xlsx"