Služba DCOM

Služba DCOM

Funkce DCOM

Funkce DCOM v terminálovém serveru 4.0 je podmnožinou běžných funkcí DCOM systému Windows NT Server 4.0. Na základě toho některé aplikace napsané v normálním prostředí Windows NT Server 4.0 nemusí na terminálovém serveru správně fungovat. Účelem tohoto článku je, jaký druh chování nastane, pokud aplikace používají funkce DCOM.

Na terminálovém serveru mohou být plně podporovány následující funkce DCOM:

klienta

chování klienta (spuštění jako kterýkoli uživatel terminálového serveru a prostřednictvím DCOM Proces volání ostatních strojů se nezmění.

Pokud neexistuje žádný přímý nebo nepřímý proces aktivace COM (COGETCLASSOBJECT, COCREATEINSTANCEEX, proces spouštění ze vzdáleného volání atd.), chování serveru se nezmění. Pokud je například ukazatel rozhraní na objekt COM na terminálovém serveru upraven a předán zákaznickému kódu na jiném počítači, chování na straně serveru nezahrnuje proces aktivace. Výskyt tohoto chování je obvykle výstupní parametry nazývané jako metoda DCOM, ale mohou existovat i jiné způsoby. V takovém případě bude zpětné volání terminálového serveru (nyní DCOM serveru) provedeno jako obvykle (včetně obvyklých bezpečnostních omezení). Příkladem nepřímé aktivace je přeložit na stroj terminálového serveru a způsobit vazbu značek souborů, které se pokoušejí působit přímo na stroj.

Režim aktivace DCOM a terminálový server

Když běží jako vzdálený zákazník, systém terminálového serveru omezí podporovaný režim aktivace DCOM / spuštění procesu. Pro jakékoli dané ClassID nebo APPID DCOM systému Windows NT obvykle podporuje čtyři režimy aktivace/spuštění.

funguje jako aktivační strana (výchozí): Na terminálovém serveru je místní proces spuštěn relací zákazníka.

Spustit jako zadaný/pojmenovaný uživatel: Na terminálovém serveru je lokální proces vždy spuštěn relací 0 (konzole).

běží jako služby Win32 a Windows NT: Na terminálovém serveru je služba spouštěna relací 0 (konzole).

Služba DCOM

běží jako interaktivní uživatel: nelze použít na terminálovém serveru.

U terminálového serveru je plně podporován pouze režim 1 („aktivovaný jako aktivační strana“). Vzory 2 a 3 ("Jako zadaný / pojmenovaný uživatel spustit" a "Spustit jako služba Win32 a Windows NT") V systému terminálového serveru se používají různá chování, takže společnost Microsoft není doporučena ani podporována. Čtvrtý režim ("Jak běží interaktivní uživatel") jej nelze na terminálovém serveru spustit vůbec.

DCOM a Windows 2000 Terminal Services

Cílem společnosti Microsoft je zajistit, aby výše uvedené problémy bylo možné vyřešit v systému Windows 2000. Následuje stručný popis aktivačního režimu a jeho pracovního mechanismu pro Terminálové služby systému Microsoft Windows® 2000:

působí jako aktivační strana:

Místní aktivace

server Aktivovaný ve stejné relaci, ke které patří aktivační strana. Toto chování je naprosto stejné bez ohledu na to, zda je povolena terminálová služba.

Vzdálená aktivace:

Povolí pravidla aktivace poté, co není povolena terminálová služba. Proces se však spustí ve stanici okna s ID relace 0 namísto spuštění v relaci odpovídající uživateli. To má chránit aktivační chování vzdálených hovorů. Pro ilustraci důvodu tohoto chování se předpokládá, že aktivační proces je aktivován relací uživatele odpovídající uživateli na Windows 2000 Server (Enabled Terminal Services). Pokud se uživatel odhlásí, všechny stanice okna a jejich procesy budou zabity. Pokud je uživatel přihlášen z více zákazníků ze serveru, je rozhodnuto opustit klienta a zákaznický proces ostatních relací uživatele nebude moci vidět jejich aktivační proces. Ostatní relace proto selžou. Na základě tohoto důvodu budou všechny procesy spuštěny ve stanici okna relace 0. Protože relace 0 nebude nikdy odstraněna, proces vzdálené aktivace bude nadále fungovat.

Jako pojmenování / určený uživatel spusťte:

Aplikace je nakonfigurována tak, jak zadaný uživatel spouští aplikaci appid v registru. Místní a vzdálená aktivace je stejná.

Když je povolena terminálová služba, proces se spustí v nové okenní stanici relace 0. V případě, že server používá více uživatelů, budou mít následující požadavky stejný objekt třídy. SID nebo LUID volajícího nemá žádný vliv. V případě, že server používá jeden uživatel, nové požadavky na aktivaci vždy získají novou okenní stanici. I když se stejný uživatel přihlásí k interaktivní ploše, proces aktivace nebude sdílet interposerovou stanici.

Spustit jako službu Win32 a Windows NT:

Aplikace je nakonfigurována jako proces běžící služby prostřednictvím sady AppID.

Po povolení terminálové služby je služba stále globální a nespouští se v konkrétní relaci. V závislosti na konfiguraci služby se spouštějí buď na ploše služby relace 0, a spouštějí se na ploše interakce relace 0.

Jako interaktivní uživatel:

aplikace je nakonfigurována tak, aby běžela v zabezpečeném prostředí interaktivního uživatele.

Jak bylo uvedeno dříve, Windows NT Server 4.0, Terminal Server Edition nepodporuje vzdálenou aktivaci takových serverů, která podporuje pouze místní aktivaci relací k relacím. Existují dva způsoby, jak spustit proces jako interaktivní uživatel ve stavu, kdy je ve studii povolena terminálová služba. Způsob, jak aktivovat proces v jiné relaci, než je aktuální relace, je použít „příznak relace“. Dalším možným způsobem je spustit proces pomocí bezpečnostních pověření kalibrace. Windows 2000 poskytne podrobnější informace

Související články
HORNÍ