Это сложно, так как вы не хотите раскрывать пароль администратора. Я видел предложения по использованию runas /user:admin /savecred
, но как только это будет сделано, пользователь сможет запустить что-нибудь с runas
под учетными данными администратора (если они знают, как).
Лучшее решение описано здесь: http://willmtz.blogspot.com/2011/10/how-to-force-application-to-open-in.html
Короче говоря, создайте запланированное задание, которое запускает программу с определенными учетными данными, но без расписания. Затем вы создаете ярлык для пользователя, который запускает запланированное задание.
Таким образом, пользователь не может использовать учетные данные для выполнения чего-либо, кроме запуска этой одной программы. В зависимости от того, что вы используете, вы можете даже указать, чтобы он работал под учетной записью SYSTEM, если хотите.
Вам просто нужно настроить объект групповой политики для создания запланированного задания. Это может помочь: https://www.faqforge.com/windows-server-2016/configure-scheduled-task-item-using-group-policy/