PDA

Показать полную графическую версию : Запуск GUI приложения при старте Windows 2003 без локального входа в систему


mvf
28-12-2007, 06:18
Собственно, сабж.

Уточню:
1) имеется сервер Win2003 R2
2) администрирование сервером происходит только удаленно
3) при перезагрузках и т.п. должны стартовать несколько GUI программ (которые изначально не умеют работать как службы), без локального входа на компьютер.
4) при удаленном входе на компьютер окна GUI программ должны быть видимы.
5) локальный автовход с какой-либо учетной записью не допустим.

Какая была изначально идея - в шедулер (на событие System Startup) вбить *.rdp профиль, так, чтобы сервер подключался сам к себе, создавая терминальную сессию, в которой запускались бы необходимые программы, и которая продолжала бы "висеть". Таким образом к ней можно было бы в дальнейшем подключиться и преспокойно видеть все GUI программы.

Однако по непонятным мне причинам виндовс не хочет сам к себе подключаться терминалом при старте системы. Хотя при запуске того же самого задания когда осуществлен локальный вход - все происходит "на ура". Точно так же задание нормально стартует (правда многократно) если запускать его при событии "When Idle". Хочется понять, что я делаю не так.

Вариант с превращением обычных программ в службы, конечно тоже допустим, но менее предпочтителен. Кстати, в этом случае - с какой из сессий будет взаимодействовать окно программы? Только с локальной? Или с удаленной тоже?

С интересом выслушаю все идеи, предложения и т.п.

Dimas_83
28-12-2007, 10:02
Хмм, если под удаленным подключением имеется ввиду терминальная сессия, то без прав для входящих "Разрешить локальный вход" работа не возможна (читайте мануал на майкрософте).

mvf
28-12-2007, 14:42
без прав для входящих "Разрешить локальный вход" работа не возможна »
Гм... Сначала думал об этом. Но версия не выдерживает критики:
при запуске того же самого задания когда осуществлен локальный вход - все происходит "на ура". Точно так же задание нормально стартует (правда многократно) если запускать его при событии "When Idle". »
Сейчас подумал что скорее всего это связано с тем, что событие System Startup в шедулере срабатывает ДО запуска службы терминалов... Поэтому запуск при событии "When Idle" работает нормально (т.к. запускается уже после запуска службы).

mvf
28-12-2007, 15:12
это связано с тем, что событие System Startup в шедулере срабатывает ДО запуска службы терминалов... Поэтому запуск при событии "When Idle" работает нормально (т.к. запускается уже после запуска службы). »
Н-да... Версия не подтвердилась. Запихал в стартап скрипты системы cmd файл такого содержания
net start RpcSs
net start TermService
mstsc c:\Default.rdp
В результате словил вот такое окно (см. приложение)... Короче уже не знаю в каком направлении копать.

HLT
29-12-2007, 08:54
локальный автовход с какой-либо учетной записью не допустим. »
А, может быть, все-таки сделать?
В автозагрузку запуск нужного софта и ярлык на блокировку консоли.

rundll32.exe user32.dll,LockWorkStation

mvf
29-12-2007, 14:42
В автозагрузку запуск нужного софта и ярлык на блокировку консоли. »
Скажем так, такой вариант - рассматриваю, но как запасной (если по-другому ничего хорошего не выйдет).

Admiral
14-01-2008, 04:54
mvf, в отделе по программированию идёт обсуждение буквально похожего вопросса, стоит взглянуть, может какие новые мысли появятся
Компьютерный форум OSzone.net » Компьютеры + Интернет » Программирование » Запуск процесса до авторизации пользователя (http://forum.oszone.net/thread-96959.html)




© OSzone.net 2001-2012