@mta77 (mta77)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Gettcpconnection結果を一定時間出力する方法

Q&A

Closed

解決したいこと

forやwhile文で対応すると同じ処理がループする為、一定時間ログを
出力させたい

for,WhhileでのGettcpconnection powershell

LocalAddress    LocalPort RemoteAddress    RemotePort State   AppliedSetting
------------    --------- -------------    ---------- -----   --------------
192.168.0.1     80        192.168.0.1      80         Bound   Internet

↓roop中
LocalAddress    LocalPort RemoteAddress    RemotePort State   AppliedSetting
------------    --------- -------------    ---------- -----   --------------
192.168.0.1     80        192.168.0.1      80         Bound   Internet
↓roop中
LocalAddress    LocalPort RemoteAddress    RemotePort State   AppliedSetting
------------    --------- -------------    ---------- -----   --------------
192.168.0.1     80        192.168.0.1      80         Bound   Internet

例えばnetstat -p tcpを実施した場合、Ctrl+Cをしないと継続してログを出力
しますが、同様の処理をGettcpconnectionで実現したいです。

Get-NetTCPConnection | memberで同様の処理ができるMethodがあるか探して見ましたが
特にそういった出力を可能するものはなく、ご教授いただければ幸いです。

0 likes

1Answer

基本はループさせるしかないと思います(私が知らないだけかもしれませんが)。

&{ while ($TRUE) { Get-NetTCPConnection ; sleep 1 ; } } | XXXXXXXXX

あるいは、Get-NetTCPConnection をする別ファイルを作って

xxxxx.ps1
while ($TRUE) {
    Get-NetTCPConnection
    sleep 1
}

それを実行すればよいかと思います。

./xxxxx.ps1 | XXXXXXXXX
1Like

Comments

  1. @mta77

    Questioner

    ご回答ありがとうございます。
    やはりroopで対応する感じですかね。

    以前、ご教授頂いたGet-NetTCPConnectionのホワイトリストを比較するシェルに
    1分間roop内容を実行する構文を追加し実行しておりました。

    ------------------
    # ホワイトリストと比較 1分間のみ実行
    $timeout = new-timespan -Minutes 1
    $sw = [diagnostics.stopwatch]::StartNew()
    while ($sw.elapsed -lt $timeout){
    Function IsAllowed([CimInstance] $connection)



    }
    ------------------

    ご教授頂いた内容も加味し構文書いてみます。
    ありがとうざいます。

Your answer might help someone💌