溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

VBS如何修改遠(yuǎn)程桌面端口號

發(fā)布時間:2021-10-08 13:52:39 來源:億速云 閱讀:149 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“VBS如何修改遠(yuǎn)程桌面端口號”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“VBS如何修改遠(yuǎn)程桌面端口號”這篇文章吧。

代碼如下:


'===========================================================================================
CheckOS ' 檢查操作系統(tǒng)版本
CheckMeState ' 檢查程序運(yùn)行狀態(tài)
main ' 執(zhí)行主程序

Sub main()
Dim PortNumberOld, PortNumberNew
Set wso = CreateObject("WScript.Shell")

PortNumberOld = regKeyRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber")
PortNumberNew = Trim( Inputbox( "請輸入一個端口號:", "修改遠(yuǎn)程桌面端口", PortNumberOld ) )

If PortNumberNew = "" Then Exit Sub
If Not ( ( IsNumeric( PortNumberNew ) = True ) And ( PortNumberOld <> PortNumberNew ) And _
( PortNumberNew > 0 ) And ( PortNumberNew < 65535 ) ) Then
wso.popup "輸入錯誤,請重試!", 5 , "錯誤:修改失敗", 16+4096 ' 提示信息
Exit Sub
End If

wso.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber", PortNumberNew, "REG_DWORD"
wso.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber", PortNumberNew, "REG_DWORD"

PortNumberOld = regKeyRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber")
If CLng( PortNumberOld ) = CLng( PortNumberNew ) Then
wso.popup "修改成功,請重啟電腦!", 5 , "提示:修改成功", 64+4096
Else
wso.popup "修改失敗,你可能沒有權(quán)限!", 5 , "警告:修改失敗", 48+4096
End If
Set wso = Nothing
End Sub

'===========================================================================================
'小函數(shù)
Function Exist( strPath )
'On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
If ((fso.FolderExists( strPath )) Or (fso.FileExists( strPath ))) then
Exist = True
Else
Exist = False
End if
Set fso = Nothing
End Function
Sub Move( strSource, strDestination )
On Error Resume Next
If Exist( strSource ) Then
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(strSource)) Then fso.MoveFile strSource, strDestination
If (fso.FolderExists(strSource)) Then fso.MoveFolder strSource, strDestination
Set fso = Nothing
Else
WarningInfo "警告", "找不到 " & strSource & " 文件!", 2
End If
If Not Exist( strDestination ) Then WarningInfo "警告", "移動失敗,無法移動 " & VbCrLf & strSource & " 至" & VbCrLf & strDestination, 2
End Sub
Sub RunHideNotWait( strCmd )
'On Error Resume Next
Set wso = CreateObject("WScript.Shell")
wso.Run strCmd, 0, False
Set wso = Nothing
End Sub
Function regKeyRead( strKey )
On Error Resume Next
Set wso = CreateObject("WScript.Shell")
regKeyRead = wso.RegRead( strKey ) 'strKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\DocTip"
Set wso = Nothing
End Function

'===========================================================================================
'是否重復(fù)運(yùn)行
Sub CheckMeState()
If IsRun( WScript.ScriptFullName ) Then
Set wso = CreateObject("WScript.Shell")
If wso.Popup("程序已運(yùn)行,請不要重復(fù)運(yùn)行本程序!" & VbCrLf & VbCrLf & _
"退出已運(yùn)行程序,請按“確定”,否則請按“取消”。(3秒后自動取消)" _
, 3, "警告", 1) = 1 Then
KillMeAllRun
End If
Set wso = Nothing
'WarningInfo "警告:", "程序已運(yùn)行,請不要重復(fù)運(yùn)行本程序??!", 1
WScript.Quit
End If
End Sub
' 檢測是否重復(fù)運(yùn)行
Function IsRun(appPath)
IsRun=False
For Each ps in GetObject("winmgmts:\\.\root\cimv2:win32_process").instances_
'IF Lcase(ps.name)="mshta.exe" Then
IF Lcase(ps.name)="wscript.exe" Then
IF instr(Lcase(ps.CommandLine),Lcase(appPath)) Then i=i+1
End IF
next
if i>1 then
IsRun=True
end if
End Function
'終止自身
Function KillMeAllRun()
Dim MeAllPid
Set pid = Getobject("winmgmts:\\.").InstancesOf("Win32_Process")
For Each ps In pid
'if LCase(ps.name) = LCase("mshta.exe") then
IF Lcase(ps.name)="wscript.exe" Or Lcase(ps.name)="cscript.exe"Then
IF instr(Lcase(ps.CommandLine),Lcase(WScript.ScriptFullName)) Then MeAllPid = MeAllPid & "/PID " & ps.ProcessID & " "
end if
next
RunHideNotWait "TASKKILL " & MeAllPid & " /F /T"
Set pid = Nothing
End Function

'===========================================================================================
'檢查操作系統(tǒng)版本
Sub CheckOS()
Dim os_ver
os_ver = GetSystemVersion
If os_ver >= 60 Or os_ver <= 50 Then
Msgbox "不支持該操作系統(tǒng)!    ", 48+4096, "警告"
WScript.Quit ' 退出程序
End If
End Sub
'取得操作系統(tǒng)版本
Function GetSystemVersion()
Dim os_obj, os_version, os_version_arr
Set os_obj = GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem")
For Each os_info In os_obj
os_version = os_info.Version
If os_version <> "" Then Exit For
Next
Set os_obj = Nothing
os_version_arr = Split( os_info.Version, ".")
GetSystemVersion = Cint( os_version_arr( 0 ) & os_version_arr( 1 ) )
End Function

以上是“VBS如何修改遠(yuǎn)程桌面端口號”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vbs
AI