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スクリプトを実行し、その結果をバッチファイルで受け取ります。
コメント