输出与自己的<TR> ID合并的HTML

我有一个脚本,得到一个TCP连接Get-NetTCPConnection$rfrtvariables可以得到每个对象的最后一个logging,而$rfrtvariables可以得到所有的输出对象,而没有最后一个。 正如我显示$CntTableBodyrvariables是我的错误,我想添加$rfrt$rfrtvariables作为HTML表格,具有以下细节:

Id = 111识别的$rfrt每个tr到第一行然后是由Id = 222识别的$rfrt到由第一个上面的行包含的那些行。

不明白? 这里我的意思是:

截图: 在这里输入图像说明

说明 :例如,在我的$GetConvariables,包括所有的tcp连接[你知道]。 我的完整的输出计数是[7 Count] ,如上图所示,例如[OwningProcess for 1177]有3个计数结果,依此类推,我想把1177的最后一个对象作为id=111的第一行第二,所有连接1177左右。 其他连接与1177和[LocalAddress]

例如

 $GetCon = Get-NetTCPConnection $ss = $GetCon | select OwningProcess | Group-Object -Property OwningProcess | select Count, Name $cccs = $ss | Select -ExpandProperty Name $flam = ForEach ($oio in $cccs) { $GetCon | Where-Object {$_.OwningProcess -eq $oio} | select -Last 1 } $yyoiu = $GetCon | Group-Object -Property OwningProcess for ($irt = 0; $irt -lt $yyoiu.Count; $irt++) { $rfrt = foreach($grpop in $yyoiu[0..$irt]){ $jrtgrpcnt = [int]($grpop.Group.Count - 1) $grpop.Group | select -First (0+$jrtgrpcnt) } } $CntTableBodyr="" #$frcntArrr = $flam | select -ExpandProperty OwningProcess #$frcntr.GetEnumerator() |%{$_} ForEach ($Rowr in $flam) { $CntTableBodyr+="<tr id='111' style='background-color: lightblue;'><td>$($Rowr.OwningProcess)</td><td>$($Rowr.LocalAddress)</td></tr> <tr id='222' style='background-color: lightgray;'><td>$($rfrt.OwningProcess)</td><td>$($rfrt.LocalAddress)</td></tr>" } $html=@" <table id='tblId'> $CntTableBodyr </table> "@ ConvertTo-Html -Body $html | Out-File c:\out.html Invoke-Item c:\out.html 

只是采取必要的部分(因为我没有获得相同的资源):

 $flam = ConvertFrom-CSV @" OwningProcess,LocalAddress 1177,127.0.0.1 1177,192.168.1.2 1177,192.168.1.1 2211,192.168.1.1 2211,127.0.0.1 3122,192.168.1.1 3122,192.168.1.1 "@ $OwningProcesses = @() $flam | ForEach { $id = If ($OwningProcesses -Contains $_.OwningProcess) {"222"} Else {$OwningProcesses += $_.OwningProcess; "111"} $_ | Add-Member -Force id $id } 

结果:

 PS C:\> $flam OwningProcess LocalAddress id ------------- ------------ -- 1177 127.0.0.1 111 1177 192.168.1.2 222 1177 192.168.1.1 222 2211 192.168.1.1 111 2211 127.0.0.1 222 3122 192.168.1.1 111 3122 192.168.1.1 222 

将其包含在HTML文件中:

 $CntTableBodyr="" #$frcntArrr = $flam | select -ExpandProperty OwningProcess #$frcntr.GetEnumerator() |%{$_} $flam | { $CntTableBodyr+="<tr id='$($_.id)' style='background-color: lightblue;'><td>$($_.OwningProcess)</td><td>$($_.LocalAddress)</td></tr>" } $html=@" <table id='tblId'> $CntTableBodyr </table> "@ ConvertTo-Html -Body $html | Out-File c:\out.html