Tag Archives: Remote Deskop Services

2008 R2 SP1 kills Remote Desktop Services

Ran into this problem this morning when installing 2008 R2 SP1. Service Pack installs successfully, but cannot login via remote desktop services. Checked the eventlog remotely. found the following in the application log. Event ID 7034 reports which doesn’t help a lot.  Also Event ID: 1000 reports an application error.

Faulting application name: svchost.exe_TermService, version: 6.1.7600.16385, time stamp: 0x4a5bc3c1
Faulting module name: rdpcorekmts.dll, version: 6.1.7600.16952, time stamp: 0x4f1f9e66
Exception code: 0xc0000005
Fault offset: 0x000000000000a793
Faulting process id: 0xf80
Faulting application start time: 0x01cd1e4172e7da89
Faulting application path: C:WindowsSystem32svchost.exe
Faulting module path: C:Windowssystem32rdpcorekmts.dll
Report Id: eec16b12-8a34-11e1-8e8c-0050568ac72d

after a quick google I found the following thread

http://social.technet.microsoft.com/Forums/en-AU/winservergen/thread/f5855b60-f29c-4c90-b364-e364589e5267

And the following fix.

You need to run this with a user that is an admin on the target system.
Copy psexec and rdpcorekmts.dll (the new version) to a folder.
Create a file named servernames.txt and add the name of the server(s) you want to fi
Create a start.cmd file edit it and add the following:

@echo off
Echo ****************************************************
echo * This process will update and change the file rdpcorekmts. *
echo * If you don’t want to do that, ‘X’ out now                 *
echo ***************************************************
pause

:stop remote desktop services for /f %%i in (servernames.txt) do psexec \%%i net stop “Remote Desktop Services” /y

:Take Ownership for /f %%i in (servernames.txt) do psexec \%%i takeown /F c:windowssystem32rdpcorekmts.dll

:Change permissions to full for /f %%i in (servernames.txt) do psexec \%%i icacls c:windowssystem32rdpcorekmts.dll /grant administrators:F

:Copy in newer version for /f %%i in (servernames.txt) do copy rdpcorekmts.dll \%%ic$windowssystem32

:Change permissions back to read-only for /f %%i in (servernames.txt) do psexec \%%i icacls c:windowssystem32rdpcorekmts.dll /grant administrators:R

:start the service back up for /f %%i in (servernames.txt) do psexec \%%i net start “Remote Desktop Services” /y
Echo***************************************************

echo * Remove the names of the affected servers in the file Servernames *
echo***************************************************

Echo *Should be all done now. *
echo **************************

pause exit

Doubleclick start.cmd

You should now be able to login to your server.