Tuesday, January 08, 2013

Enable-RemoteDesktop -computername DexServerCore

Now, Basically why to enable remote desktop on a ServerCore ? When you have already WinRM and PowerShell remoting already kicking.

Well, I honestly can't say why to enable it...cause I have the ServerCore machine sitting up on my Hyper-V Server and I could "connect" to it as easily. But it's good to know that it could be done.

With Server 2012 you could add a GUI or a Servercore...but there is something called Minimal Server Interface as well in Server 2012 (plus Server 2012 gives you ability to switch between all these installations too). So you might want to read up on this here . So a use scenario can be to add Minimal Server Interface on a remote host for the time being , Enable Remote Desktop  and perform Admin tasks which occur rarely.

How to Enable Remote Desktop ?

Well from what I could understand there are 2 registry entries which control this.
1. fDenyTSConnections under  'HKLM:\System\CurrentControlSet\Control\Terminal Server'. This Reg Entry tells if the Remote Desktop Connections are allowed to the Machine are not.

2. UserAuthentication under 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' . This Reg Entry if set to 1 indicates that "Only Secure Connections are allowed" and if set to 0 then it means "All Connections allowed".

Now , all the cool PowerShell kids (Guess I am one..lol ) would just open a PSSession to the remote machine and set these Reg Entries properly to allow Remote Desktop Connection. Legacy method would be to use remote registry to edit entries, but there is yet another way.....I stumbled across it recently on someone's blog (sorry! don't remember the blog address).

The above method is using WinRM to essentially call the scregedit.wsf script on remote machine dexservercore from my local machine.

Once done, fire up the mstsc.exe and connect to the remote machine, it prompts for the credentials.

So here it is Remote Desktop working on your Server Core.