Tips - Abilitare il Remote Desktop su un server remoto con psexec


PSExec è un tool a riga di comando che permette di eseguire comandi remoti.
Eseguire la seguente procedura dal client da cui si intende connettersi via RDP al server remoto:
  1. Aprire un Prompt dei comandi.
  2. Connettersi al server tramite il comando net use \\server\ipc$ specificando quando richiesto le credenziali dell’amministratore locale.
  3. Eseguire il seguente comando per abilitare le connessioni remote tramite RDP:
    psexec \\server reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0
  4. Eseguire il seguente comando per abilitare l’eccezione  connessioni remote tramite RDP:
    psexec \\server netsh firewall set service remotedesktop enable
Nel caso in cui invece siamo in un dominio ci si collega con regedit su registro remoto:

HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server modificare fDenyTSConnection (o crearla se assente di tipo DWORD) impostando come valore 0



E' necessario riavviare la macchina remota


shutdown -m \\nomecomputer -r -t 01 (-t 01 imposta il tempo ad un secondo, per evitare i classici 30 secondi)


I valori disponibile per fDenyTSConnection sono

0 desktop remoto abilitato

1 desktop remoto disabilitato

Qualora la connessione al registro remoto non sia possibile non a causa del firewall attivo sulla macchina remota o per errore nelle credenziali fornite, verificare che nel pc da cui si sta operando il servizio Registro di sistema remoto sia avviato

[Update nov 2011]
Esiste anche un'utility che permette di fare tutto da remoto (necessita di.NET Framework 2.0 Remote Desktop remote configurator e disponibile su CodePlex (http://rdremote.codeplex.com/).

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.

[fonte http://blogs.sysadmin.it/ermannog/archive/2011/11/14/rdremote-v1-0-0.aspx]