У нас есть приложение, которое выполняет некоторые журналы и отчеты, и оно должно постоянно работать, чтобы функционировать (очевидно, разработчики не слышали о службах Windows). Обычно мы просто оставляем их запущенными в отключенном сеансе удаленного рабочего стола, чтобы мы могли удаленно подключаться для проверки статистики, отчетов и т. Д. Это работает достаточно хорошо.
Однако при перезагрузке сервера эти приложения не запускаются автоматически. Это может быть проблемой, поскольку регистрируемые данные носят временный характер и поступают с другого сервера. Есть ли способ, чтобы этот сервер журналов автоматически входил в отключенный сеанс RDP при запуске? Раньше я выполнял автоматический вход в консоль, но никогда не использовал RDP. Если есть возможность, то я могу просто поставить нужные программы в Автозагрузку.
Отредактировано для добавления:
Одна из различных оболочек преобразования приложения в службу может работать, но мы специально хотим, чтобы интерфейс оставался доступным всякий раз, когда кто-то подключается для работы с программой. Просто он также должен оставаться открытым, даже когда его никто активно не использует, и когда сервер перезагружается, например, для применения обновлений ОС, программа не перезапускается автоматически.
Google для чего-то вроде «запускать программу как службу Windows 2008», и вы найдете ряд программ, которые будут запускать исполняемый файл как службу. Это может быть неуклюже, и вам придется протестировать его, чтобы увидеть, совместимо ли оно с вашим приложением, поскольку ваша программа была разработана для такой работы. Неизвестно, как он отреагирует на отсутствие консоли для отображения ... но если он будет работать как служба, это, вероятно, лучше, чем оставить запущенный сеанс RDP.
На самом деле вы пытаетесь сломать что-то, чтобы оно соответствовало функции, для которой оно не предназначалось; Windows не предназначалась для запуска сеансов RDP только для запуска определенного приложения при запуске сеанса, и, насколько мне известно, нет способа заставить его это сделать.
Другой альтернативой было бы запуск программы мониторинга в другой системе, которая могла бы «пинговать» сервер на наличие определенной службы, или запускать пакетный файл / файл сценария во время загрузки, который отправлял бы предупреждение о перезапуске сервера, чтобы кто-то может войти в систему и запустить сеанс RDP. Если у вас есть службы системного мониторинга, которые могут определять время безотказной работы или существование определенного процесса на сервере, это может быть вашим лучшим обходным решением.
Вы можете попробовать создать автоматическую задачу с помощью планировщика заданий. На вкладке «Триггер» вы можете выбрать «При запуске». Кроме того, на вкладке «Общие» вы можете выбрать, от имени какого пользователя будет запускаться процесс. Еще одна вещь, которую вы можете попробовать, - это вкладка «Настройки», у вас есть возможность перезапустить задачу, если она не удалась.
Один из элементов нашей телефонной системы имеет очень похожую проблему.
Предполагая, что 2008 год похож на 2003 год. Вы можете выполнить автоматический вход в консоль для запуска приложений и удаленного подключения к существующему сеансу через RDP после его запуска. Не идеально, но функционально.
Решение @Bart - действительно лучший путь, если вы можете его реализовать. У проблемы с телефонной системой, о которой я упоминал, были некоторые странные проблемы с перехватом графического интерфейса, которые мешали этому в моем случае.
Я бы попробовал FireDaemon! http://www.firedaemon.com/
Мы делаем это на клиентском сервере под управлением Win 2008r2, и у нас нет проблем. Он виртуализирован, поэтому добраться до консоли довольно просто. Приложение должно работать в интерактивном режиме и вообще не работает как служба ... во-первых, оно не отвечает на обычные инструкции по выключению Windows и блокирует выключение системы, пока вы не вмешаетесь вручную.
У MS есть инструмент autologon.exe, доступный на сайте www.sysinternals.com.
Работает нормально. После автолога у вас будет обычная запись в папке автозагрузки.
Я должен согласиться с приведенным выше комментарием, что это не лучшая идея, но когда вы сталкиваетесь с приложением, которое должно быть открыто для работы, у вас нет большой альтернативы. Лучшее, что вы можете сделать, это пожаловаться на это разработчикам.
Взгляните на Autologon от Sysinternals: http://technet.microsoft.com/en-us/sysinternals/bb963905