Start / Stop / Enable / Disable Terminal services from command line

by admin on October 13, 2010

We can start Terminal Services by running the command given below.

net start TermService

If the service is already running you will get the message ‘The requested service has already been started.
Sometimes you may get an error that the service could not be started.

C:\>net start termservice
The Terminal Services service is starting.
The Terminal Services service could not be started.
The service did not report an error.
More help is available by typing NET HELPMSG 3534.

This happens when Terminal Services is disabled through registry hack. You can fix this by running the below registry change command.

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

You need to reboot the computer for the changes to take effect. After reboot terminal services starts automatically or you can start the service using net start command as mentioned above.

How to stop Terminal Services?

Terminal Services can’t be stopped like other services.  You get the below error when you attempt the same.

C:\>net stop termservice
The requested pause or stop is not valid for this service.

How to restart Terminal services?

Since Terminal Services can’t be stopped there is no straightforward way we can do this. Microsoft says this is by design. But in some cases restarting terminal services could be possible by killing the svchost process that runs the terminal services.We can use tasklist and taskkill commands for this.

First get the process id of the terminal services process

 tasklist /svc | findstr /C:TermService

Check if Terminal services is the only service running in this svchost. If the svchost is shared with other services then you can stop reading further. Restarting terminal services is not possible on your machine.

On my system I have got the following output.

C:\>tasklist /svc | findstr /C:TermService
svchost.exe                 1708 DcomLaunch, TermService
C:\>
As you can see DcomLaunch and TermServiceboth share the same svchost process. In this case I can't kill the process as it stops the other service also. (Note that DcomLaunch is an essential service on the system and killing it can even shutdown the system)
In the case of svchost not being shared with any other service you can go ahead and kill TermService process by the following command.
taskkill /F /PID  process_id

How to disable Terminal Services?

We can run the below command to disable terminal services.

sc config TermService start= disabled

How to enable Terminal Services?

sc config TermService start= auto

(or)

sc config TermService start= demand

{ 5 comments… read them below or add one }

Anonymous November 11, 2010 at 3:14 pm

For your taskkill, command, the switch should be "/PID" not "/PIN"; also, I got an error message saying it can only be terminated forcefully using the /F swtich

Reply

Anonymous April 22, 2011 at 8:30 am

Yes, regarding the taskkill command the right syntax is: taskkill /F /PID process_id

Reply

Anonymous July 6, 2011 at 2:07 pm

Thanks! I appreciate you posting this helpful article

Reply

Wes October 12, 2011 at 4:42 pm

Great post … helped me out in a pinch…

Reply

EL February 20, 2013 at 5:57 am

I have an error in Taskkill .

ERROR: The process “process_id” not found.
what is it?

Reply

Leave a Comment

HTML tags are not allowed.

Previous post:

Next post: