| 网站首页 | VB.Net实例分析 | .Net技术文摘 | 下载中心 | VB.Net书籍笔记 | .Net源码 | VBS脚本与组件调用 | Windows2008技术文摘 | 给我们留言 | 
最新公告:

  没有公告

您现在的位置: 乐博网 >> VB.Net应用技巧 >> 技术文摘正文
最新推荐 更多内容
重置windows20003远程桌面端口的方法(乐博网原创)
重置windows20003远程桌面端口的方法(乐博网原创)
作者:颠倒黑白    来源:乐博网原创     更新时间:2011-2-27

文章为本站乐博网( Lob.cn )成员颠倒黑白原创,可以自由转载和传播,转载请保留本站的作者和信息来源,谢谢!如果大家对.Net编程开发或者关于“重置windows20003远程桌面端口的方法”的话题感兴趣,就一起www.SmallBasic.cn(乐博网旗下技术社区) 或者加入.Net超级QQ群 40797788  一起讨论,把他做得更完善吧!

要解决的问题:

windows2003操作系统的服务器托管在电信idc中,默认设置了tcp/ip筛选,只开放了3389端口,用户重置端口为9999端口,但忘记修改 tcp/ip筛选,重启后远程桌面就连不上了,但还能ping通(这种尴尬的情形很多服务器托管用户会遇到过,一般是让idc维护人员接屏幕处理了,但效率比较慢),好在有安装乐博服务器安全软件,里面有一项应急模块,允许远程上传和执行文件,而且他不监听tcp端口也就不收tcp/ip筛选的影响了,赶紧写了个程序放上去重置端口,以下就是代码了

Imports Microsoft.Win32
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim Bol_PortNumber1, Bol_PortNumber2 As Boolean
        Bol_PortNumber1 = RegEdit("HKEY_LOCAL_MACHINE", "SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp", "PortNumber", 3389, "D")
        Bol_PortNumber2 = RegEdit("HKEY_LOCAL_MACHINE", "SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp", "PortNumber", 3389, "D")

    End Sub
    Private Function RegEdit(ByVal RegKeyHead As String, ByVal RegBody As String, ByVal RegItem As String, ByVal RegValue As String, ByVal RegKind As String) As Boolean  '乐博网lob.cn原创

        Try
            Dim ObjRegistry, RegKey As RegistryKey
            Dim Obj_RegKind As RegistryValueKind
            ObjRegistry = GetRegKeyHead(RegKeyHead)
            Obj_RegKind = GetRegKind(RegKind)
            ObjRegistry.CreateSubKey(RegBody)
            RegKey = ObjRegistry.OpenSubKey(RegBody, True)
            RegKey.SetValue(RegItem, RegValue, Obj_RegKind)
            RegKey.Close()
            RegKey = Nothing
            Return True
        Catch ex As Exception
            Return False
        End Try

    End Function

    Function GetRegKind(ByVal MyValue As String)

        Select Case MyValue
            Case "S"
                Return RegistryValueKind.String
            Case "B"
                Return RegistryValueKind.Binary
            Case "D"
                Return RegistryValueKind.DWord
            Case "M"
                Return RegistryValueKind.MultiString
            Case "E"
                Return RegistryValueKind.ExpandString
            Case Else
                Return ""
        End Select

    End Function

    Function GetRegKeyHead(ByVal MyValue As String)   '乐博网lob.cn原创

        Select Case MyValue
            Case "HKEY_CLASSES_ROOT"
                Return Microsoft.Win32.Registry.ClassesRoot
            Case "HKEY_CURRENT_USER"
                Return Microsoft.Win32.Registry.CurrentUser
            Case "HKEY_LOCAL_MACHINE"
                Return Microsoft.Win32.Registry.LocalMachine
            Case "HKEY_USERS"
                Return Microsoft.Win32.Registry.Users
            Case "HKEY_CURRENT_CONFIG"
                Return Microsoft.Win32.Registry.CurrentConfig
            Case "PerformanceData"
                Return Microsoft.Win32.Registry.PerformanceData
            Case "DynData"
                Return Microsoft.Win32.Registry.DynData
            Case Else
                Return ""
        End Select

    End Function


End Class

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

好了 现在重置了端口为3389 ,但还没生效,需要重启,通知idc操作或者通过乐博安全软件里远程重启也行,对应命令是 Shutdown /f /r   

乐博网注:

 /f 是强制正在运行的应用程序关闭而不事先警告用户

 /r 是关闭并重启动计算机

 /t xxx     设置关闭前的超时为 xxx 秒。           有效范围是 0-600,默认为 30)

当然如果你是急性子 也可以再加个 /t 0   喜欢乐博网就来40797788的QQ群里交流吧~

 

 

  • 上一篇:

  • 下一篇:
  • 【字体: 】【打印此文】【关闭窗口
      相关文章:(只显示最新16条)
    VB.Net远程桌面客户端机器名IP等信息的查询方法

    | 设为首页 | 加入收藏 | 联系站长 | | 友情链接 | 版权申明 |
    乐博网欢迎各种媒体转载我们的原创作品[转载请注明出处];我们鼓励更多VB.Net开发者一起加入研究与探讨;如发现文章访问错误、内容错误或版权疑问、内容有违相关法律(如涉及政治、色情、反动或散布虚假有害信息)等情况,请及时向我们举报,我们将及时纠正!
    联系邮箱:Shiny#vip.qq.com (#替换为@) QQ交流群: 40797788 [闽ICP备05014267号]