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 回答