<< 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 консольная сессия на сервере будет оставаться активной.