Я хотел бы запустить программу в фоновом режиме, если пользователь Active Directory из определенной группы входит в систему. Эта программа не должна прерываться самим пользователем.
Я попытался создать задачу, которая отлично работает, за исключением того, что мне не удалось сделать ее неразрывной, например обычный пользователь может выйти из задачи.
Жду вашей помощи!
Существует три основных подхода к проблеме запрета пользователю завершать программу. У всех есть недостатки и ХОРОШЕГО решения вашей проблемы нет.
По сути, если у пользователя есть права администратора на машине, они воля иметь возможность завершить процесс (хотя они могут не знать как)
Подход 1: Создайте любую программу, которую вы запускаете как службу, и отметьте ее как неудержимую. (недостатки: если вы используете Windows Vista и выше, он будет заблокирован в сеансе 0 и не сможет взаимодействовать с рабочим столом пользователя, однако вы все равно можете получать уведомления о входе в систему и выходе из системы и реагировать соответствующим образом.)
Подход 2: Создать вспомогательное приложение, которое также запускает и перезапускает исходное приложение при завершении. Бонусные баллы, если вы создаете приложение для перезапуска вспомогательного приложения, если оно закрыто. (недостатков слишком много, чтобы перечислить, на данном этапе вы идете по пути вредоносного ПО.)
Подход 3: Создать вторичную службу, которая отслеживает запрос на завершение процесса и отменяет его. Я не собираюсь больше объяснять, как это сделать, поскольку на ум приходит слово руткит. Антивирусные компании хорошо используют этот прием для защиты своих продуктов.