• 工具推荐:如何部署使用“远程桌面Web连接”,并且扩展它,可以连接非3389端口的远程桌面,(服务器管理员必备) 无为而为


    你用过远程桌面连接吗?
      我相信很多人都用过了,远程桌面现在可以用在Window Xp和Windows 2003 Server上面。而这两者都是会自己带有远程桌面连接,位置是:开始|所有程序|附件|通讯|远程桌面连接
    你可以看到熟悉的界面:


    但是,当本地不是Window Xp和Windows 2003 Server操作系统的时候,比如说是98系统的时候,你如何连接远程桌面呢?所以,有了下面的问题:

    你用过远程桌面 Web 连接吗?
    事实上,只要在一台服务器上部署这个东东,你就可以在任何有IE5以上的操作系统来连接远程桌面了。那么,How?

    安装远程桌面 Web 连接

    1.

    打开“控制面板”中的“添加或删除程序”。

    2.

    单击“添加/删除 Windows 组件”。

    3.

    单击“应用程序服务器”,然后单击“详细信息”。

    4.

    选择“Internet 信息服务”,然后单击“详细信息”。

    5.

    在“Internet 信息服务的子组件”列表中,选择“万维网服务”,然后单击“详细信息”。

    6.

    在“万维网服务的子组件”列表中,单击“远程桌面 Web 连接”复选框。单击“确定”。再次单击“确定”,接着第三次单击“确定”。

    7.

    在“Windows 组件”向导中,单击“下一步”。

    8.

    验证在“连接类型:”框中选中 RDP-Tcp 连接,然后单击“下一步”开始安装“远程桌面 Web 连接”。

    如何使用?

    使用远程桌面 Web 连接连接到其他计算机

    1.

    确保在 Web 服务器上已经安装并运行“远程桌面 Web 连接”。

    2.

    确保客户端计算机有活动的网络连接,并且 DNS 服务器服务(或其他名称解析方法)正在工作。

    3.

    在客户端计算机上启动 Microsoft Internet Explorer。

    4.

    在“地址”框中,键入管理“远程桌面 Web 连接”的 Web 服务器的主目录统一资源定位符 (URL)。

    URL 的格式为“http://”,后跟服务器的 Windows 网络名称,然后是包含“远程桌面 Web 连接”文件的目录路径(默认为 /Tsweb/)。(注意是正斜线标记。)例如,如果您的 Web 服务器在 WINS 服务器上注册为 "Admin1",那么请在“地址”框中键入:http://admin1/tsweb/,然后按 Enter。“远程桌面 Web 连接”页出现在屏幕上。

    5.

    在“服务器”中,键入要连接的远程计算机的名称或 IP 地址。

    6.

    还可以为该连接指定屏幕大小和登录信息。

    7.

    还可以选中“发送该连接的登录信息”复选框,并键入用户名和域。

    8.

    单击“连接”。

    注意

    “远程桌面 Web 连接”要求使用 Internet Explorer 5 或更高版本。

    如果正在连接的计算机不属于局域网,则您可能要指定该计算机的完全合格的域名。

    一个问题是:如果不是标准的3389端口,该怎么连接呢?
    我们知道,在非Web方式,可以直接在服务器名称后面加端口就可以比如:localhost:3389
    我们在Web方式能不能呢?答案是,目前是不能的。

    那么,有没有什么方法呢?
    当然有,只要修改Web 页面Html文本就可以做到。

    我查到资料:
    有MsRdpClient.AdvancedSettings2.RDPPort 这么一个属性,所以,我们只要把服务器名称里面的端口部分拆分出来,单独赋值给这个属性就OK了。
    通过观察代码,我们找到了sub BtnConnect这函数,加入这么一段:

       Dim Port
       
    'Port

       
    if InStr(serverName,":")=0 then
       
    '没有输入端口
          Port=3389
       
    else
          
    Dim arr
          arr 
    = Split(serverName,":")
          serverName 
    = arr(0)
          Port 
    = arr(1)
       
    end if    

    还有赋值一段:

    MsRdpClient.AdvancedSettings2.RDPPort = Port

    最终修改完之后的函数完整代码是这样的:

    sub BtnConnect
       Dim serverName
       'server
       if not Document.all.Server.value = "" then
          serverName = Document.all.Server.value
       else
          serverName = Document.location.hostname
       end if

       Dim Port
       'Port

       if InStr(serverName,":")=0 then
       '没有输入端口
          Port=3389
       else
          Dim arr
          arr = Split(serverName,":")
          serverName = arr(0)
          Port = arr(1)
       end if    

       serverName = trim(serverName)

    'MsgBox(Port)
    'MsgBox(serverName )
       
       On Error Resume Next
       MsRdpClient.server = serverName
       If Err then 
          msgbox L_InvalidServerName_ErrorMessage,0,L_RemoteDesktopCaption_ErrorMessage
          Err.Clear
          exit sub
       end if
       On Error Goto 0
       
       'serverName name text
       Document.all.srvNameField.innerHtml = serverName
       
       'Username/Domain
       if Document.all.CheckBoxAutoLogon.checked then
          MsRdpClient.UserName = Document.all.UserName.Value
          MsRdpClient.Domain = Document.all.Domain.Value
       end if
       
       'Resolution
       MsRdpClient.FullScreen = FALSE
       select case document.all.comboResolution.value
       case "1"
          MsRdpClient.FullScreen = TRUE
          resWidth  = screen.width
          resHeight = screen.height
       case "2"
          resWidth  = "640"
          resHeight = "480"
       case "3"
          resWidth  = "800"
          resHeight = "600"
       case "4"
          resWidth  = "1024"
          resHeight = "768"
       case "5"
          resWidth  = "1280"
          resHeight = "1024"
       case "6"
          resWidth  = "1600"
          resHeight = "1200"
       end select
       MsRdpClient.DesktopWidth = resWidth
       MsRdpClient.DesktopHeight = resHeight
       
       
       MsRdpClient.Width = resWidth
       MsRdpClient.Height = resHeight
       
       'Device redirection options
       MsRdpClient.AdvancedSettings2.RedirectDrives     = FALSE
       MsRdpClient.AdvancedSettings2.RedirectPrinters   = TRUE
       MsRdpClient.AdvancedSettings2.RedirectPorts      = FALSE
       MsRdpClient.AdvancedSettings2.RedirectSmartCards = FALSE
       
       MsRdpClient.AdvancedSettings2.RDPPort = Port

       'FullScreen title
       MsRdpClient.FullScreenTitle = L_FullScreenTitle_Text & "(" & serverName & ")"
       
       'Display connect region
       Document.all.loginArea.style.display = "none"
       Document.all.connectArea.style.display = "block"
       
       'Connect
       MsRdpClient.Connect
    end sub

    完工了,我把完工的页面也传给大家吧,只要替换该页面,就OK了。
    /Files/cleo/default.htm
     

  • 相关阅读:
    Jedis客户端以及redis中的pipeline批量操作
    Redis5.x两种持久化方式以及主从复制配置
    博客园原创文章防剽窃、反爬虫指南(持续更新.....)
    【金主打赏榜】
    Swift LeetCode 目录 | Catalog(每周日更新......)
    [Swift]SkeletonView:在UITableView中使用骨架屏
    【Xcode】加快Xcode编译调试速度
    【Xcode】ITMS-90809:查找UIWebView
    [Swift]PhotoKit-照片框架
    [SourceTree]remote: HTTP Basic: Access denied
  • 原文地址:https://www.cnblogs.com/cleo/p/370911.html
Copyright © 2020-2023  润新知