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