电脑计算机论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2897|回复: 0

部署“Web远程桌面”连接非3389端口的远程桌面

[复制链接]
admin 发表于 2010-10-31 15:28:27 | 显示全部楼层 |阅读模式
公司限制的太多,只开了,SMTP 25,POP3 110端口,想用3389端口登陆远程服务器远程桌面,结果不让登陆,把远程服务器的端口修改成25,结果是把自己关在服务器外面了,与服务器失去连接。这个问题搞的我很郁闷,到现在也没查出来为什么 25端口不行。服务器上并没有运行SMTP服务。 后来把端口修改成110到是可以连接远程服务器,发现偶的机器是2000的,没有mstsc程序,去CP一个过来,给我来一个提示说 不能运行,这下郁闷了。 还好2003服务器支持以web的方式登陆远程桌面(这个具体的安装方法在baidu以“web远程连接”为关键字能搜到N+1条记录)。赶紧动手安装组建,一通忙活之后,终于看到登陆界面了,高兴的输入服务器地址,等了一会后,又跳出一个提示说远程服务器无法连接。哦,仔细想想我把默认的3389端口修改成110了,这样肯定登陆不了服务器。这个简单,跟用mstsc程序一样要在服务器地址后面加一冒号,在加上端口号就OK了。点连接,又跳出一个提示,说输入的服务器地址非法。汗了。原来web方式的远程连接默认只支持端口号为3389的。郁闷吧。 不行不能就这么完完了。
在baidu狂搜了一通资料。终于找到答案了。 看偶下面的转贴。
复制内容到剪贴板
代码:
我们知道,在非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了。
见附件 default.rar (5.87 KB, 下载次数: 259)
您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|手机版|小黑屋|电脑计算机论坛 ( 京ICP备2022023538号-1 )

GMT+8, 2024-11-27 06:37 , Processed in 0.149579 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表