2013-02-21 2 views
0

Я могу запланировать запуск сценария .bat при запуске системы в Windows Server с использованием запланированных задач на панели управления и указать пользователя для выполнения этого действия от имени.Запустить скрипт .bat на сервере запуститься и сохранить консоль

Но когда этот скрипт запускается и запускает другие программы, все они невидимы для меня, даже когда я вхожу в систему. Я вижу их в диспетчере задач, и есть только один пользовательский сеанс.

Они спрашивают, есть ли способ сделать эти консоли и приложения видимыми, поэтому я могу увидеть процесс выполнения и остановить его, если потребуется?

+0

Вы можете запланировать задачу на taskmanager, например: http://serverfault.com/questions/85323/run-bat-file-at-startup –

ответ

1

Пока ваш пользователь обладает правами администратора, это довольно просто: Существует кнопка на левой нижней части экрана, где вы менеджер задач можно «показать процессы от всех пользователей»

Я делаю это каждый день .. .

Если вас интересует вывод stdout из каждой программы, вы должны передать его в текстовый файл/файл журнала.

для создания и записи нового использования логфайла:

program.exe > logfile.txt 

для добавления к существующему одного использованию:

program.exe >> logfile.txt 

Используйте лог ролик, как хвост (http://tailforwin32.sourceforge.net/) смотреть эти логах в то время как программы выполняются.

Кроме того, я не думаю, что можно получить выходные данные UI от другого пользователя на вашем экране без входа в систему как этот пользователь. Но если вы действительно вошли в один сеанс пользователя, я думаю, что программные интерфейсы должны появляться, когда скрипт выполняет программу.

+0

спасибо, Jürgen; на самом деле в приложении уже есть регистратор, здесь речь шла о предоставлении возможности видеть последние сообщения на экране; но мне кажется, что только приложения, выполненные внутри существующего сеанса проводника, могут выводиться на экран; если приложение запускается раньше (через запланированные задачи или используя autologon из sysinternals), это будет видимо только внутри проводника процессов или диспетчера задач, но не будет окон или значков в области уведомлений – sviklim

+0

mhm ... похоже, зависит от хронологического порядок постановки задачи и вход в систему. В другом приложении мы также запускаем пакетный скрипт каждый час, чтобы отправить некоторые данные из простой базы данных доступа.Когда я работаю над этим терминалом, это часто вызывает беспокойство, когда экран базы данных доступа появляется каждый час, и я вынужден переоценивать свою работу. Мы делаем это с помощью диспетчера задач. Поэтому я удивляюсь, что единственная проблема - запуск системы. Другая возможность - запустить его с помощью автозапуска Windows, которую вы можете настроить в разделе реестра HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run –

0

в конце вашей партии файл, который вы можете поместить

pause 

Это потребует ввода от пользователя, чтобы продолжить. Или, если хотите, вы можете сделать это между операторами.

Вы также можете сделать @echo и передать сообщения конечному пользователю.

1

В Планировщике заданий при выборе задачи, которую вы создали для запуска при запуске системы, на панели «Действия» справа есть действие «Конец» в меню «Выбранные элементы», которое вы можете использовать для остановки процесса (в качестве альтернативы чтобы убить его с помощью диспетчера задач). Как пояснил Юрген в своем ответе, похоже, нет никакого способа увидеть текущий выход процесса в окне консоли, как вы ожидали при запуске скрипта из Windows Explorer.