PowerShell/バッチでリモートデスクトップの接続元IPアドレスを取得する

ALL
スポンサーリンク

PowerShell/バッチでリモートデスクトップで接続元IPアドレスを取得する方法です。
管理者権限が無くてもOKです。

PowerShellスクリプトで下記実行で、$ret にIPアドレスが接続元IPアドレスが取得できます。

function getRemoteIpAddr(){
    $result = &"netstat" -n -p tcp
    foreach ($line in $result) {
        if ( ${line} -match "  TCP +\d+\.\d+\.\d+\.\d+:3389 +(\d+\.\d+\.\d+\.\d+):.+ESTABLISHED") {
            return $Matches[1]
        }
    }
    return ""
}
$ret = getRemoteIpAddr

バッチからの取得は、バッチとPowershellスクリプトで値をやりとりする方法 の “Powershellスクリプトからコマンドラインへ値を渡す” の “単一の値を渡す場合” を参照してください。
バッチから上記PowerSHellスクリプトを実行し、その結果をバッチファイルで受け取ります。

コメント