I Servizi Terminal di Windows 2000
Un eccellente tool per la gestione remota dei server: il fiore all'occhiello del nuovissimo sistema operativo di casa Microsoft. Vediamo perché
Microsoft ha decisamente a cuore l'interesse della multiutenza. Lo si è visto già dal 1998, anno di rilascio della Windows NT 4.0 Terminal Server Edition: una scelta che si spiegava con la necessità di offrire un'estensione del sistema che fornisse il supporto per l'accesso multiuser. Ciò, prevalentemente in risposta a due necessità: da un lato, l'esigenza di ridurre il TCO (Total Cost of Ownership), e, dall'altro, l'esigenza di lanciare, attraverso l'emulazione terminale, applicazioni a 16 e 32 bit su diverse piattaforme operative dotate di hardware eterogenei . In realtà, in quel caso non si trattò proprio di rose e fiori, nel senso che chi si era deciso, tempo prima, a passare alla multiutenza montando Citrix WinFrame su NT 3.51, aveva riscontrato, nel passaggio a NT 4, una


Per installare i Servizi Terminal, basta agire da Installazione Applicazioni del Pannello di Controllo e selezionare il tab Installazione componenti di Windows

serie di inconvenienti nelle funzionalità multiuser, che funzionavano alla perfezione soltanto per ambienti Win32 e Windows CE-based. L'utilizzo di un tool aggiuntivo, che fosse, a seconda dei casi, Citrix MetaFrame o NCD ThinPATH Plus, riusciva comunque ad assicurare il supporto per i client non basati su motore Windows (e così Ms-Dos, Apple Macintosh, Unix). Queste le premesse, che hanno portato a ridefinire la logica di funzionamento dei Servizi Terminal, migliorando la flessibilità nella distribuzione delle applicazioni e nel controllo dei costi di gestione del desktop rispetto alla tradizionale architettura client-server a due o tre livelli.

Perché usare i Servizi Terminal
La tecnologia di funzionamento di Terminal Server è regolata da tre componenti fondamentali: il client, il server, e il protocollo di trasferimento dell'interfaccia utente, che consente di mantenere l'interrelazione tra i primi due. Tra i protocolli supportati, il Citrix ICA, già ricordato, che governa la gestione del supporto per piattaforme client ad architettura non Windows-based, e il Remote Desktop Protocol (RDP), basato sullo standard multichannel conferencing T-120 che costituisce il cuore di NetMeeting. Con Windows 2000 Server si aggiungono nuove funzionalità al nucleo classico dei Servizi Terminal. Nel passaggio da Windows NT a Windows 2000, Terminal Server cambia aspetto e diventa un altro componente del sistema operativo, Servizi Terminal, che è possibile lanciare come se si trattasse di una qualsiasi applicazione del sistema. Questo porta ad una gestione diversa e più immediata delle risorse del sistema, e viene incontro alle necessità vocazionali di Windows 2000, un ambiente operativo con un core importante racchiuso all'interno di una carrozzeria di massa. Il supporto dei servizi terminal alle attività proprie da svolgere all'interno di un sistema operativo come Windows 2000 trova quindi una serie di motivazioni dal significato importante. La prima, che salta subito in mente, è legata alle esigenze, tutt'altro che vincolanti, di tipo hardware per quanto riguarda il lato client. Questo equivale a quanto già anticipato in precedenza, ovvero al fatto che i servizi terminal permettono di eseguire Windows 2000 anche su macchine che montano sistemi obsoleti. Questa caratteristica deriva dal particolare modo di gestire le operazioni, che è proprio di un nuovo e originale rapporto tra client e server, e che definisce la reale "mission" dell'applicativo, ovvero quella di assicurare l'accesso remoto ad un server desktop attraverso un software "thin client", che si comporta da emulatore di terminale. In altre parole, grazie ai Servizi Terminal viene trasmessa al client soltanto l'interfaccia utente del programma: tutto il resto, compresa l'esecuzione delle applicazioni, rimane residente sul server. In tal modo, invece di installare un programma su ciascun computer desktop, l'amministratore deve installarlo soltanto sul server. Così, un applicativo che richiederebbe un uso massiccio di risorse sul client, viene lanciato direttamente dal server, e tramite questo è possibile renderlo disponibile sul lato client. Il client restituisce gli output, ottenuti tramite tastiera e mouse, al server, perché questo li gestisca. Ciascun utente accederà soltanto alla propria sessione individuale, che è gestita in modo trasparente dal sistema operativo del server ed è indipendente da qualsiasi altra sessione client eventualmente presente. Chiaramente, questo semplifica le cose dal punto di vista client, ma comporta la necessità di adottare tecniche di ottimizzazione avanzate. Ecco perché viene utilizzata la strada del caching, con l'obiettivo di minimizzare la capacità di banda occupata senza per questo ledere il contenuto informativo. In altre parole, si tenta di ridurre l'ammontare di grafica trasmesso dal server al client, privilegiando le informazioni.

Installazione dei Servizi Terminal
L'installazione del supporto per i servizi terminal sul server non richiede alcuna particolare


L'opzione Creatore Client di Servizi Terminal porta alla creazione di dischi di installazione per client Win16 e Win32 x86

procedura. Nel corso dell'installazione di Windows 2000, il sistema attende che l'utente selezioni i servizi aggiuntivi, tra cui Servizi Terminal e Licenze Servizi Terminal: è bene assicurarsi di aver selezionato tutti i servizi che si vogliono installare per aggiungere tutte le capacità multiutente. Il programma di installazione consente quindi di installare i servizi terminal come uno strumento di amministrazione (offrendo così all'utente due licenze di connessione per usi amministrativi) o come un application server. Per aggiungere il supporto ai servizi terminal in una fase successiva all'installazione di Win2K, basta portarsi in corrispondenza del Pannello di controllo e scegliere l'icona legata ad Installazione Applicazioni.

Nella finestra relativa, selezionare il tab Installazione componenti di Windows, cliccare sul pulsante Componenti ed attendere la visualizzazione della lista dei tool Windows da aggiungere o eliminare. Tra questi, selezionare Servizi Terminal e cliccare sul pulsante Avanti. Nella schermata risultante, si richiede di verificare se si vuole installare i servizi terminal in una delle due modalità previste: amministrazione remota o server applicazioni. Con la prima si consente ad un numero limitato di amministratori di gestire il server da postazioni remote, minimizzando in tal modo l'impatto sulle prestazioni del server. Con la modalità server applicazioni, invece, non ci sono limiti nel numero di applicazioni da postazioni remote che si possono eseguire: in tal modo si ottimizzano i tempi di risposta delle applicazioni. Inoltre, per installare i programmi da utilizzare in questa modalità, si usa l'icona Installazione applicazioni nel Pannello di Controllo.


All'interno della cartella Net sono ospitate le sottocartelle con i file di installazione per un tipo di client RDP: Win16, Win32 Alpha, o Win32 x86

Terminata l'installazione e riavviato il sistema, i tool terminal server compariranno nella sezione Strumenti di amministrazione della cartella Programmi. Tra essi, soffermiamoci ora su Creatore Client di Servizi Terminal: si tratta di un "thin client" che permette di trasferire le funzionalità di Windows 2000 a 32-bit ad una vasta area di dispositivi desktop (Windows-based, computer Intel e Alpha-based con Windows 95, 98, NT o 2000). Il client visualizza una finestra all'interno dell'ambiente desktop locale, provvista solo della minima quantità di software necessaria a stabilire una connessione al server e a visualizzare l'interfaccia utente. Tutte le altre funzioni del sistema operativo, comprese le applicazioni, vengono eseguite sul server. Scegliendo l'opzione Creatore Client di Servizi Terminal, si aprirà la box di dialogo Creazione Dischi di Installazione. I client Win16 necessitano di 4 floppy per memorizzare tutti i file di setup, mentre i client Win32 x86 hanno bisogno solo di due dischetti. Al di là del numero di floppy richiesto, occorre tornare indietro (back and forth) ed installare il supporto RDP lato-client. I client con connessioni di rete ai servizi Terminal di Windows NT (WTS) possono semplificare il processo di installazione RDP condividendo i contenuti della directory /%SYSTEMROOT%/SYSTEM32 /CLIENTS/TSCLIENT/NET. La cartella Net contiene tre cartelle, ciascuna delle quali ospita i file di installazione per un tipo di client RDP: Win16, Win32 Alpha, o Win32 x86. Per scegliere un supporto client RDP, basta aprire la cartella contenente i relativi file di setup e lanciare un piccolo programma di installazione, al termine del quale verrà installato il client desiderato, pronto per essere usato nel gruppo di programmi Client Servizi Terminal sul client Win32 anche subito (non occorre reboot). Nel caso in cui la versione RDP di WTS fosse già installata sul lato client, non occorrerà aggiornare il display per connettersi al terminal server Win2K: è consigliato però l'upgrade. Questo per beneficiare delle novità introdotte dal client Win2K. I servizi terminal di Windows 2000 fanno uso di RDP 5, mentre WTS utilizza RDP 4. Se è richiesta la funzionalità completa che i nuovi terminal services di Windows 2000 promettono, occorre aggiornare il protocollo lato-client a RDP 5.

Connessioni a go-go
Così come accadeva con il precedente Terminal Server, il nuovo gruppo di programmi Terminal Services Client include due strumenti che i client possono usare per connettersi al server terminal. Lo strumento Terminal Services Client, offre impostazioni di connessione di default a tutti i server terminal. Selezionare un server dalla lista dei server e scegliere la risoluzione video che si vuole utilizzare per la sessione client (oppure la risoluzione che il desktop del client sta utilizzando). Se il server desiderato non è presente nella lista, si può provare a digitare il suo indirizzo IP nella lista. A questo punto, cliccare su Connetti: a questo punto, il client dovrebbe trovare il server terminal selezionato, visualizzare una schermata di logon per gli utenti, che, inserendo i propri accrediti (username e password di dominio) potrebbero cominciare una sessione. Il Terminal Services Client è facile da usare, ma potrebbe essere necessario modificare le impostazioni di default. Per personalizzare i settaggi, attraverso il gruppo di programmi Terminal Services Client portarsi in corrispondenza del Client Connection Manager, e scegliere File/Nuova Connessione, che fa partire una procedura di connessione guidata. Al momento di creare un nuovo client, viene chiesto il nome del server ed il suo indirizzo IP (in alternativa è possibile identificare un server terminal), username e password di dominio, e le impostazioni di visualizzazione della sessione, come per esempio la risoluzione dello schermo. Viene inoltre richiesto di utilizzare il Client Connection Manager per lanciare un'applicazione in una sessione terminal, piuttosto che visualizzare l'intero desktop. L'informazione del client è facile da configurare, e il lancio del wizard di Client Connection Manager salva quell'informazione di sessione con un nome definito dall'utente, così che sia possibile utilizzarla nuovamente. Al termine dell'utilizzo del wizard, l'informazione del client è pronta da usare. E' possibile riutilizzare l'impostazione di connessione appena creata su un altro computer salvando la connessione in un file con estensione CNS (attraverso il comando Esporta). Il file occupa circa 1KB e può essere importato da un altro Client Connection Manager residente su un diverso PC.

Operare in ambienti diversi
Da quanto scritto finora, emergono alcune considerazioni che confermano la bontà dell'uso dei Servizi Terminal. Grazie a tale metodologia, la funzionalità tipica del PC viene trasferita ad utenti che operano in ambienti diversi (per esempio chi lavora su portatili): lanciando applicazioni da un


Una volta connessi ad un server terminal, è possibile iniziare una nuova sessione di lavoro

server terminal è infatti, possibile utilizzare terminali Windows-based (WBT) per eseguire applicazioni Win32. In tal modo, utilizzando diversi computer, magari perché si viaggia, se si lanciano applicazioni da un server terminal, si può avere accesso alla stessa suite di applicazioni dovunque ci si trovi. Un vantaggio, questo, condivisibile con la opportunità di semplificare il compito di supporto agli utenti client, garantendo assistenza immediata da parte dell'amministratore del sistema grazie alla semplicità con cui si amministra in modo remoto un server Windows 2000 senza dover per forza essere presenti alla console o caricare il software di controllo remoto. I Servizi Terminal non sono più un prodotto Microsoft di integrazione al sistema, ma fanno parte integrante del nucleo centrale di Windows 2000. Inoltre, il nuovo RDP supporta la comunicazione tra client e server, o tra client e client: cosa che non accadeva in precedenza. Questo significa che è possibile prendere il controllo di una sessione da un'altra: una caratteristica nota come shadowing in MetaFrame, che in Windows 2000 diventa remote control. Un utente ha quindi la possibilità di connettersi ad un'altra sessione utente, visualizzandola e controllarla. Le applicazioni locali e remote ora condividono una Clipboard: in tal modo, è possibile, per esempio, copiare del testo da Word, lanciando una sessione terminal, e incollarlo su una finestra Notepad sul PC locale. I client hanno finalmente la possibilità di utilizzare la redirezione automatica della stampante con Win2K, NT, o client Windows 9x per stampare sulla loro stampante COM o LPT connessa localmente da una sessione terminal, oppure possono redirigere manualmente la stampante per client WBT e Win16. Win2K migliora la caching bitmap, con il conseguente vantaggio di accelerare il redraw dello schermo sulla macchina client. RDP si esegue soltanto con TCP/IP e supporta solo client Win32, ma le nuove caratteristiche arricchiscono l'usabilità di RDP.

Gestire le Sessioni Terminal
Una volta configurato il client, potrebbe essere necessario proseguire configurando il lato server. Anzitutto, quale accesso al terminal server dovrebbero utilizzare gli utenti di dominio? Windows 2000 supporta impostazioni opzionali ma utili, che lasciano definire, tra gli altri aspetti, la durata di una sessione, se qualcuno può prendere il controllo remoto di una sessione terminal dell'utente (una capacità precedentemente disponibile solo con MetaFrame), come configurare il protocollo RDP, il percorso del client, e il profile information. E' possibile inoltre disabilitare in modo selettivo l'accesso client a dispositivi connessi localmente se non si vuole che la redirezione automatica della stampante lavori per alcuni utenti. Per spiegare come realizzare questi aspetti relativi al management delle sessioni terminal, occorre introdurre Microsoft Management Console (MMC), un utile strumento che ha lo scopo di creare e gestire raccolte di tool amministrativi, chiamate console. Per lanciare MMC basta digitare la stringa mmc all'interno del box Esegui dalla barra Start di avvio del sistema. Ciascuna console contiene una serie di voci, come gli snap-in, che hanno lo scopo di gestire i componenti hardware, software e di rete del sistema. E' possibile aggiungere nuove voci ad una console MMC esistente, oppure creare nuove console e configurarle in modo da amministrare uno specifico componente di sistema. Si possono configurare le proprietà dell'account di dominio del client aggiungendo nuovi snap-in (scegliendo l'opzione Aggiungi/rimuovi snap-in dal menu Console): in particolare, gli strumenti Utenti e Gruppi Locali per i server e Utenti e Computer Active Directory per i controller di dominio. Le impostazioni cercate sono sui tab Controllo Remoto, Sessioni, Ambiente, e Profilo Servizi Terminal della pagina di proprietà degli account utente. Purtroppo, Windows 2000 richiede di configurare gli account utente in modo individuale, piuttosto che in gruppi.

Configurazione dei servizi
Una connessione Servizi Terminal consente ai client di aprire una sessione di log on sul server. Una connessione TCP/IP viene configurata automaticamente quando i Servizi Terminal sono abilitati su


Attraverso il tool Terminal Services Client sono definite impostazioni di connessione di default a tutti i server terminal

Windows 2000 Server. Attraverso Configurazione Servizi Terminal, è possibile modificare le proprietà di default della connessione o aggiungerne di nuove. Aprendo Configurazione Servizi Terminal, è possibile notare che una connessione è già stata configurata. Si tratta della connessione RDP-TCP, ovvero l'unica connessione che deve essere configurata perché i client possano usare il server Terminal. Per configurare altre connessioni RDP, è necessario installare nuovi adattatori di rete. Con la Configurazione dei Servizi Terminal, è possibile riconfigurare le proprietà della connessione RDP-TCP: esse comprendono la limitazione del tempo in cui le sessioni client restano attive sul server, l'impostazione dei livelli di protezione per la crittografia, e la selezione dei permessi da assegnare a gruppi ed utenti. Alcune proprietà di connessione possono essere inoltre configurate rispetto agli utenti, per mezzo delle estensioni Terminal Services agli utenti locali e ai gruppi. Per esempio, è possibile impostare limiti di sessioni di tempo diverse a seconda dell'utente, o assegnare la stessa unità di tempo per le connessioni di ciascun utente. Oltre alle connessioni, è possibile configurare anche le impostazioni da applicare al server Terminal. Esse comprendono le impostazioni per le cartelle temporanee, quelle per le connessioni di sicurezza di default e quelle per l'abilitazione o la disabilitazione delle licenze Internet Connector.

Per default, un Servizio Terminal crea una cartella temporanea separata per ogni nuova sessione presente sul server, abilitando ciascun utente a memorizzare i propri file temporanei. Per procedere al recupero di spazio libero su disco, le cartelle temporanee vengono automaticamente cancellate non appena l'utente abbandona la sessione corrente. Volendo modificare le impostazioni di default per un Servizio Terminal, basterà utilizzare ancora Configurazione Servizi Terminal. In particolare, occorrerà scegliere nella colonna Struttura la voce Impostazioni del Server, e, in corrispondenza del pannello di destra, cliccare con il pulsante destro del mouse sulla voce Rimuovi cartelle temporanee alla chiusura del programma. Dal menu che si aprirà si dovrà scegliere Proprietà, quindi l'opzione Sì se si vuole che vengano automaticamente cancellate le cartelle temporanee quando un utente abbandona la sessione, oppure l'opzione No in caso contrario. Per utilizzare cartelle temporanee separate per ciascuna sessione, occorrerà invece scegliere la voce Utilizzare le cartelle temporanee per la sessione? e, anche qui, definire la scelta desiderata attraverso l'opzione Proprietà, ripetendo i passi specificati in precedenza.

Sulla strada del managing
Gli amministratori utilizzano Gestione Servizi Terminal per ottenere un quadro completo della situazione circa i server Terminal nei domini trust: vengono così monitorati utenti, sessioni e applicazioni su ciascun server Terminal.


Attraverso alcuni tab è possibile definire le impostazioni di gestione degli account utente

La finestra dell'applicativo ospita due aree informative, proprio come se si trattasse di un ambiente di navigazione tipo Esplora risorse. Sul lato sinistro, trovano posto i domini, i server terminal e le sessioni sulla rete. A destra, invece, sono presenti i tab Utenti, Sessioni e Processi, che riportano nel dettaglio le informazioni per le voci selezionate nella colonna di sinistra. Così, la lista Sessioni ospita le sessioni create dagli utenti connettendosi ad un server Terminal da un computer client, mentre nella lista Utenti sono raccolti i log on realizzati nella sessione corrente. La lista Processi ospita invece tutte le applicazioni lanciate nel corso della sessione utente corrente. La sessione Console mantiene invece traccia, sotto forma di processi e informazioni, delle operazioni realizzate dal computer su cui è installato un server Terminal. E' possibile effettuare il log on ad un server Terminal utilizzando la sessione console proprio come se si operasse su una sessione client. Gli strumenti di session-management consentono inoltre di visualizzare i processi che sono in corso in ciascuna sessione, inviare messaggi agli utenti, prendere controllo delle sessioni remote, e visualizzare informazione di sessione totali per tutti i server terminal in domini trust. Qualcosa c'è da dire anche sulle sessioni ascoltatore: si chiamano così perché ascoltano ed accettano nuove connessioni client RDP, creando nuove sessioni a richiesta del client. Avendo configurato più di una connessione in Configurazione Servizi Terminal, si potranno notare diverse sessioni ascoltatore.

Conclusioni
Facciamo un po' i cattivi. Con Windows 2000, Microsoft, non può certo pensare di aver esaurito i suoi argomenti sulla multiutenza. Basti pensare che i Servizi Terminal non supportano da soli tutti i client Windows: se avete sistemi Win32 non ci sono problemi, ma con client Windows 3x, DOS, UNIX (compreso Linux) o Macintosh occorre dotarsi di Citrix MetaFrame. Nel processo di upgrading di WTS ai servizi terminal in Windows 2000 è poi presente uno svantaggio di fondo. Il fatto è che Windows 2000 è molto più affamato di risorse (specie RAM) di quanto non lo fosse NT. Installando Windows 2000 su un computer su cui era caricato WTS, si può notare che le sessioni client rispondono molto più lentamente, anche con il caching migliorato in RDP 5. Inoltre, a causa della RAM in uso dal sistema, il supporto è garantito ad un ristretto numero di utenti. Pertanto, anche per venire incontro alle prestazioni di WTS, sarebbe consigliabile almeno aggiungere altra memoria RAM. Sebbene le richieste di sistema minime per Windows 2000 Server siano di 64 MB di RAM, Microsoft raccomanda almeno 128 MB di memoria, che diventano 512 MB utilizzando i server terminal.


Microsoft Management Console (MMC) è lo strumento adibito alla gestione delle console all'interno dei servizi terminal di Windows 2000

A questo punto la domanda sorge spontanea: ma allora conviene davvero utilizzare Terminal Services con Windows 2000 Server? La risposta è una sola, e per darla citeremo qualcuno di nostra conoscenza: "Assolutamente sì!". Al di là di ogni cosa, i Servizi Terminal rappresentano infatti, un eccellente tool per la gestione remota dei server, e come tale sono facili da usare e da configurare. Dal lato dei vantaggi, la clipboard condivisa propria di Windows 2000 è utile alla trasparenza di sessione. Gli utenti che hanno bisogno di aiuto accoglieranno volentieri l'abilità dell'amministratore nel controllare in modo remoto la sessione ed eventualmente correggere il problema o spiegare all'utente come fare per correggerlo da sé. In più, utilizzando una stampante connessa in locale senza dover condividere la stampante con la rete e connettersi ad essa da Windows NT Server 4.0, la sessione di server Terminal è a portata di mano. A causa della complessità dell'aggiornamento del nucleo del sistema operativo, non si consiglia però di fare l'aggiornamento a Windows 2000 solo per utilizzare i Servizi Terminal. In altre parole, non occorre scegliere Windows 2000 solo per i suoi Servizi Terminal. Ma se già si lavora con Windows 2000, non vediamo perché non dobbiate usare i Servizi terminal.