如何使用Get-TCPConnection并获取有关进程的更多信息?正是过程文件版本吗?

时间:2019-06-12 23:56:48

标签: powershell process port version

cmdlet Get-TCPConnection的输出不包括文件版本,出于学术目的,我需要该信息。

我尝试了许多笔迹,但它们没有提供这些准确的信息。

1 个答案:

答案 0 :(得分:0)

假设this是脚本的来源,我做了一些小的调整。我不会发布整个脚本,所以我只会发布所做的更改。

第130行。最后添加了FileVersion属性。

$properties = 'ComputerName','Protocol','LocalAddress','LocalPort','RemoteAddress','RemotePort','State','ProcessName','PID', 'Fileversion'

第144行。在末尾添加了FileVersion属性。

$processes = Get-Process -ComputerName $Computer -ErrorAction stop | select name, id, FileVersion

第302行。已删除-ExpandProperty并添加了Fileversion

if($procName = $processes | Where {$_.id -eq $procId} | select name, FileVersion ){ }

现在,结局,第362-373行,调整了PSObject的创建方式以包括我们的新更改。

New-Object -TypeName PSObject -Property @{
                                ComputerName = $Computer
                                PID = $procId
                                ProcessName = $procName.Name
                                Protocol = $proto
                                LocalAddress = $localAddress
                                LocalPort = $localPort
                                RemoteAddress =$remoteAddress
                                RemotePort = $remotePort
                                State = $status
                                FileVersion = $procName.FileVersion
                            } | Select-Object -Property $properties