输出到txt和cvs作为一行



你好,

我希望将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

谢谢!

"Tee对象"的构建是为了将数据/输出直接通过管道从一端传递到另一端,且格式为out。

Get-NetTCPConnection | Select-Object -Property CreationTime,LocalAddress,LocalPort,RemoteAddress,RemotePort,State  |Tee-Object -FilePath "C:UsersNarayanaDesktopTesting Dirtemp2.txt" | Export-Excel -Path "C:UsersNarayanaDesktopTesting Dirtemp2.xlsx"

我已经尝试过很多次像您所要求的那样在一行中完成这项工作,但都没有结果。

然而,您总是可以创建自己的函数来执行这项工作,并将其作为一行代码运行吗?

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
}
}

最新更新