Monitoraggio delle connessioni di sessione e disconnessioni

Per un'applicazione di servizio, ad esempio un'applicazione server di canale virtuale, per monitorare le connessioni di sessione e le disconnessioni, è necessario registrarla con Servizi Desktop remoto. Per registrare l'applicazione con Servizi Desktop remoto, archiviare il nome dell'applicazione server del canale virtuale nel Registro di sistema aggiungendo una sottochiave nel percorso seguente:

HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Controllo\TerminalServer\Addins

La sottochiave può avere qualsiasi nome. Deve avere un valore REG_SZ, Name, che contiene il nome simbolico dell'applicazione.

Name = AddinName

La lunghezza massima della sottochiave e del valore di Name è di 99 caratteri.

La sottochiave deve avere anche un valore REG_DWORD che indica il tipo di applicazione server.

Type = AddinType

AddinType deve essere il valore seguente.

Valore Significato
3 Applicazione in modalità utente, spazio sessione.

 

La registrazione dell'applicazione di servizio ha effetto solo nelle sessioni create dopo l'esecuzione della registrazione.

Per ogni applicazione di servizio registrata, Servizi Desktop remoto segnalerà un set di oggetti evento quando un client si connette o si disconnette dalla sessione. Ogni plug-in del canale virtuale deve registrarsi e creare gli eventi di notifica chiamando CreateEvent. I nomi di questi oggetti evento rispettano il formato seguente.

AddinName-Reconnect

AddinName-Disconnect

AddinName è la stringa specificata nel valore Name della sottochiave del Registro di sistema in cui è registrata l'applicazione server. La creazione di questi eventi in una sessione ne determina la creazione in una speciale directory eventi per sessione. La directory eventi garantisce una maggiore sicurezza impedendo alle applicazioni in altre sessioni di modificare lo stato di questi eventi.

Per controllare se nel server vengono ricevuti eventi RECONNECT e DISCONNECT, è possibile inserire il flag RemoteControlPersistent nel Registro di sistema sotto la chiave seguente:

HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Controllo\TerminalServer\Addins\addinname

Il flag abilita o disabilita la segnalazione degli eventi RECONNECT e DISCONNECT all'avvio o all'arresto di una sessione client. La sintassi del valore REG_DWORD è la seguente.

RemoteControlPersistent = flag

Il valore del flag può essere uno o zero. Zero è il valore predefinito. Se impostato su uno, l'applicazione di servizio non riceverà una notifica se la sessione client viene avviata o arrestata. Se impostato su zero, viene segnalato un evento RECONNECT all'avvio della sessione client e viene segnalato un evento DISCONNECT quando la sessione client viene arrestata.

Il formato del nome dell'oggetto evento precedente è ancora supportato in Windows Server 2008 per la compatibilità con le versioni precedenti. È consigliabile usare il formato più recente di Windows Server 2008 perché è più sicuro.

Il formato dell'evento precedente è il seguente.

Global\AddinName-SessionId-Reconnect
 
Global\AddinName-SessionId-Disconnect

AddinName è la stringa specificata nel valore Name della sottochiave del Registro di sistema in cui è registrata l'applicazione server. SessionId è l'identificatore di sessione di una sessione client.