Итак, вот совок:
Некоторое время назад я написал крошечное приложение на C #, которое отображает имя хоста, IP-адрес, отображаемую дату, состояние оттепели (мы используем DeepFreeze), текущий домен и текущую дату / время, чтобы отображать их на экране приветствия нашей Windows. 7 лабораторных машин. Это должно было заменить наш предыдущий информационный блок, который был установлен статически при запуске и фактически вставил текст в фон, чем-то более динамичным и функциональным. Приложение использует таймер для обновления IP-адреса, состояния глубокой заморозки и часов каждую секунду и проверяет, вошел ли пользователь в систему, и убивает себя, когда обнаруживает такое состояние.
Если мы просто запустим его с помощью нашего сценария запуска (установленного с помощью групповой политики), он останется открытым сценарием, и машина никогда не перейдет к приглашению входа в систему. Если мы используем что-то вроде команд start или cmd, чтобы запустить его в отдельной оболочке / процессе, он запускается до завершения сценария запуска, и в этот момент Windows, похоже, очищает все дочерние процессы сценария. В настоящее время мы можем обойти это, используя psexec -s -d -i -x
, чтобы запустить его, что позволяет ему сохраняться после завершения сценария запуска, но может быть невероятно медленным, добавляя к времени запуска от 5 секунд до минуты.
Мы экспериментировали с использованием другого приложения C # для запуска процесса через класс Process, с использованием вызовов WMI (Win32_Process и Win32_ProcessStartup) с различными флагами запуска и т. Д., Но все заканчиваются одинаковым результатом завершения скрипта и информации блокировать процесс убить. Я пытался переписать приложение как сервис, но сервисы никогда не предназначались для взаимодействия с рабочим столом, не говоря уже об окне входа в систему, и заставить работать вещи в правильном контексте никогда не удавалось.
Итак, на вопрос: есть ли у кого-нибудь хороший способ сделать это? Запустить задачу, чтобы она не зависела от сценария запуска, и запустить ее в верхней части экрана приветствия?