RDP via TSweb

Status
Niet open voor verdere reacties.
Hallo,

Ik heb op een virtuele machine Windows Server 2003 geïnstalleerd en deze de rollen Application Server en Terminal Server gegeven. Op deze computer is het gebruik van meerdere rdp sessies toegestaan en dat werkt ook goed.

Het interne IP-adres van deze computer is 192.168.1.xx met als RDP-poort 5001. Als ik deze in het programma "Verbinding maken met extern bureaublad" invoer op een computer die in hetzelfde netwerk hangt als de externe computer, dan kan de computer overnemen. Ook kan ik via TSweb (code gewijzigd: poort 5001 toegevoegd) de computer overnemen.

Lokaal is dus alles prima. Maar nu wil ik ook extern op de computer komen. Ik heb de router al ingesteld, dat wanneer iemand het ip-adres 77.xxx.xxx.xxx invult uitkomt op de machine van 192.168.1.xx. Dit lukt alleen niet via TSweb. Ik krijg dan de melding: The remote computer disconnected the session because of an error in het licensing protocol [...].

Ik heb het hele script en de licenties op de machine zelf nog een keer doorgenomen en volgens mij klopt het gewoon (het is ook vreemd dat ik er via RDP wel op kan, maar via TSweb, als deze op een webserver draait, niet, terwijl het gewoon hetzelfde is, maar dan op het internet).

Wat moet ik doen om dit probleem op te lossen? (dus via TSweb naar mijn externe computer toegaan die niet in het netwerk gekoppeld zit)

-----------------------------------------------------------------------------------
De code van TSweb:

<html>

<script language="vbscript">
<!--
const L_FullScreenWarn1_Text = "Your current security settings do not allow automatically switching to fullscreen mode."
const L_FullScreenWarn2_Text = "You can use ctrl-alt-pause to toggle your remote desktop session to fullscreen mode"
const L_FullScreenTitle_Text = "Remote Desktop Web Connection "
const L_ErrMsg_Text = "Error connecting to remote computer: "
const L_PlatformCheck_ErrorMessage = "The Remote Desktop Web connection ActiveX control can only run in the 32-bit version of Internet Explorer."

' error messages
const L_RemoteDesktopCaption_ErrorMessage = "Remote Desktop Connection"
const L_DisconnectedCaption_ErrorMessage = "Remote Desktop Disconnected"
const L_ErrConnectCallFailed_ErrorMessage = "An error occurred when the client attempted to connect to the remote computer. Check your system memory and then try the connection again."
const L_DisconnectRemoteByServer_ErrorMessage = "The remote computer has ended the connection."
const L_LowMemory_ErrorMessage = "The local computer is low on memory. Close some programs, and then connect to the remote computer again."
const L_SecurityErr_ErrorMessage = "Because of a security error, the client could not connect to the remote computer. Verify that you are logged on to the network, and then try connecting again."
const L_BadServerName_ErrorMessage = "The specified remote computer could not be found. Verify that you have typed the correct computer name or IP address, and then try connecting again."
const L_ConnectFailedProtocol_ErrorMessage = "Because of a protocol error, the client could not connect to the remote computer. Please try connecting to the remote computer again. If the client still fails to connect, contact your network administrator."
const L_CannotLoopBackConnect_ErrorMessage = "The client could not connect. You cannot connect to the console from a console session of the same computer."
const L_NetworkErr_ErrorMessage = "The connection was ended because of a network error. Please try connecting to the remote computer again."
const L_InternalErr_ErrorMessage = "An internal error has occurred."
const L_NotResponding_ErrorMessage = "The client could not connect to the remote computer. Remote connections might not be enabled or the computer might be too busy to accept new connections.It is also possible that network problems are preventing your connection.Please try connecting again later. If the problem continues to occur, contact your administrator."
const L_VersionMismatch_ErrorMessage = "Client and server versions do not match. Please upgrade your client software and then try connecting again."
const L_EncryptionError_ErrorMessage = "Because of an error in data encryption, this session will end. Please try connecting to the remote computer again."
const L_ProtocolErr_ErrorMessage = "Because of a protocol error, this session will be disconnected. Please try connecting to the remote computer again."
const L_IllegalServerName_ErrorMessage = "The specified computer name contains invalid characters. Please verify the name and try again."
const L_ConnectionTimeout_ErrorMessage = "The remote connection has timed out. Please try connecting to the remote computer again."
const L_DisconnectIdleTimeout_ErrorMessage = "The remote session was ended because the idle timeout limit was reached. This limit is set by the server administrator or by network policies."
const L_DisconnectLogonTimeout_ErrorMessage ="The remote session ended because the total logon time limit was reached. This limit is set by the server administrator or by network policies."
const L_ProtocolErrWITHCODE_ErrorMessage = "Client disconnected due to internal protocol error: "
const L_LicensingTimeout_ErrorMessage = "A licensing error occurred while the client was attempting to connect (Licensing timed out).Please try connecting to the remote computer again."
const L_LicensingNegotFailed_ErrorMessage = "The remote computer disconnected the session because of an error in the licensing protocol.Please try connecting to the remote computer again or contact your server administrator."
const L_DisconnectRemoteByServerTool_ErrorMessage = "The remote session to the remote computer was ended by means of an administration tool.Your administrator might have ended your connection."
const L_LogoffRemoteByServer_ErrorMessage = "The remote session was disconnected because your session was logged off at the remote computer.Your administrator or another user might have ended your connection."
const L_DisconnectByOtherConnection_ErrorMessage = "The remote session was disconnected because another user has connected to the session."
const L_ConnectionBroken_ErrorMessage = "The connection to the remote computer was broken. This may have been caused by a network error.Please try connecting to the remote computer again."
const L_ServerOutOfMemory_ErrorMessage = "The connection was disconnected because the remote computer is low on memory."
const L_LicenseInternal_ErrorMessage = "The remote session was disconnected because there was an internal error in the remote computer's licensing protocol."
const L_NoLicenseServer_ErrorMessage = "The remote session was disconnected because there are no Terminal Server License Servers available to provide a license.Please contact the server administrator."
const L_NoLicense_ErrorMessage = "The remote session was disconnected because there are no Terminal Server client access licenses available for this computer.Please contact the server administrator."
const L_LicenseBadClientMsg_ErrorMessage = "The remote session was disconnected because the remote computer received an invalid licensing message from this computer."
const L_LicenseHwidDoesntMatch_ErrorMessage = "The remote session was disconnected because the Terminal Server client access license stored on this computer has been modified."
const L_BadClientLicense_ErrorMessage = "The remote session was disconnected because the Terminal Server client access license stored on this computer is in an invalid format."
const L_LicenseCantFinishProtocol_ErrorMessage = "The remote session was disconnected because there were network problems during the licensing protocol.Please try connecting to the remote computer again."
const L_LicenseClientEndedProtocol_ErrorMessage = "The remote session was disconnected because the client prematurely ended the licensing protocol."
const L_LicenseBadClientEncryption_ErrorMessage = "The remote session was disconnected because a licensing message was incorrectly encrypted."
const L_CantUpgradeLicense_ErrorMessage = "The remote session was disconnected because the local computer's client access license could not be upgraded or renewed.Please contact the server administrator."
const L_LicenseNoRemoteConnections_ErrorMessage = "The remote session was disconnected because the remote computer is not licensed to accept remote connections.Please contact the server administrator."
const L_DecompressionFailed_ErrorMessage = "The remote session was disconnected because of a decompression failure at the client side. Please try connecting to the remote computer again."
const L_ServerDeniedConnection_ErrorMessage ="The client could not establish a connection to the remote computer.The most likely causes for this error are:1) Remote connections might not be enabled at the remote computer.2) The maximum number of connections was exceeded at the remote computer.3) A network error occurred while establishing the connection."
const L_ControlLoadFailed_ErrorMessage= "Remote Desktop Web Connection ActiveX control could not be installed. A connection cannot be made without a working installed version of the control. Please contact the server administrator."
const L_InvalidServerName_ErrorMessage = "An invalid server name was specified."

sub window_onload()
if not LCase(Navigator.CpuClass) = "x86" then
msgbox L_PlatformCheck_ErrorMessage
end if

Dim serverName
serverName = "<servernaam>"
serverName = trim(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


'Resolution
MsRdpClient.FullScreen = FALSE

'MsRdpClient.FullScreen = TRUE
resWidth = screen.width - 50
resHeight = screen.height - 250


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

'poort
MsRdpClient.AdvancedSettings2.RDPPort = "5001"

'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


sub OnControlLoadError
msgbox L_ControlLoadFailed_ErrorMessage,0,L_RemoteDesktopCaption_ErrorMessage
end sub

sub OnControlLoad
set Control = Document.getElementById("MsRdpClient")
if Not Control is Nothing then
if Control.readyState = 4 then
Document.all.connectButton.disabled = FALSE
end if
end if
end sub


sub BtnConnect

end sub

-->

</script>

<!--
-->

<!-- =========================LOGIN AREA ==========================
-->
<div id=loginArea>
<input type="submit" id=connectbutton value="Connect" disabled="TRUE" name="ButtonLogin" OnClick=BtnConnect class="button">
</div>
<!-- ================================= LOGIN FORM =================
-->

<!-- ================================= CONNECT ====================
-->
<div id=connectArea style="display: none">
<center>
<table>
<tr>
<OBJECT language="vbscript" ID="MsRdpClient"
onerror="OnControlLoadError"
onreadystatechange="OnControlLoad"
CLASSID="CLSID:7584c670-2274-4efb-b00b-d6aaba6d3850"
CODEBASE="msrdp.cab#version=5,2,3790,3959"
WIDTH=<% resWidth = Request.QueryString("rW")
if resWidth < 200 or resWidth > 1600 then
resWidth = 800
end if
Response.Write resWidth %>
HEIGHT=<% resHeight = Request.QueryString("rH")
if resHeight < 200 or resHeight > 1200 then
resHeight = 600
end if
Response.Write resHeight %>>
</OBJECT>
</tr>


<script language="VBScript">
<!--
sub ReturnToConnectPage()
Window.Navigate("intern.htm")
end sub

sub MsRdpClient_OnConnected()

end sub

sub MsRdpClient_OnDisconnected(disconnectCode)

ReturnToConnectPage

end sub
-->
</script>
</table>
</center>
</div>


</body>
</html>

*****************************************
Inloggen gaat automatisch op de server (als RDP-user)
 
Extern TSweb met Vista en Windows 7 lukt niet bij dit script, bij Windows XP wel. Normaal werkt TSweb bij alle browsers...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan