RDRemote V1.0.0

In questo post Abilitare Remote Desktop remotamente avevo descritto alcuni modi per attivare remotamente le funzionalità di Remote Desktop accennando alla possibilità di utilizzare anche WMI per raggiugere lo scopo.

In particolare WMI offre tramite il metodo SetAllowTSConnections della classe Win32_TerminalServiceSetting la possibilità di attivare Remote Desktop e di configurare le Firewall rules relative.

Di seguito riporto una tabella con il parametri necessari per configurare correttamente i servizi di Desktop Remoto e il Firewall (un grazie a Strohm Armstrong – Programming Writer Windows SDK per avermi dato delucidazioni in merito):

Operazione

AllowTSConnections

ModifyFirewallException

Abilitazione RD

1

0

Abilitazione RD e Firewall rules

1

1

Disabilitazione RD

0

0

Disabilitazione RD e Firewall rules

0

1

Di qui l’idea di provare a implementare con una semplice applicazione basata solo sul .NET Framework 2.0 Remote Desktop remote configurator e di renderla disponibile per su CodePlex (http://rdremote.codeplex.com/).

L’applicazione consente di avere una panoramica delle configurazioni di un sistema remoto riguardanti la funzionalità di Remote Desktop. Le informazioni vengono ottenute tramite il pulsante Connect specificando l’HostName (o l’indirizzo IP) del sistema remoto e delle credenziali amministrative.

image

image

Una volta connessi al sistema Remoto è possibile abilitare i servizi di DeskTop remoto, l’utilizzo della NLA (Network Level Authentication) e le Firewall rules necessarie tramite il pulsante Enable RDP.

image

In modo analogo tramite il pulsante Disable RDP è possibile disabilitare i servizi di DeskTop e le Firewall rules.

image

Grazie al fatto che sui Sistemi Operativi server come Windows Server 2008 R2 e Hyper-V Server 2008 R2 per impostazione predefinita sono attive le Firewall rules Gestione DFS (DCOM-In) (le cui impostazioni coincidono con Strumentazione gestione Windows (DCOM-In)) e Gestione DFS (WMI-In) (le cui impostazioni coincidono con Strumentazione gestione Windows (WMI-In)) le connessioni WMI di tipo sincrono e semisincrono sono consentite.

Dal momento che RDRemote utilizza solo connessioni WMI di tipo sincrono è possibile utilizzarlo sui seguenti sistemi operativi con le impostazioni di default che il sistema operativo ha terminata l’installazione (computer in Workgroup, IP ottenuto tramite DHCP e Firewall rules default):

  • Windows Server 2008 R2 SP1 (Full o Core mode)
  • Windows Server 2008 R2 (Full o Core mode)
  • Hyper-V Server 2008 R2 SP1
  • Hyper-V Server 2008 R2

E’ possibile anche utilizzare RDRemote anche sui seguenti sistemi operativi, sempre con le impostazioni di default al termine dell’installazione, in quanto per impostazione predefinita il Firewall è disattivato:

  • Windows Server 2003 R2 SP2
  • Windows Server 2003 R2 SP1
  • Windows Server 2003 R2
  • Windows Server 2003 SP2
  • Windows Server 2003 SP1
  • Windows Server 2003

Per utilizzare RDRemote su sistemi operativi client in Workgroup come ad esempio Windows Vista e Windows 7 occorre eseguire delle configurazioni e quindi l’utilità di questo tool risulta limitato.

In particolare occorre abilitare le Firewall rules sulle scope Privato:

  • Strumenti gestione Windows (WMI-In) (Servizio RpcSs su TCP 135)
  • Strumenti gestione Windows (DCOM-In) (Servizio Winmgmt su TCP Any)

Inoltre dal momento che per default è attiva la UAC occorre impostare il sistema per consentire  l’accesso amministrativo remoto creando in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system la chiave DWORD LocalAccountTokenFilterPolicy e impostandola a 1.

A rigurado si veda How to change the Remote UAC LocalAccountTokenFilterPolicy registry setting in a Windows Vista image.

Per ulteriori approfondimenti si vedano:

[Update 01]
Dopo la chiusura di CodePlex il tool è disponibile su GitHub al seguente repository https://github.com/ermannog/RDRemote.