2013/09/04

ぎたぱそ氏がPowerShell で TCP/IP 接続監視をしたい | guitarrapc.wordpress.comというエントリを上げておられます。

ループを回して定期的に出力するとTableが一つにまとまらない、とのことですが、パイプラインの先頭で無限リストを出力するようにすればOKです。

あとデータの再利用を考えるなら、最初からCSVで出力しておくのが無難かと思います。

画面出力と同じものをファイル出力するだけで良いなら、Tee-Objectコマンドレットでもいいかと。

ついでに本体の関数も何となく短くしてみました。

function Get-NetTCPConnectionCheck
{
    $result = [ordered]@{Date = Get-Date}
    echo Listen, Established, TimeWait, CloseWait, LastAck |
        %{$result[$_] = 0}
    Get-NetTCPConnection |
        group state -NoElement |
        ?{$result.Contains($_.Name)} |
        %{$result[$_.Name] = $_.Count}
    [PSCustomObject]$result
}

&{process
    {
        while($true)
        {
            Get-NetTCPConnectionCheck
            sleep -Seconds 1
        }
    }
} |% {
    $_ | Export-Csv -Append C:\Users\daisuke\Documents\test.csv
    $_
} | Format-Table 

以上。

2008/07/03

Function GetPubDate(dDate)
	days = Array("","Sun","Mon","Tue","Wed","Thu","Fri","Sat")
	months = Array("","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
	GetPubDate = days(WeekDay(dDate)) & ", " & Right("0" & Day(dDate),2) & " " & months(Month(dDate)) & " " & Year(dDate) & " " & Right("0" & Hour(dDate),2) & ":" &  Right("0" & Minute(dDate),2) & ":" & _
Right("0" & Second(dDate),2) & " +0900"
	'Wed, 05 Oct 2005 19:08:12 +0900
End Function

探してもなかったので書いてみました。ついでにRSS1.0のdc:Dateも

Function GetDCDate(dDate)
	GetDCDate=Year(dDate) & "-" & Right("0" & Month(dDate),2) & "-" & Right("0" & Day(dDate),2) & "T" & _
	Right("0" & Hour(dDate),2) & ":" &  Right("0" & Minute(dDate),2) & ":" & _
	Right("0" & Second(dDate),2) & "+09:00"
	'2005-10-06T10:31:58+09:00
End Function
元記事:http://blogs.wankuma.com/mutaguchi/archive/2008/07/03/147172.aspx

Copyright © 2005-2016 Daisuke Mutaguchi All rights reserved

mailto: mutaguchi at roy.hi-ho.ne.jp

Awards

Books

Twitter