Назад | Перейти на главную страницу

Убедитесь, что приложение запускается как пользователь на сервере.

Мне нужно, чтобы приложение всегда работало на сервере, как и служба, но для некоторая причина Я не могу создать настоящую оконную службу. Я хотел бы, чтобы это приложение работало как пользователь с собственным рабочим столом (не в Session0). Я знаю, что это худшая практика, но у меня нет другого решения. Как лучше всего этого добиться?

Вот уродливый, резкий и грязный, небезопасный (и, вероятно, нецелесообразное) решение:

  • Настройте серверный компьютер с AutoAdminLogon как пользователь с возможностью интерактивного входа в систему. Назовем этого пользователя «user1».

  • Войдя в систему как этот пользователь, создайте файл .RDP для входа на серверный компьютер и сохраните учетные данные для учетной записи пользователя, в которой будет размещено приложение, которое вы хотите запустить в службах терминалов. Назовем этого пользователя «user2».

  • Сохраните файл .RDP в программной группе «user1» «Запуск».

  • Сохраните ярлык приложения, которое необходимо запустить, в группе программ «user2» «Автозагрузка».

  • Добавьте ярлык к программным группам "user1" и "user2" "Startup" для выполнения rundll32.exe user32.dll,LockWorkStation чтобы заблокировать рабочую станцию ​​сразу после входа в систему.

Когда сервер загружается, он входит в систему как «user1», запускает клиент служб терминалов с сохраненными учетными данными для «user2» и блокирует рабочую станцию. Клиент служб терминалов войдет в систему «user2», запустит приложение, которое вы собираетесь запускать в собственном сеансе, а затем заблокирует рабочую станцию.

От этого я чувствую себя грязным.