MSTSC: Lo Strumento CLI Definitivo per il Controllo Remoto e l’Accesso

Nel mondo dell’informatica odierna, caratterizzato da un ritmo frenetico, l’accesso remoto è indispensabile per una connettività senza intoppi e operazioni efficienti. Fortunatamente, con Microsoft Terminal Server Client (MSTSC), è possibile accedere in remoto e assumere il controllo di un altro PC.

MSTCS è un comando che esegue Remote Desktop per accedere in remoto a host o server. In questo tutorial, imparerai le basi dell’utilizzo di MSTSC per l’accesso remoto e otterrai una panoramica delle sue funzionalità.

Pronto? Continua a leggere per potenziare la tua esperienza di controllo remoto!

Prerequisiti

Questo tutorial è progettato come una dimostrazione pratica. Per seguirla, avrai bisogno di un host locale e remoto con Windows. Questo tutorial utilizza Windows 10 Pro per entrambi gli host.

Nota che il tuo host remoto deve avere un sistema operativo Windows Pro per consentire connessioni desktop remote in ingresso. Se hai Windows Home, esegui l’aggiornamento a Windows Pro prima di continuare con questo tutorial:
Aggiornamento da Windows 10 Home a Windows 10 Pro
Aggiornamento da Windows Home a Windows Pro

Abilitazione del Protocollo Desktop Remoto (RDP)

RDP è un protocollo sviluppato da Microsoft che consente agli utenti di accedere in remoto a un computer o server basato su Windows tramite una rete. Con RDP, è possibile connettersi a un computer remoto e utilizzarne le risorse come se ci si trovasse di fronte ad esso.

Per abilitare RDP su Windows, segui questi passaggi:

1. Apri PowerShell come amministratore nel tuo server remoto e assicurati che la directory di lavoro sia C:\Windows\System32.

2. Successivamente, esegui il seguente comando ./reg add per fornire una modifica del registro con conferma di richiesta (-f).

Questo comando abilita le connessioni Desktop Remoto come segue:

  • "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" Il percorso della chiave di registro che controlla le impostazioni dei servizi Terminal.
  • /v – Specifica il nome del valore da modificare. In questo caso, il valore fDenyTSConnections controlla se le connessioni Desktop remoto sono consentite o negate.
  • /t – Specifica il tipo di dati da modificare, che, in questo caso, è un tipo di dati DWORD (double-word) (REG_DWORD).
  • /d – Imposta il valore della chiave fDenyTSConnections su 0, consentendo le connessioni Desktop remoto.
./reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
Enabling Remote Desktop connections in the registry

3. Ora, esegui il comando ./netsh advfirewall di seguito per impostare la regola del firewall che consente le connessioni Desktop remoto. Questo comando garantisce che il Firewall di Windows non blocchi il traffico Desktop remoto in ingresso tramite RDP.

./netsh advfirewall firewall set rule group="remote desktop" new enable=yes
Setting a firewall rule to allow Remote Desktop connections

Forse non hai più bisogno di accedere in remoto alla macchina Windows e desideri migliorare la sicurezza della macchina. In tal caso, esegui i comandi di seguito per bloccare il traffico Desktop remoto in ingresso.

./reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
./netsh advfirewall firewall set rule group="remote desktop" new enable=No

Connessione a un Host Remoto in Modalità Schermo Intero

Il client di connessione desktop remoto di Microsoft fornisce un’interfaccia grafica utente facile da usare per le connessioni remote, il che è eccellente. Tuttavia, l’interfaccia grafica potrebbe non essere la soluzione più efficiente per accedere rapidamente a un host remoto.

Fortunatamente, MSTSC offre un’interfaccia a riga di comando (CLI) che ti consente di connetterti direttamente e ottenere il controllo del tuo server RDP con un solo comando. Inoltre, MSTSC supporta una modalità a schermo intero che ti permette di vedere più della sessione desktop remota in modo da poter lavorare più efficientemente.

Per connetterti a un host remoto in modalità a schermo intero:

Apri PowerShell sulla tua macchina locale e esegui uno dei comandi ./mstsc di seguito per connetterti al tuo host remoto.

Assicurati di sostituire quanto segue:

  • <Indirizzo_IP> – L’effettivo indirizzo IP pubblico del tuo host remoto.
  • <Porta> – La porta che hai configurato per l’uso del tuo host remoto diversa dalla porta predefinita (3389). In caso contrario, ometti la porta per utilizzare automaticamente quella predefinita.
# Connessione all'host remoto con porta RDP configurata
./mstsc /v:<IP_Address>:<Port> /f
# Connessione all'host remoto utilizzando la porta RDP predefinita (3389)
./mstsc /v:<IP_Address> /f

Se preferisci eseguire il comando mstsc indipendentemente dalla directory di lavoro, aggiungi il percorso di MSTSC (C:\Windows\System32\mstsc) alla variabile di ambiente PATH. Una volta aggiunto, puoi eseguire il comando come quello di seguito: mstsc /v:<Indirizzo_IP>:<Porta> /f

Quando richiesto, fornisci le credenziali del tuo host remoto, come mostrato di seguito, e clicca su OK per autenticare la connessione.

Authenticating the remote desktop connection

L’output qui sotto mostra una connessione Desktop remoto a schermo intero.

Viewing a remote desktop connection in full-screen mode

Personalizzazione della Risoluzione per le Connessioni Desktop Remoto

Hai visto come connetterti a un host remoto a schermo intero, utile se lavori con molti strumenti. Tuttavia, sii consapevole che la risoluzione della sessione Desktop Remoto potrebbe non corrispondere a quella del tuo display locale.

Personalizzare la risoluzione per le connessioni remote ti consente di regolare le dimensioni della sessione Desktop Remoto.

Per personalizzare la risoluzione delle tue connessioni Desktop Remoto:

Esegui il comando seguente per connetterti al tuo host remoto con una larghezza (/w) e un’altezza (/h) personalizzate. Sostituisci <Width> e <Height> con valori che rappresentano la risoluzione desiderata in pixel.

Questo comando assicura che la sessione Desktop Remoto si adatti comodamente al tuo schermo e che testo, immagini e altri elementi siano visualizzati chiaramente e leggibilmente.

./mstsc /v:<IP_Address>:<Port> /w:<Width> /h:<Height>

Nota che la sessione Desktop Remoto è simile a una finestra regolare, che puoi ingrandire fino al limite della risoluzione specificata.

Customizing the resolution for Remote Desktop connections

Abbinamento Automatico della Risoluzione del Display Locale

Personalizzare la risoluzione della connessione Desktop remoto funziona bene se conosci i valori corretti. Ma cosa succede se preferisci adattare la risoluzione del tuo display locale? La flag /span farà al caso tuo, conosciuta come modalità “spanning” per le connessioni Desktop remoto.

Esegui il seguente comando, aggiungendo la flag /span, per connetterti al tuo host remoto adattando la risoluzione al tuo display locale.

Quando la modalità spanning è abilitata, MSTSC rileva automaticamente la risoluzione del tuo display locale e adatta la risoluzione della connessione remota per corrispondere ad essa.

./mstsc /v:192.168.1.100 /span
Matching to local display resolution automatically

Connessione a un host remoto in modalità pubblica

Oltre a connetterti a un host remoto in modalità schermo intero e spanning, puoi anche connetterti al tuo host remoto in modalità pubblica. Questa modalità è utile quando ti connetti a una macchina remota da un computer pubblico condiviso da più utenti.

Quando la modalità pubblica è abilitata, le credenziali che usi per accedere all’host remoto non vengono salvate o memorizzate nella cache. Questo comportamento impedisce ad altri utenti di accedere alla tua macchina remota – meno male!

Esegui il seguente comando per connetterti al tuo host remoto in modalità pubblica (/public)

./mstsc /v:<IP_Address>:<Port> /public

Potresti dover inserire le credenziali dell’account utente remoto per accedere alla sessione remota. Tutte le modifiche apportate durante la sessione remota, inclusi preferenze e impostazioni, vengono automaticamente eliminate al termine della sessione.

Connecting to a remote host in public mode

Connessione a un host remoto come amministratore

Stai accedendo al tuo host remoto come utente normale, il che va bene. Ma la gestione degli host remoti di solito richiede privilegi amministrativi.

Ad esempio, potresti dover installare un pacchetto software o accedere alle impostazioni di sistema che sono accessibili solo da un account amministratore.

Esegui il comando seguente per connetterti al tuo host remoto con una risoluzione personalizzata come /admin, che ha privilegi elevati e può eseguire operazioni amministrative sull’host remoto.

./mstsc /v:<IP_Address> /w:900 /h:720 /admin
Connecting to a remote host as an admin

Ora apri il pannello di controllo e vai alla sezione Account utente.

Vedi un output simile a quello riportato di seguito? Congratulazioni! Ti sei connesso con successo al tuo host remoto come amministratore.

Verifying administrator privileges

Connessione all’host remoto tramite un file .rdp esistente

Finora ti sei connesso con successo al tuo host remoto in diverse modalità. Ma specificare diversi parametri ogni volta che ti connetti al tuo host remoto può diventare noioso a lungo andare.

Perché non salvare una copia delle impostazioni di connessione Desktop remoto in un file .rdp? Un file .rdp contiene tutte le impostazioni necessarie per stabilire una connessione a un host remoto, che puoi utilizzare al posto di immettere manualmente gli argomenti della riga di comando MSTSC.

Quando acquisti un servizio di controllo remoto, di solito scarichi un file .rdp dai fornitori di servizi, come Amazon Web Services e Azure RDP.

Per stabilire una connessione a un host remoto utilizzando un file .rdp esistente:

Esegui il seguente comando, sostituendo <RDP_FILE_PATH> con il percorso completo del tuo file .rdp esistente per connetterti al tuo host remoto secondo le impostazioni specificate nel tuo file .rdp.

./mstsc <RDP_FILE_PATH>

Nell’esempio seguente viene mostrato come connettersi a un’istanza AWS EC2 utilizzando un file .rdp esistente (ec2_instance.rdp) situato nella cartella C:\\Users\\admin\\Documents\\.

./mstsc C:\Users\admin\Documents\ec2_instance.rdp 

Ignora il messaggio di avviso sulla sicurezza e clicca su Connetti per procedere.

Connecting to the remote host via an existing .rdp file

Modificare le impostazioni di un file .rdp esistente

Forse il tuo file .rdp non contiene tutte le impostazioni necessarie per stabilire una connessione, o desideri modificarle. In entrambi i casi, il flag /edit sarà utile.

Per modificare le impostazioni del tuo file .rdp esistente:

Esegui il seguente comando, aggiungendo il flag /edit, che apre il file .rdp nella finestra delle impostazioni della connessione Desktop remoto.

./mstsc /edit <RDP_FILE_PATH>

Una volta soddisfatto delle impostazioni modificate, clicca su Salva per salvare le modifiche o su Salva come per salvare le impostazioni in un nuovo file .rdp.

Modifying an existing .rdp configuration file

Conclusione

Accesso remoto a un host o server ti consente di accedere ai file senza dover portare avanti e indietro le chiavette USB o i dischi rigidi. E in questo tutorial, hai imparato come abilitare RDP e utilizzare MSTSC per connetterti a un host remoto in modalità diverse, risoluzioni e persino tramite un file .rdp esistente.

Sfruttando MSTSC, puoi gestire efficientemente computer e postazioni di lavoro remote, indipendentemente dalla posizione fisica.

Ora, puoi utilizzare MSTSC con fiducia come tuo strumento CLI per stabilire connessioni remote sicure ed efficienti agli host remoti. Perché non provare qwinsta o rwinsta comandi successivi per gestire le tue sessioni desktop remote?

Source:
https://adamtheautomator.com/mstsc/