1

Windows ログオン スクリプトを実行しており、ユーザーのログオン時に記録される一連の詳細をコンパイルしています。これはリモート サーバーであるため、すべてのログオンは RDP 経由で行われます。ログオンしているユーザーの IP アドレスを取得する必要があります。私は以下を使用しました:

Function WAN_IP()
    Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP")
    Call objxmlHTTP.open("get", "http://checkip.dyndns.org", False)
    objxmlHTTP.Send()

    strHTMLText = objxmlHTTP.ResponseText
    Set objxmlHTTP = Nothing

    If strHTMLText <> "" Then
        varStart = InStr(1, strHTMLText, "Current IP Address:", vbTextCompare) + 19
        If varStart Then varStop = InStr(varStart, strHTMLText, "</body>", vbTextCompare)
        If varStart And varStop Then strIP = Mid(strHTMLText, varStart, varStop - varStart)
    Else
        strIP = "Unavailable"
    End If

    WAN_IP = Trim(strIP)
End Function

これは、予想どおり、接続したユーザーの IP ではなく、サーバー自体の外部 IP を返します。

RDP 経由で接続されているユーザーの IP を取得する方法を教えてくれる人はいますか?

4

1 に答える 1

0

@MarcBからの応答に続いて、リモートデスクトップクライアントのIPアドレスを取得する方法を使用しましたか?何をすべきかについてのアイデアを得るために。

次に、ここでいくつかのサンプルコードを見つけました:http://pleasepressanykey.blogspot.com/2008/09/get-users-last-successful-and-failed.html

于 2011-11-29T11:44:25.823 に答える