Ошибка при использовании удаленного рабочего стола

<< Click to Display Table of Contents >>

Navigation:  Сетевые проекты > Интернет-клиент MasterSCADA > Известные проблемы >

Ошибка при использовании удаленного рабочего стола

Проблема:

При использовании ОС Windows Server 2008 или старше, при подключении  посредством Remote Desktop Protocol (RDP),  в интернет клиенте всё отображается корректно, при закрытии сессии (выхода с сервера), в браузере, при открытии страницы интернет клиента возникают ошибки (содержание может быть разным,  но скорей всего будет ошибка 8000401a).

Причина:

Проблема связана с используемыми технологиями COM/DCOM. Приложение MasterSCADA работает как COM сервер, IIS приложение "Интернет клиент" обращается по COM интерфейсам к текущему запущенному приложению MasterSCADA. При настройке приложения MasterSCADA в утилите "Службы компонентов" (dcomcnfg) на закладке "Удостоверение" можно выбрать один из вариантов запуска, каждый из которых имеет свои недостатки:

1. "Текущий пользователь" - интернет клиент обращается к той копии скады, которая запущена интерактивным пользователем.

2. "Указанный пользователь" - интернет клиент запускает скаду с правами заданного пользователя, но при этом данная скада не имеет собственного интерфейса (он не отображается ни на какой рабочий стол).

 

Рассмотрим далее различие в поведение режима "Текущий пользователь" в разных операционных системах-

1. Windows Server 2003 - сессия интерактивного пользователя - это всегда консольная сессия с номером 0. Для подключения к ней через Remote Desktop можно использовать ключ /console. Даже после отключения Remote Desktop интернет клиент продолжает взаимодействовать с запущенной скадой.

2. Windows Server 2008 и старше - отдельной выделенной консольной сессии нет. При заходе с консоли создается сессия с номером, отличным от нуля (равноправная с сессиями Remote Desktop).

Сессия интерактивного пользователя - это одна из активных сессий. Если нет активных сессий, тогда обращение к приложению MasterSCADA через COM интерфейс дает ошибку 8000401a ("Процесс сервера не может быть запущен, т.к. указана неправильная идентификация. Проверьте правильность указания имени пользователя и пароля.").

 

Возможные решения:

1. Использовать программу, которая имитирует консольный вход, например RAdmin. В этом случае при отключении сессии RAdmin консольная сессия на сервере будет оставаться активной.