Difference between revisions of "Enabling Remote Desktop Connections"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (Fix quoting of commands)
(simplified for latest WPKG release)
Line 13: Line 13:
 
     <check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections" value="0" />
 
     <check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections" value="0" />
 
     <install cmd='reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
 
     <install cmd='reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
     <upgrade cmd='reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
+
     <upgrade include="install" />
 
     <remove cmd='reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f' />
 
     <remove cmd='reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f' />
 
</package>
 
</package>
Line 32: Line 32:
 
     <install cmd='reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
 
     <install cmd='reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
 
     <install cmd='sc config termservice start= auto' />
 
     <install cmd='sc config termservice start= auto' />
     <upgrade cmd='reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
+
     <upgrade include="install" />
<upgrade cmd='sc config termservice start= auto' />
+
 
     <remove cmd='reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f' />
 
     <remove cmd='reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f' />
 
<remove cmd='sc config termservice start= disabled' />
 
<remove cmd='sc config termservice start= disabled' />

Revision as of 09:47, 1 November 2012

In XP, you have Remote Desktop Connection / Terminal Sessions, disabled by default.

You can enable them with a simple registry edit.

The XML for WPKG will look like this:

<package
     id="remotedesktop"
     name="Remote Desktop"
     revision="1"
     reboot="false"
     priority="0">
     <check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections" value="0" />
     <install cmd='reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
     <upgrade include="install" />
     <remove cmd='reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f' />
</package>

This will allow you to log on as Administrator (either domain or local) using Terminal Sessions.


A more complex scenario exists if the Terminal Service itself had been disabled; in which case the following is more suitable.

<package id="rdp" name="Remote Desktop" revision="3" reboot="true" priority="5">
<check type="logical" condition="or"> 
    <check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections" value="0" />
	<check type="registry" condition="equals" path="HKLM\SYSTEM\CurrentControlSet\Services\TermService\Start" value="2" />
</check>
    <install cmd='reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f' />
    <install cmd='sc config termservice start= auto' />
    <upgrade include="install" />
    <remove cmd='reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f' />
	<remove cmd='sc config termservice start= disabled' />
</package>

Question: how to enable Terminal Sessions for other, non-Administrator users?

Answer: That would involve adding those users to the Remote Desktop Users group. This cannot be done in the registry, but with the command net group "Remote Desktop Users" /add usernamehere.