Servizio DCOM
Funzione DCOM
La funzione DCOM in Terminal Server 4.0 è un sottoinsieme delle normali funzionalità DCOM di Windows NT Server 4.0. In base a ciò, alcune applicazioni scritte nel normale ambiente Windows NT Server 4.0 potrebbero non funzionare correttamente sul server terminal. Lo scopo di questo articolo è quale tipo di comportamento si verificherà se le applicazioni che utilizzano le funzioni DCOM.
Le seguenti funzionalità DCOM possono essere completamente supportate sul server terminal:
cliente
comportamento del cliente (in esecuzione come qualsiasi utente del server terminal e tramite DCOM Il processo di chiamata di altre macchine non viene modificato.
Se non è presente alcun processo di attivazione COM diretto o indiretto (COGETCLASSOBJECT, COCREATEINSTANCEEX, il processo di avvio da chiamata remota, ecc.), il comportamento del server non viene modificato. Ad esempio, se il puntatore dell'interfaccia all'oggetto COM sul server terminal viene regolato e passato al codice clientee su un'altra macchina, il comportamento lato server non coinvolge il processo di attivazione. L'occorrenza di questo comportamento è in genere i parametri di output chiamati come metodo DCOM, ma potrebbero esserci altri modi. In tal caso, la richiamata del server terminal (ora il server DCOM) verrà eseguita come di consueto (comprese le normali restrizioni di sicurezza). Un esempio di attivazione indiretta consiste nel risolversi nella macchina del server terminal e causare un'associazione di tag di file che tentano di agire direttamente sulla macchina.
Modalità di attivazione DCOM e Terminal Server
Quando viene eseguito come clientee remoto, il sistema del server terminal limiterà l'attivazione DCOM supportata / la modalità di avvio del processo. Per ogni dato ClassID o APPID, il DCOM di Windows NT di solito supporta quattro modalità di attivazione/avvio.
funge da parte di attivazione (impostazione predefinita): nel Terminal Server, il processo locale viene avviato dalla sessione del clientee.
Esegui come utente specificato/denominato: nel server terminal, il processo locale viene sempre avviato dalla sessione 0 (console).
viene eseguito come servizi Win32 e Windows NT: Nel server terminal, il servizio viene avviato dalla sessione 0 (console).
viene eseguito come utente interattivo: non può essere utilizzato nel terminal server.
Per il terminal server, è completamente supportata solo la modalità 1 ("attivata come parte di attivazione"). Pattern 2 e 3 ("Esecuzione come utente specificato/denominato" e "Esegui come servizio Win32 e Windows NT") Sul sistema terminal server sono in esecuzione comportamenti diversi, pertanto Microsoft non è consigliata o supportata. La quarta modalità ("Come un utente interattivo esegue"), non può essere eseguita affatto sul server terminal.
DCOM e Servizi terminal di Windows 2000
L'obiettivo di Microsoft è garantire che i problemi di cui sopra possano essere risolti in Windows 2000. Di seguito è riportata una breve descrizione della modalità di attivazione e del relativo meccanismo di funzionamento per Microsoft Windows® 2000 Terminal Services:
funge da parte di attivazione:
Attivazione locale
server Attivato nella stessa sessione a cui appartiene il lato di attivazione. Questo comportamento è esattamente lo stesso indipendentemente dal fatto che il servizio terminal sia abilitato.
Attivazione remota:
Abilita le regole di attivazione dopo che il servizio terminale non è abilitato. Tuttavia, il processo verrà avviato nella stazione finestra dell'ID di sessione 0 anziché in una sessione corrispondente all'utente. Questo per proteggere il comportamento di attivazione delle chiamate remote. Per illustrare il motivo di questo comportamento si presuppone che il processo di attivazione sia attivato dalla sessione dell'utente corrispondente all'utente su Windows 2000 Server (Servizi Terminal abilitati). Se l'utente si disconnette, tutte le postazioni finestra ei relativi processi vengono interrotti. Se l'utente ha effettuato l'accesso da più clientei dal server, si decide di uscire da un cliente e il processo del clientee di altre sessioni dell'utente non sarà in grado di vedere il proprio processo di attivazione. Pertanto, le altre sessioni avranno esito negativo. In base a questo motivo, tutti i processi verranno avviati nella postazione finestra della sessione 0. Poiché la sessione 0 non verrà mai eliminata, il processo di attivazione remota continuerà a funzionare.
Come esecuzione di un nome / utente specificato:
L'applicazione è configurata mentre l'utente specificato esegue l'appid nel registro. L'attivazione locale e remota è la stessa.
Quando il servizio terminal è abilitato, il processo verrà avviato in una nuova stazione finestra della sessione 0. Nel caso di più utenti che utilizzano il server, le richieste successive avranno lo stesso oggetto di classe. Il SID o il LUID del chiamante non ha alcun effetto. Nel caso in cui un singolo utente utilizzi il server, le nuove richieste di attivazione ottengono sempre una nuova postazione finestra. Anche se lo stesso utente accede al desktop interattivo, il processo di attivazione non condividerà la postazione interposer.
Esegui come servizio Win32 e Windows NT:
L'applicazione è configurata come processo in esecuzione del servizio tramite il set di AppID.
Dopo che il servizio terminal è stato abilitato, il servizio è ancora globale e non si avvia in una particolare sessione. A seconda della configurazione del servizio, vengono avviati sul desktop di servizio della sessione 0 e sul desktop di interazione della sessione 0.
Come utente interattivo:
l'applicazione è configurata per essere eseguita in un ambiente protetto di un utente interattivo.
Come accennato in precedenza, Windows NT Server 4.0, Terminal Server Edition non supporta l'attivazione remota di tali server, che supporta solo l'attivazione locale delle sessioni alle sessioni. Esistono due modi per avviare il processo poiché l'utente interattivo in uno stato in cui il servizio terminale è abilitato è nello studio. Un modo per attivare il processo in un'altra sessione diversa dalla sessione corrente consiste nell'utilizzare un "flag" di sessione. Un altro modo possibile è avviare il processo utilizzando le credenziali di sicurezza della calibrazione. Windows 2000 fornirà informazioni più dettagliate