DCOM palvelu
DCOM-toiminto
Terminal Server 4.0:n DCOM-toiminto on osa tavallisia Windows NT Server 4.0:n DCOM-ominaisuuksia. Tämän perusteella jotkin sovellukset, jotka on kirjoitettu normaalissa Windows NT Server 4.0 -ympäristössä, eivät välttämättä toimi oikein päätepalvelimessa. Tämän artikkelin tarkoitus on, millaista toimintaa tapahtuu, jos sovellukset käyttävät DCOM-toimintoja.
Seuraavia DCOM-ominaisuuksia voidaan täysin tukea päätepalvelimessa:
asiakas
asiakkaan käyttäytyminen (toimii päätepalvelimen minkä tahansa käyttäjänä ja DCOM:n kautta Muiden koneiden kutsumisprosessi ei muutu.
Jos ei ole suoraa tai epäsuoraa COM-aktivointiprosessia (COGETCLASSOBJECT, COCREATEINSTANCEEX, etäpuhelusta aloitusprosessi jne.), palvelimen käyttäytyminen ei muutu. Jos esimerkiksi liitännän osoitin päätepalvelimen COM-objektiin säädetään ja välitetään asiakaskoodille toisella koneella, palvelinpuolen toiminta ei liity aktivointiprosessiin. Tämän toiminnan esiintyminen johtuu yleensä lähtöparametreista, joita kutsutaan DCOM-menetelmäksi, mutta voi olla muitakin tapoja. Tällöin päätepalvelimen (nykyisen DCOM-palvelimen) takaisinsoitto suoritetaan normaalisti (mukaan lukien tavanomaiset suojausrajoitukset). Esimerkki epäsuorasta aktivoinnista on ratkaista päätepalvelinkoneeseen ja aiheuttaa tiedostotunnisteiden sitominen, jotka yrittävät toimia suoraan koneessa.
DCOM-aktivointitila ja päätepalvelin
Kun ajetaan etäasiakkaana, päätepalvelinjärjestelmä rajoittaa tuetussa DCOM-aktivointi-/prosessin aloitustilassa. Jokaiselle ClassID:lle tai APPID:lle Windows NT:n DCOM tukee yleensä neljää aktivointi-/käynnistystilaa.
toimii aktivointiosapuolena (oletus): Päätepalvelimessa asiakasistunto käynnistää paikallisen prosessin.
Suorita määritettynä / nimettynä käyttäjänä: Päätepalvelimessa paikallisen prosessin käynnistää aina istunto 0 (konsoli).
toimii Win32- ja Windows NT -palveluina: Päätepalvelimessa palvelun käynnistää istunto 0 (konsoli).
toimii interaktiivisena käyttäjänä: ei voi käyttää päätepalvelimessa.
Päätepalvelimessa vain tilaa 1 ("aktivointiosapuolena") tuetaan täysin. Mallit 2 ja 3 ("Määritettynä / nimettynä käyttäjänä" ja "Suorita Win32- ja Windows NT -palveluna") Päätepalvelinjärjestelmässä on erilaisia toimintoja, joten Microsoftia ei suositella tai tueta. Neljäs tila ("Vuorovaikutteisen käyttäjän ajaessa"), sitä ei voi ajaa ollenkaan päätepalvelimella.
DCOM- ja Windows 2000 -päätepalvelut
Microsoftin tavoitteena on varmistaa, että yllä olevat ongelmat voidaan ratkaista Windows 2000:ssa. Seuraavassa on lyhyt kuvaus aktivointitilasta ja sen toimintamekanismista Microsoft Windows® 2000 Terminal Services -käyttöjärjestelmässä:
toimii aktivointiosapuolena:
Paikallinen aktivointi
palvelin Aktivoitu samassa istunnossa, johon aktivointipuoli kuuluu. Tämä käyttäytyminen on täsmälleen sama riippumatta siitä, onko päätepalvelu käytössä.
Etäaktivointi:
Ottaa käyttöön aktivointisäännöt, kun päätepalvelua ei ole otettu käyttöön. Prosessi alkaa kuitenkin istunnon ID 0 ikkunaasemasta sen sijaan, että se käynnistyisi käyttäjää vastaavasta istunnosta. Tällä suojataan etäpuheluiden aktivointikäyttäytymistä. Tämän toiminnan syyn havainnollistamiseksi oletetaan, että aktivointiprosessi aktivoituu käyttäjää vastaavan käyttäjän istunnossa Windows 2000 Serverissä (Enabled Terminal Services). Jos käyttäjä kirjautuu ulos, kaikki ikkuna-asemat ja niiden prosessit tapetaan. Jos käyttäjä on kirjautunut sisään useista asiakkaista palvelimelta, päätetään poistua asiakkaasta, jolloin käyttäjän muiden istuntojen asiakasprosessi ei näe heidän aktivointiprosessiaan. Siksi muut istunnot epäonnistuvat. Tästä syystä kaikki prosessit alkavat istunnon 0 ikkunaasemassa. Koska istuntoa 0 ei koskaan poisteta, etäaktivointiprosessi jatkaa toimintaansa.
Nimeävänä / määritettynä käyttäjänä suorita:
Sovellus määritetään, kun määritetty käyttäjä suorittaa sovelluksen rekisterissä. Paikallinen ja etäaktivointi on sama.
Kun päätepalvelu on käytössä, prosessi alkaa istunnon 0 uudessa ikkuna-asemassa. Jos palvelinta käyttää useita käyttäjiä, seuraavilla pyynnöillä on sama luokkaobjekti. Soittajan SID tai LUID ei vaikuta. Siinä tapauksessa, että yksi käyttäjä käyttää palvelinta, uudet aktivointipyynnöt saavat aina uuden ikkuna-aseman. Vaikka sama käyttäjä kirjautuisi sisään interaktiiviselle työpöydälle, aktivointiprosessi ei jaa välitysasemaa.
Suorita Win32- ja Windows NT -palveluna:
Sovellus on määritetty palvelua ajettavaksi prosessiksi AppID-joukon kautta.
Päätepalvelun käyttöönoton jälkeen palvelu on edelleen maailmanlaajuinen, eikä se ala tietyssä istunnossa. Palvelukokoonpanosta riippuen ne joko käynnistetään istunnon 0 palvelutyöpöydältä ja alkavat istunnon 0 vuorovaikutustyöpöydältä.
Interaktiivisena käyttäjänä:
sovellus on määritetty toimimaan vuorovaikutteisen käyttäjän suojatussa ympäristössä.
Kuten aiemmin mainittiin, Windows NT Server 4.0, Terminal Server Edition ei tue tällaisten palvelimien etäaktivointia, mikä tukee vain istuntojen paikallista aktivointia. On kaksi tapaa aloittaa prosessi interaktiivisena käyttäjänä tilassa, jossa päätepalvelu on käytössä, on tutkimuksessa. Tapa aktivoida prosessi toisessa istunnossa kuin nykyisessä istunnossa on käyttää istunnon "lippua". Toinen mahdollinen tapa on aloittaa prosessi käyttämällä kalibroinnin suojattuja tunnistetietoja. Windows 2000 tarjoaa tarkempia tietoja